Xv6

xv6は、ANSI Cによる、Sixth Edition Unixのマルチプロセッサx86システムへの再実装である。xv6はMITにおけるオペレーティングシステムエンジニアリング (6.828) コースにて、教育を目的として使われている。

 オペレーティングシステムの目的 
LinuxやBSDとは異なり、xv6は1セメスターで学習するのに十分なほどシンプルであり、Unixの重要な概念と構造を含んでいる
。
このコースでは、オリジナルのV6のコードを学習するのではなく、xv6を使う。それは、PDP-11マシンは簡単には手に入らないし、オリジナルのV6は非常に古いANSI C以前のC言語で書かれているためである。

 セルフドキュメンテーション 
xv6のMakefileの面白い特徴として、ソースコード全体を読みやすい形式で掲載したPDFファイルを生成するオプションを持っていることが挙げられる。
ソースコード全体は、たった92ページであり、これにはクロスリファレンスが含まれている
。
これは、オリジナルのV6のソースコードが、Lions' Commentary on UNIX 6th Edition, with Source Codeとして、出版されたことにちなんでいる。

 教育目的での利用 
xv6は以下の大学のオペレーティングシステムのコースでも使われている。
 ラトガース大学
 イェール大学
 コロンビア大学
 ベングリオン大学
 ジョンズ・ホプキンス大学
 清華大学
 ウィスコンシン大学マディソン校
 リンナエウス大学

 商業での利用 
 TrustKernelによるT6 セキュアカーネルは、ARMにポートされたxv6 OSであり、中国では多くのセキュアフォンで実際に使用されている。

 非公式の拡張 
xv6をARMアーキテクチャへ移植し

仮想記憶をサポートするように拡張する活動がある。
、
また、別のプロジェクトでは、新しいプロセススケジューラー

とネットワーク機能を追加しようとしている
。
また、MITのコースから派生したプロジェクトの多くが、カーネルに新しい機能を追加している。

 参考文献 

 外部リンク 
 xv6 Home page
 git://pdos.csail.mit.edu/xv6/xv6.git Source code for xv6
 Printable version of the xv6 source code, rev7.
 xv6: a simple, Unix-like teaching operating system., xv6 book rev7.
 Operating Systems Engineering (6.828)

Category:Unix系オペレーティングシステム
Category:自由ソフトウェアOS