オランダ Amsterdam 自由大 Andrew Tanenbaum 教授が 1987 年に教育用に開発した UNIX 互換マイクロカーネル OS。Linus Torvalds が Linux を着想したきっかけとして有名、現在も MINIX 3 として継続中の研究 OS。
MINIX(ミニックス、Mini-UNIX)は、オランダ Amsterdam 自由大学(Vrije Universiteit Amsterdam)の Andrew Tanenbaum(アンドリュー・タネンバウム)教授が 1987 年に教育用に開発した UNIX 互換のマイクロカーネル OS です。当時 AT&T UNIX のソースコードが大学教育に使えなくなった(1984 年の AT&T 分割でライセンス料が高騰)状況を受け、Tanenbaum 教授が学生に OS の中身を教えるために、UNIX V7 互換のシステムコールインターフェースを持つ完全自作の OS としてゼロから開発したものです。
著書「Operating Systems: Design and Implementation」(1987 / Prentice Hall)の付録としてソースコードが公開され、当時 IBM PC / 互換機 + 5.25 インチフロッピーで動作する小さな UNIX 互換 OS として大学のコンピュータサイエンス授業で広く採用されました。この本と MINIX のソースが、フィンランドの学生 Linus Torvalds(リーナス・トーバルズ、当時 21 歳)が 1991 年に Linux 開発を着想する直接のきっかけとなったことで歴史的に有名です。
実際、1992 年 1 月にコンプ・サイエンス系 Usenet ニュースグループ comp.os.minix で Tanenbaum と Linus Torvalds の間で繰り広げられた「Linux is obsolete」論争(Tanenbaum はマイクロカーネル設計が正しいと主張、Linus はモノリシック Linux を擁護)は、OS 設計史における伝説のフレームウォーで、現在もインターネット上で資料が読めます。
技術的にはマイクロカーネル設計を採用し、ファイルシステム / プロセス管理 / メモリ管理 / ネットワークなどがすべてユーザースペースのサーバプロセスとして動作する純粋設計で、教育的・研究的に優れていました。MINIX 1.0(1987)→ 1.5(1990)→ 2.0(1997)→ 3.0(2005、教育用から実用 + 商用利用可能ライセンスに変更)→ 3.1(2006)→ 3.2(2012)→ 3.3(2014)→ 3.4(2017)→ 3.4.0rc6(2024)と進化を続けています。
意外な事実として、Intel ME(Management Engine、Sandy Bridge 以降の x86 CPU 内蔵セキュリティチップ / リモート管理機能)の OS が MINIX 3 をベースとした実装であることが 2017 年に明らかになり、世界中の数十億の Intel CPU マシンに MINIX が組み込まれている事実が話題になりました。
| 版 | 公開年 | 主な特徴 |
|---|---|---|
| 1.0 | 1987 | 初版、5.25" FD 対応 IBM PC |
| 1.5 | 1990 | 改良版、HDD 対応 |
| 2.0 | 1997 | POSIX 部分対応 |
| 3.0 | 2005 | BSD ライセンス、実用化 |
| 3.4 | 2017 | NetBSD 互換性向上 |
| 3.4.0rc6 | 2024 | 最新開発版 |
MINIX 3 は現在も Tanenbaum 研究室で開発継続中で、無料・BSD ライセンスでダウンロード可能です。x86 / ARM 版があり、VirtualBox / VMware / 実機で動作します。OS 設計学習・マイクロカーネル研究・組込開発の教材として優れた選択肢です。
注意点として、MINIX 3 は実用日常用 OS ではなく研究用 OS の性格が強く、ブラウザ / Office / 動画再生は限定的です。Linux / FreeBSD / OpenBSD と比較すると圧倒的にアプリ不足で、研究 / 教育 / 組込以外の用途は推奨されません。Tanenbaum 教授の著書「Operating Systems: Design and Implementation」は OS 設計の最良の教科書のひとつとして読む価値があります。
Q1: MINIX が Linux を生んだとはどういう意味ですか? A: 1991 年フィンランドの学生 Linus Torvalds が、MINIX を使いながら「もっと使い物になる UNIX 互換 OS が欲しい」と考え、独自にカーネルを書き始めたのが Linux の起源です。MINIX のソースを参考にしたわけではなく、設計思想と動機を MINIX から得たという意味です。
Q2: Intel ME が MINIX なのは本当ですか? A: 本当です。2017 年に Black Hat / DEF CON 等のセキュリティ研究で Intel ME(x86 CPU の Sandy Bridge 以降に内蔵)の OS が MINIX 3 ベースであることが判明しました。世界中の数十億個の Intel CPU 内に MINIX が組み込まれている計算になります。
Q3: マイクロカーネル設計とは何ですか? A: OS の基本機能(プロセス管理 / メモリ管理 / IPC)のみカーネルに残し、ファイルシステム / デバイスドライバ / ネットワーク等をユーザー空間のサーバプロセスとして実装する設計です。安定性 / 拡張性に優れますが、性能は伝統的にモノリシック(Linux 等)より劣るとされてきました。