るびー めも

Ruby の学習メモを記す

UNIX 6th x86 実装(xv6) の学習準備

前回の記事にて、以下の基礎学習を目的とした施策を検討しました。

UNIX/C を勉強するなら、ソースコード読めって言われるかと思われますが
最近だと、こんな書籍が出版されているんですね。

はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ (Software Design plus)

ただ、この書籍は VAX/PDP-11 アーキテクチャかつ
古の K&R 記法(C言語)のソース読もうって趣旨みたいです。

「はじめてのOSコードリーディング」という本を出版します - やる気のないはてだ(A boring diary)

ただ、今回の趣旨とは少しはずれてしまうので x86 アーキテクチャ
シンプルな UNIX のソース無いかな〜って探してたら、、、

ありましたよ、こんなページが

Xv6, a simple Unix-like teaching operating system

MIT の授業で使われているソースらしく、x86 にポーティング済。

xv6 で調べると、同じようにソースリーディングした先人のメモが
ちらほら見つかるので題材としては、良質なコードと理解しました。

xv6ソースコードリーディング | 日曜研究室

MIT のサイトで、git で取得出来るって書いてたけど出来なかったので
すこし調べてみると github にありました。

https://github.com/heapsource/xv6.git

カーネルが、どうやって boot してくるかとかそのあたりも理解したいので
迷わず以下の書籍を注文しました。

はじめて読む8086―16ビット・コンピュータをやさしく語る (アスキーブックス)
はじめて読む486―32ビットコンピュータをやさしく語る

#486本は、既に持っていてひと通り読んでいたんですが
#8086 本持ってなかったので、基礎から始めるために 8086 本を購入しました。

xv6 のソースを、ひと通り理解できれば個人的な施策は成功のはず
頑張って基礎学習しましょう。