xv6の紹介

xv6とは

xv6は、MITで教材用に作られたコンパクトなOSです。 他のいくつかの大学でも使われているようです[xv6 - Wikipedia]。

ANSI Cで書かれ、x86で動きます。マルチコアにも対応もしているようです。

ソースコードはGitHubでMITライセンス下で公開されています。 PDF版もあります。 xv6のコードと、OSの重要概念の解説や、 MITでの授業で使われた資料も入手できます。

xv6のビルド

macOS 10.11.6上のQEMU上で動かします。

macOSはx64でELFじゃないので、xv6のビルド・実行にはクロスコンパイルが必要です。 環境構築についてはこちらの方法がたいへん参考になります。 Homebrewを使う方法は依存関係がコンフリクトしていると言われ出来なかったので、binutilsとgccをビルドしました。