Xv6

xv6
xv6 を起動後、"ls" コマンドを実行した画面
開発者 MIT
プログラミング言語 C
OSの系統 Unix系
ソースモデル フリーソフトウェア / オープンソース
最新安定版 rev8 / 2014年8月29日 (9年前) (2014-08-29)
使用できる言語 英語
プラットフォーム マルチプロセッサ Intel x86
カーネル種別 モノリシック
既定のUI コマンドラインインタフェース
ライセンス MIT License
ウェブサイト pdos.csail.mit.edu/6.828/2016/xv6.html
テンプレートを表示

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

オペレーティングシステムの目的

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

セルフドキュメンテーション

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

教育目的での利用

xv6は以下の大学のオペレーティングシステムのコースでも使われている。

商業での利用

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

非公式の拡張

xv6をARMアーキテクチャへ移植し [12] 仮想記憶をサポートするように拡張する活動がある。 [13]、 また、別のプロジェクトでは、新しいプロセススケジューラー [14]ネットワーク機能を追加しようとしている [15]。 また、MITのコースから派生したプロジェクトの多くが、カーネルに新しい機能を追加している。

参考文献

  1. ^ “Xv6, a simple Unix-like teaching operating system”. 2010年2月5日閲覧。
  2. ^ “xv6 source listing” (pdf). 2011年10月15日閲覧。
  3. ^ “01:198:416: Operating Systems Design”. 2010年2月5日閲覧。
  4. ^ “CS422/522: Operating Systems, Spring 2010 — Overview”. 2010年2月5日閲覧。
  5. ^ “COMS W4118: Operating Systems I, Fall 2013”. 2013年9月9日閲覧。
  6. ^ “Operating Systems - 2012/Spring - Main”. 2012年3月26日閲覧。
  7. ^ “600.318/418: Operating Systems”. 2010年2月28日閲覧。
  8. ^ “FrontPage - OS Teaching Wiki”. 2010年3月18日閲覧。
  9. ^ “CS-537: Introduction to Operating Systems”. 2011年11月4日閲覧。
  10. ^ “1DV201: Operating system”. 2013年3月14日閲覧。
  11. ^ “T6: TrustZone Based Trusted Kernel”. 2015年1月12日閲覧。
  12. ^ “xv6-on-arm”. 2009年1月22日閲覧。
  13. ^ “xv6-vm”. 2009年1月22日閲覧。
  14. ^ “xv6sched”. 2009年1月22日閲覧。
  15. ^ “os-xv6-network”. 2012年5月8日閲覧。

外部リンク

  • 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)