読者です 読者をやめる 読者になる 読者になる

がべーじこれくしょん

技術系とかいろいろ

【1日目】30日OS自作入門

とりあえず1日目です。

本をざっと読んでみたのですが、やはりWindows向けに書かれていました。

自分が持っているのはMacなので、早くも詰みました。困りましたね。

そんなところで検索すると環境構築をしている方がいらっしゃいました。感謝…感謝…

github.com

CD-ROMから該当するファイルを引っ張ってきて、上記サイトにかかれていたシェルスクリプトを実行し、環境構築完了。

地獄のバイナリ手打ち大会(helloos0)

毎度おなじみ「世界へこんにちは」から入りました。

しかし、これがかなりきつい。

CDにはすでに完成されてたhelloos.imgが用意されていましたが、試しに自分で作成してみました。

バイナリを読むのはCTF等で機会が山ほどあったのでなんともないのですが、まさか書くことになるとは…

正直かなりきつかったです。

でもこうやって昔の人はOSを手組してたと考えると今の時代はかなり楽しちゃってるなあ…とも思います。

アセンブラに書き換える大会(helloos1)

先程のコードをアセンブラのコードに書き換えるセクションでした。

筆者お手製のnaskというアセンブラを使って先程のコードを書き換えます。

本に書いてあるとおり、まだ手で打てるレベルだったので多少は楽になりました。

アセンブラの恩恵を初めて直に受けられた気がしました(?)

アセンブラのコードを最適化する大会(helloos2)

先程のアセンブラのコードをもう少し文法的にわかりやすく書き換えるセクションでした。

FAT12フォーマットに関する説明がアセンブラのコードと一緒に説明されていました。

FATっていう名前久々にきいたな…(林檎並感)

ここまできて、今まで作ってきたプログラムはブートセクタに入ってて、本来はここにbootstrapのプログラムが入ってるということがわかりました。

1日目…意外と濃い…