低レイヤー学習記【10日目】
取り組んだ内容
・OS自作入門,pp.175-193
取り組んだ内容の詳細
・キーボードやマウスからの信号受け取りやハンドラの設定によってソースファイルが大きくなりすぎたため,分割した
・メモリチェックを行った,キャッシュを停止することでメモリ操作が維持されているかどうかを確認した
・メモリチェック用のプログラムをコンパイルした際に生成されるアセンブリソースを見ると想定していた内容と異なっていた,これはコンパイラの最適化が働いてしまいメモリチェックのために記述していたメモリ内容の反転処理などを勝手に省略していたことに起因する
・上記の問題を解消するためにメモリチェック処理の一部を最初からアセンブリで書いた
・メモリ管理を始めた,メモリ管理の方法が少し動的計画法ぽかった,開始番地とサイズで記録するかんじ
所感
OSらしい機能の話になってきました.メモリ管理については低レイヤー界隈でよく出てくる話題であるだけに早く理解したいが,今回取り組んだ内容は結構難しかった.復習したい.ただメモリ管理のアイデア自体はけっこうシンプルな印象.分割して記憶されているメモリの空き領域について重複部分があれば結合させるなど,意外と古典的なアルゴリズム.
余談
なんと昨日の投稿を忘れてしまっていました.10日目にして早速企画倒れです.過ぎたことを気にしていてもしょうがないので気を取り直してまた明日から頑張っていきます!