ツールを集める

 1からOSを作る場合にもとりあえずツールがいる。私は残念ながら普段Windowsユーザなので、Windowsで使えるツールを中心に集める。マシンと通信料以外にお金は掛からないので安心して欲しい。ただし時間は掛かるかもしれない。

Cygwin

 Cygwinとは、Windows上にGNU/Linuxの環境を作ってしまおうというツールの集合だ。これを入れると、Windows環境でUnix系ツールを色々使えてしまう。GCCやmakeはもちろん、その気になればApachePostgreSQLも運用できるらしい。
 どうしてCygwinを使うのかというと、OSとかソフトのコアな部分に触るためのツールを一緒にまとめて入手できるからだ。特にGCCBinutilsという実行ファイル(バイナリ)を色々やるためのツールが手に入るのが大きい。
 CygwinのWebサイトで専用のインストーラを落として実行すると、必要なツール・ライブラリを選んでインストールできる。ツリー表示されたパッケージの中からDevel/binutilsとDevel/makeにチェックを入れる。あと私はD言語を使うのでDevel/gcc-gdcにもチェックを入れる。nasm(アセンブラ)を使う人はそれにもチェックを入れる。後は多分デフォルトのままでいいんじゃないかな。

GDC

 GCCD言語フロントエンドで、Cygwinにも一応含まれているけどバージョンが古いため開発元から最新版を取ってくることにする。コンパイル済みのものが用意されていたので、それを落としてきて解凍して適当に上書きしたらちゃんと動いた。(それでいいのか?)

エディタ

 プログラムを書くにはエディタが要る。基本的にテキストが書ければなんでもいい。玄人ならCygwinでインストールできるvimemacsを使うだろう。私は玄人ではないのでWindows用エディタのサクラエディタを使う。UTF対応だし軽くて使いやすい、おまけにオープンソースだからだ。

QEMU

 QEMUとはフリーのエミュレータだ。エミュレータというのは最近流行の仮想マシンで、つまりコンピュータの中でもうひとつ仮想のコンピュータを動かすことができる。
 まったく新しいOSを作る場合、何も入っていないまっさらなコンピュータが必要になる。別に実機を用意してもいいのだけど、置き場所がなかったり暴走した時にリセットする(そういう機会はたくさんある)のが面倒だったりする。そこでエミュレータを使って済ませれば手軽だし楽だ。それにエミュレータなら、メモリの中身やCPUの状態をモニタできたりする。便利だ。