技術

[xv6 #0] xv6ソースコードリーディングの準備

継続的にブログを更新するネタとしてxv6という教育用OSのソースコードを読んでいき、その感想をメモ書き程度につらつらと書いていきたいと思います。

Xv6とは?

Xv6, a simple Unix-like teaching operating system(英語)
xv6 – Plan9日記(日本語)

とりあえずビルド

ソースに変更を加えて動作確認しようとかは思ってませんが、とりあえずどんなものか知るために動かしてみます。
Xv6 on VirtualBox – Plan9日記(参考)

ビルド用のOSにはFedora 16 x86(on VMware Player on Windows 7 x64)を使いました。
ビルドに必要な物は以下のコマンドで入れました。

yum groupinstall 開発ツール
yum install qemu

gitで適当なディレクトリにソースを落とした後、

make qemu

を実行するとビルドが終わった後いきなり自動的にxv6がqemuで起動しました。

起動直後にlsコマンドを実行した結果。

$ ls
.              1 1 512
..             1 1 512
README         2 2 1927
cat            2 3 9535
echo           2 4 9052
forktest       2 5 5869
grep           2 6 10695
init           2 7 9417
kill           2 8 9052
ln             2 9 9054
ls             2 10 10605
mkdir          2 11 9113
rm             2 12 9098
sh             2 13 16441
stressfs       2 14 9588
usertests      2 15 37583
wc             2 16 9861
zombie         2 17 8842
console        3 18 0
$ 

UNIX V6を元にしてるだけあってUNIXって感じですね。
見慣れた名前のコマンドがありますね。
だいたい予想通りの動きです。

ビルドによってxv6.imgとfs.imgというxv6のブートローダとファイルシステムのディスクイメージが出来上がってるので、この2つのディスクイメージをqemu-imgでvmdkにコンバートすることによってVMware Playerでも起動しました。
ディスクイメージは2つとも割り当て、xv6.vmdkから起動するように設定することで起動しました。

予定

ソースコードは以下のテキストを元に読んでいきます
xv6, a simple, Unix-like teaching operating system(PDF)

ざっとテキストを見た感じ、ソースコードを参照するような記述はあまり多く含まれてないようなので、ソースコードリーディングというよりテキストの読書感想文みたいになるかもしれません。

コメントを残す

メールアドレスが公開されることはありません。



※画像をクリックして別の画像を表示