UNIX 6th x86 実装(xv6) の学習準備
前回の記事にて、以下の基礎学習を目的とした施策を検討しました。
- UNIX (自分の UNIX 力が低いことにガッカリする時がおおい)
- C言語(ブラックボックスの製品サポートなので、ソースを読む機会がない)
- x86 アーキテクチャ(Linux 製品のサポートが始まると必要かもしれない)
UNIX/C を勉強するなら、ソースコード読めって言われるかと思われますが
最近だと、こんな書籍が出版されているんですね。
ただ、この書籍は VAX/PDP-11 アーキテクチャかつ
古の K&R 記法(C言語)のソース読もうって趣旨みたいです。
「はじめてのOSコードリーディング」という本を出版します - やる気のないはてだ(A boring diary)
ただ、今回の趣旨とは少しはずれてしまうので x86 アーキテクチャの
シンプルな UNIX のソース無いかな〜って探してたら、、、
ありましたよ、こんなページが
Xv6, a simple Unix-like teaching operating system
MIT の授業で使われているソースらしく、x86 にポーティング済。
xv6 で調べると、同じようにソースリーディングした先人のメモが
ちらほら見つかるので題材としては、良質なコードと理解しました。
MIT のサイトで、git で取得出来るって書いてたけど出来なかったので
すこし調べてみると github にありました。
https://github.com/heapsource/xv6.git
カーネルが、どうやって boot してくるかとかそのあたりも理解したいので
迷わず以下の書籍を注文しました。
#486本は、既に持っていてひと通り読んでいたんですが
#8086 本持ってなかったので、基礎から始めるために 8086 本を購入しました。
xv6 のソースを、ひと通り理解できれば個人的な施策は成功のはず
頑張って基礎学習しましょう。