OSを作ろう
自分自身の手でOSを作ってみませんか?
マイコンのOS
古川 享さんのブログのこの記事を見て、MDOSというOSがあったことを知る。
今でこそOSと言えばマルチタスクが当たり前だけど、当時プログラムをいくつも同時に動かすことが出来るのはメインフレームのOSぐらい。マイコンで本格的なOSを動かすことは、憧れだったなあ。UNIXはあったけど、まだマイコンはそれを動かすほどのパワーを持っていなかったし、ITRONはまだ存在していなかった。
カーネルとの出会い
コンピュータを始めたころのOSはBASIC。当時はBASICがOSでありBIOSでありシェルであり処理系だった。なので、最初はコンパイラなどの処理系を作りたいと思ってた(今も作りたいと思っているけどね)
OSへの憧れはあったものの、OSは非常に複雑で巨大なものであり、個人が作るものではないと思っていたのだが、その気持ちが変わり始めたのは、UNIXに触れてから。
UNIXはそれまで複雑怪奇と思っていたOSへの恐怖を消してくれた。それはカーネルやシェル・アプリケーションも含めて、とてもシンプルな思想で作られていて、分かりやすかった。OSが怪物から普通の人になった、って感じ!?
さらにUNIXはカーネルの楽しさも教えてくれた。メモリ管理、プロセススケジューラ、ファイルシステム、ローダー、などなど。それはマイコンしか知らないぼくにとって、かなりインパクトのあるものだった。
それ以来OSカーネルのファンです。ソフトウェアの中でもハードウェアに近いところが好き。将来は自分で設計したOSをコンピュータ上で動かすのがぼくの夢です。
OSのすすめ
現在のプログラミング環境はハードウェアどころか、Nativeのコードすら走らなくなってきています。ローカルのコンピュータだけじゃなくて、サーバ上で走るアプリケーションも増えてきているのは皆さんご存じの通り。そんな中、ハードウェアに近い部分のプログラミング知る必要はどんどん減ってきているかもしれません。
でも、OSやドライバなど、ハードウェアに近い部分のソフトウェアの楽しさを知る人が、もっと増えて欲しいと思います。泥臭い部分もありますけど、アプリケーション作成とはまた違った楽しさがあるんです。
OSカーネルの好きな、おじさんプログラマの戯言でした。