9日目「メモリ管理だよ〜、なんかいかにもOS作ってるって雰囲気だよ〜」

A「お前、最近どんなプログラム書いた?」
B「ん? 最近はちょっとしたOSのメモリ管理プログラムを書いたよ」
 こんな会話をしたら周りからすごいやつだと思われそう…、と、完全に不純な動機まるだしで9日目を読み進めてきましたが(ぉぃ)、まぁそれくらいメモリ管理って難しいイメージありますよね(ない? あるよな?)。ただ、結局はメモリを管理するだけなので、メモリを管理できればいいわけで(そのままだけど)。つまりは、どこぞの天才プログラマが考えるような、そんな小難しいことは俺みたいなやつには理解できないわけで、そんな分からんもんに何日もかけてる時間もないわけで、そんなもんはお前らで勝手にやっててくださいって話なのですよ。こっちは毎日働くので精一杯なのですよ。生きるので精一杯なわけですよ。ただの一般プログラマには、お金もなければ時間もないわけですよ(涙)。だから、なんかすごい複雑で高度なメモリ管理方法とかを知る必要もないわけですよ。というよりも、できればむちゃくちゃ簡単な、それこそ3分クッキング風味なメモリ管理方法で十分なわけですよ。それを教えて欲しいわけですよ。それこそが知りたいわけですよ。
 なのにだ。なんでいろいろなBBSとかで「メモリ管理について知りたいんですけど」って書き込むと、全然ワケワカラン返信が返ってくるんだよ、このやろ〜。こっちは普通の人なんだよ。一般ピープルなんだよ村人Aなんだよ。じゃあ、お前ら何か? 村人Aに天空のつるぎの使い方を教えるのか? それで敵が倒せるのか? ピサロが倒せるのか? 世界を平和にできるのか? できるわけねーだろが〜。せいぜい、こんぼうでスライム倒すのが関の山だ。だがな、俺はスライムが倒したいんだよ、スライムこそが俺の本当の敵なんだよ。真の敵はスライムだったんだよ(ピキッー、ぼくはわるいスライムじゃないよ)。
 というわけでだ、俺は本書に書かれてあるようなメモリ管理方法の解説はとてもよいと思う。小難しいことはすっ飛ばしてるからかなり分かりやすいし、なるべく初心者に向けて書かれてある。著者のこういう「とりあえず動くものを作ろう」というスタンスは何かとても共感できる。難しいことなんてあとからどうとでも学べばいいわけで、とりあえずは動かなければ楽しくない。
 それで、結局はメモリ管理というものは、○○番地から××バイトだけ空きがあるよーん、という情報の表みたいなものでOKなのだ。だから、その表をプログラムで作るだけでとりあえずは問題ないのだ。んで、それだけならば、実は結構簡単に作ることができる。要するに、メモリを開放するときに、そのメモリ領域の前後に空きのメモリ領域が存在するかどうかを調べて、存在するならそれらと合体させる。そのような仕組みを作るだけでなんとかなりそうだ。というわけで、今日のセイカブツは→本当に30日でOSが出来上がるのかを試してみるページだ。メモリ管理ってかなり難しそうなイメージを持っていたけど、実際にやってみると結構ちゃんと理解できて良かった。
 しかも確実に楽しいと感じる度合いが増えてきている。こ、これは…、いったい……。明日はマウスの重ね合わせ問題を攻略するようだ。なんか少しずつテンション上がってきたぞ。
 明日も乞うご期待!