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

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
テンプレートを表示

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

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日閲覧。

外部リンク 編集