Minix
テンプレート:Infobox OS Minix(ミニックス)とは、1987年にオランダ・アムステルダム自由大学(テンプレート:Lang-nl-short)の教授であるアンドリュー・タネンバウムが、オペレーティングシステム (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ライセンスを採用している。
Linuxとの関係
Minixの「実用を目的としない」というポリシーに対し、ニュースグループ comp.os.minix において、リーナス・トーバルズをはじめとするメンバーを中心にMinixを実用に耐えるOSにしようという試みが提示され、タネンバウムと論争が起こった(アンドリュー・タネンバウムとリーヌス・トーヴァルズの議論)[2]。しかし、タネンバウムは新たな機能を追加するつもりはなかったので、リーナス・トーバルズは新たにOSを作ることを決断し、1991年10月にはついにLinux version 0.02がリリースされるに至った。
結果として、後発のLinuxやFreeBSDの方が広く普及することとなったが、Minixのソースコードはコンパクトで初学者にも読みやすく、教材としての目的は十分に達しているといえる。