Minix
MINIX 3.1.2a
|
|
| 開発元企業 / 開発者 | アンドリュー・タネンバウム |
|---|---|
| OSの系統 | Unix系 |
| 開発状況 | 開発継続中 |
| ソースモデル | オープンソース |
| 最新安定版リリース | 3.3.0 / 2014年9月16日 |
| カーネル種別 | マイクロカーネル |
| 既定のユーザインタフェース | ash |
| ライセンス | BSDライセンス |
| ウェブサイト | http://minix3.org/ |
Minix(ミニックス)とは、1987年にオランダ・アムステルダム自由大学(蘭: Vrije Universiteit Amsterdam)の教授であるアンドリュー・タネンバウムが、オペレーティングシステム (OS) の教育用に執筆した著書 Operating Systems: Design and Implementation の中で例として開発したUnix系のオペレーティングシステム (OS) である。
歴史[編集]
UNIXのソースコードがAT&Tのライセンス問題により非公開になった[1]ため、OSの教材用にUNIX version 7の互換システムを再設計したものである。機能上新しさはないが、マイクロカーネル構造を採用するなど、モダンな洗練が行われている。元々IBM PCを対象に実装されたが、その後Atari、Amiga、Macintosh、SPARCなどにも移植された。
特徴[編集]
初期のバージョンは非常にコンパクトであり、フロッピーディスクでの運用もできた。2005年にリリースされたMinix 3では動作にハードディスクを要するものの、割り込みハンドラ、プロセススケジューラ、プロセス間通信機能などを含むマイクロカーネル本体のソースコードは4000行弱に抑えられている。なお、VMwareやBochsなど仮想マシンでも動作する。
1987年のリリース当初からすべてのコードは公開されていたがオープンソースではなかった。これは出版社であるPrentice Hallの意向と、タネンバウム自身による「Minixはあくまで教育用のホビーであり、実用が目的ではない」という考えによる。とりわけ特徴的なのは、Minixには仮想記憶が実装されていなかったことである。なお、ライセンスは2000年に変更されて、過去のソースコードも含めてBSDライセンスが採用されるようになった。
バージョン 3.2.0 からはNetBSDとの親和性を深め、コンパイラ、ブートローダー、ユーザーランドの置き換えを順次進めている。
Linuxとの関係[編集]
Minixの「実用を目的としない」というポリシーに対し、ニュースグループ comp.os.minix において、Minixを実用に耐えるOSにしようという試みが提示された。しかし、タネンバウムは機能を追加することに否定的だったため、リーナス・トーバルズは新たにOSを作ることを決断し、1991年10月にはついにLinux version 0.02がリリースされるに至った。
これに対し、タネンバウムはLinuxの設計に対する批判を展開し、論争が起こった(アンドリュー・タネンバウムとリーヌス・トーヴァルズの議論)[2]。
結果として、後発のLinuxやFreeBSDの方が広く普及することとなったが、Minixのソースコードはコンパクトで初学者にも読みやすく、教材としての目的は十分に達しているといえる。
脚注[編集]
関連項目[編集]
参考文献[編集]
- Andrew S. Tanenbaum; Albert S. Woodhull (2005). Operating Systems: Design and Implementation (Third Edition ed.). Prentice Hall. ISBN 978-0-13-142938-3.
- A.S. タネンバウム、A.S. ウットハル 『オペレーティングシステム 設計と理論およびMINIXによる実装』 千輝 順子、今泉 貴史、ピアソンエデュケーション、1998年、第2版。ISBN 978-4-89471-047-4。
- A.S. タネンバウム 『オペレーティングシステム』 吉澤康文, 木村信二, 永見明久, 峯博史、ピアソンエデュケーション、2007年、第3版。ISBN 978-4894717695。