OS自作入門

前回、カーネル・シェル(OS)について自分なりの理解を抽象的ではあるが書いてみた。OSについてググッてみると、

(1)キーボード入力や画面出力といった入出力機能やディスクやメモリの管理など、多くのアプリケーションソフトから共通して利用される基本的な機能を提供し、コンピュータシステム全体を管理するソフトウェア。

(2)ソフトウェアの開発者は、OSの提供する機能を利用することによって、開発の手間を省くことができ、アプリケーションの操作性を統一することができる。また、ハードウェアの仕様の違いはOSが吸収してくれるため、あるOS向けに開発されたソフトウェアは、基本的にはそのOSが動作するどんなコンピュータでも利用できる。

などの説明がある。なんとなく理解出来るのだが、一度もOSのプログラムを見たことがないので、「どのようなプログラムで、どのようにハードを制御しているのが」全く想像できませんでした。しかし、具体的なOSのプログラムといって、現在の高度なOS(WindowsLinux)をいきなり見ても到底理解出来るとも思えない。なにか原始的なプログラムで、解説もしっかりしている本はないかなーっと思って調べてヒットしたのがこの本でした。

30日でできる! OS自作入門

30日でできる! OS自作入門

実際は、30日間はかけずパラパラと一度通し読みをした後Chapter7までをゆっくりやっただけです。Chapter7までだと、キーボードとマウスからの入力を画面に表示するまでの単純なプログラムを書けるだけである。しかし、こうやって今もPCの前に座って文字を入力している動作で、CPUがどのように動いているのかを意識出来るようになったのは、ものすごく嬉しいことです。この本に感謝です。

なお、この本の評価はamazonのレビューで意見が分かれています。批判的な意見「表現が稚拙、実際のOSとは全然違う」はこの本の著者も十分理解の上であることが最終章31を読めばわかります。人の揚げ足を取るようなコメントはあまり好きではないです。批判は、あくまで「建設的」であってほしいと思います。