xv6
表示
xv6 を起動後、"ls" コマンドを実行した画面 | |
開発者 | MIT |
---|---|
プログラミング言語 | C |
OSの系統 | Unix系 |
ソースモデル | フリーソフトウェア / オープンソース |
最新安定版 | rev8 / 2014年8月29日 |
使用できる言語 | 英語 |
プラットフォーム | マルチプロセッサ Intel x86 |
カーネル種別 | モノリシック |
既定のUI | コマンドラインインタフェース |
ライセンス | MIT License |
ウェブサイト |
pdos |
xv6は、ANSI Cによる、Sixth Edition Unixのマルチプロセッサx86システムへの再実装である。xv6はMITにおけるオペレーティングシステムエンジニアリング (6.828) コースにて、教育を目的として使われている。
オペレーティングシステムの目的
[編集]LinuxやBSDとは異なり、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のコースから派生したプロジェクトの多くが、カーネルに新しい機能を追加している。
参考文献
[編集]- ^ “Xv6, a simple Unix-like teaching operating system”. 2010年2月5日閲覧。
- ^ “xv6 source listing” (pdf). 2011年10月15日閲覧。
- ^ “01:198:416: Operating Systems Design”. 2010年2月5日閲覧。
- ^ “CS422/522: Operating Systems, Spring 2010 — Overview”. 2010年2月5日閲覧。
- ^ “COMS W4118: Operating Systems I, Fall 2013”. 2013年9月9日閲覧。
- ^ “Operating Systems - 2012/Spring - Main”. 2012年3月26日閲覧。
- ^ “600.318/418: Operating Systems”. 2010年2月28日閲覧。
- ^ “FrontPage - OS Teaching Wiki”. 2010年3月18日閲覧。
- ^ “CS-537: Introduction to Operating Systems”. 2011年11月4日閲覧。
- ^ “1DV201: Operating system”. 2013年3月14日閲覧。
- ^ “T6: TrustZone Based Trusted Kernel”. 2015年1月12日閲覧。
- ^ “xv6-on-arm”. 2009年1月22日閲覧。
- ^ “xv6-vm”. 2009年1月22日閲覧。
- ^ “xv6sched”. 2009年1月22日閲覧。
- ^ “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)