「Linuxは時代遅れだ」
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/05/09 05:45 UTC 版)
「アンドリュー・タネンバウムとリーヌス・トーヴァルズの議論」の記事における「「Linuxは時代遅れだ」」の解説
この議論の発端は、1992年1月29日であったと記録されている。この日にタネンバウムは、Linuxカーネルについての初めての批判をUsenet (ネットニュース) のニュースグループ comp.os.minix に投稿した。この投稿では、モノリシックカーネルの設計方式はオペレーティングシステムにとっていかに有害でその能力を失わせるかを、述べていた。タネンバウムは、この投稿に“Linux is obsolete” (「Linuxは時代遅れだ」) という題名をつけた。タネンバウムは、この最初の投稿では、なぜ自分がマイクロカーネルの設計方式がモノリシックカーネルより優れていると感じているかについては、あまり詳細には説明しなかった。しかしタネンバウムは、マイクロカーネルが移植性と強く関連していると述べ、Linuxカーネルとx86系列のプロセサとの関係が密接過ぎているためLinuxカーネルの移植性が損なわれていると主張している。またタネンバウムは、1991年にモノリシックカーネルを作ることは、「1970年代への大いなる後退」であると、述べている。 タネンバウムによる批判がニュースグループに投稿されたとき、トーヴァルズはこの批判に対して直接に返信することができた。半日後にトーヴァルズは実際に返信した。トーヴァルズはこの返信で、MINIXには設計について固有の欠点があると主張した。欠点の一つとして挙げたのは、ある特定の状況におけるマルチスレッディングの欠如である。トーヴァルズは、「理論的および美的」な観点に立てばマイクロカーネルの設計がモノリシックカーネルより優れていると認識していると、述べた。トーヴァルズはまた、自分が自由になる時間を使ってLinuxを開発し、Linuxを誰もが自由に無償で使えるように公開したことを、強調した。なおMINIXは、この時点では誰もが自由に無償で使えるようにはなっていなかった。さらにトーヴァルズは、特に Intel 80386 向けにLinuxを開発したと述べた。それは単に、Intel 80386 アーキテクチャについてより深く学ぶことができるようにするための、自分の個人的なプロジェクトを行っていたからであった。こうした事情からトーヴァルズは、Linuxはカーネル自体は移植性の面でMINIXより劣っていると述べたが、一方で移植性のあるアプリケーションプログラミングインタフェース (API、システムコール) がLinuxの設計原則であるとも述べた。この設計原則に従うことで、Linuxの設計を簡潔にすることができたとしている。このような理由から、トーヴァルズは「LinuxはMINIXより移植性が高い」と述べた。 トーヴァルズの返信に応じてタネンバウムは、MINIXのいくつかの制限は自分が教授であることに関係していると、述べた。MINIXのシステムには、平均的な学生が使うような資源の少ないハードウェア上でも動作することができることという、要件がある。タネンバウムは、Intel 8088 を基にしたコンピュータに言及した。Intel 8088 を基にしたコンピュータは、ハードディスクを備えていない場合がある。Linuxは、その当時は Intel 80386 に特化して構築されていた。Intel 80386 は、Intel 8088 と比べて非常に性能が高くまた値段も高いプロセサであった。こうした事情について、タネンバウムは次のように述べた。「 [...] 約1年前の時点では、[MINIXには] 2つのバージョンがありました。PC (360KB ディスケット) 向けのバージョンと、286/386 (1.2MB ディスケット) 向けのバージョンです。PC向けのバージョンは、286/386 向けのバージョンと同じかあるいはその2倍売れていました。」タネンバウムは、Linuxは自由に無償で使うことができるが、自分が受け持つ学生にとっては採用することができないだろうと、述べた。なぜならタネンバウムの学生は、Linuxを動かすために必要とされるハードウェアを買うことができないであろうからである。そしてMINIXについては、「ハードディスクを備えていない普通の 4.77 MHZ PC 」上で使うことができると、述べた。これに対して Kevin Brown という Usenet のユーザが、タネンバウムはLinuxが386アーキテクチャに密に結びついていることについて論難するべきではないと、述べた。なぜならLinuxは、オペレーティングシステムの設計についての知識が身につかないという事態を避けるために、意識的により良い選択をした結果だからである。Brownは次のように述べた。「 [...] Linuxにおける明確な設計面の目標は、386アーキテクチャに特有な複数の機能を活用することです。それでは肝要なことは正確には何でしょうか?設計面で異なる目標があれば、異なる設計をすることになるということです。」Brownはまた、特に廉価なハードウェア向けにシステムを設計するということは、将来には移植性の問題につきあたるであろうとも、述べた。Linuxがサポートしている新しいハードウェアをMINIXでは十分にサポートできない。こうしたことからLinuxは、新しいハードウェアを実際に所有する人々にとっては良い選択肢となった。こうした事実にもかかわらずタネンバウムは、x86アーキテクチャは将来には他のアーキテクチャの前に敗北するであろうから、自分はLinuxに関係する議論には深く関わる必要はないと、述べた。次のように言及した。「今から5年後には当然ながら情況は変わっていることでしょう。5年後には誰もが自由なGNUを、200MIPSで64MBのSPARCstation-5 [ のコンピュータで ] 動かしていることでしょう。」タネンバウムは、Linuxカーネルはハードウェアの進歩によっていずれ突然に廃れるだろうと述べた。なぜならLinuxは、386アーキテクチャに非常に密接に結びついているからである。このタネンバウムの主張についての詳細は、#外れた予言を参照。 トーヴァルズは、議論をここで終わらせようと試みた。自分は、タネンバウムの最初の投稿に対して過剰に反応するべきではなかったと感じていることと、謝罪するための個人的な電子メールをタネンバウムに対して送るために執筆していることを、述べた。
※この「「Linuxは時代遅れだ」」の解説は、「アンドリュー・タネンバウムとリーヌス・トーヴァルズの議論」の解説の一部です。
「「Linuxは時代遅れだ」」を含む「アンドリュー・タネンバウムとリーヌス・トーヴァルズの議論」の記事については、「アンドリュー・タネンバウムとリーヌス・トーヴァルズの議論」の概要を参照ください。
- 「Linuxは時代遅れだ」のページへのリンク