Tanenbaum-Torvaldsの議論でTanenbaumが間違っていたのはなぜですか?


233

私は最近、OSクラスでTanenbaum-Torvaldsの討論会から読書を割り当てられました。討論では、タネンバウムはいくつかの予測を行います。

  1. マイクロカーネルは未来です
  2. x86が消滅し、RISCアーキテクチャが市場を支配する
  3. (それから5年後)誰もが無料のGNU OSを実行します

議論が起こったとき、私は1歳だったので、歴史的な直観に欠けています。これらの予測がパンアウトされないのはなぜですか?タネンバウムの観点からは、彼らは将来のかなり合理的な予測であるように思えます。何が起こったので、彼らは合格しなかったのですか


189
未来を予測するときは、革新と理想よりもエントロピーと運を優先します。
zzzzBov

18
ここで、ポイント1のいくつかの点をカバーするマラソンの回答を少し書きました。実際、カーネルアーキテクチャの違いを議論するとき、その議論を避けることは非常に困難です。最も甘い皮肉は実際には署名でLinus "my first, and hopefully last flamefest" Torvaldsあり、明らかにそれも実現しなかった:)
ティムポスト

13
私はこれを答えではなくコメントとして残しています(答えになるほど十分に「精巧な」とは思いません):TanenbaumはMicrokernelsが優れていると信じてたの間違っていませんでした。 (どのカーネルで実行されていても)はより良い解決策でした。彼はおそらく、社会的慣性と独占のために、そして効率的なマイクロカーネルが汎用システムに実装するのが簡単ではないために、それが非常に速く起こる(またはまったく起こる)という強い信念を本当に述べた場合、ナイーブでした。(そううん、幸運
njsg

15
Tanenbaumはまったく間違っていません。新しいポストPC時代では、iOSはMachとARMに基づいており、AndroidはL4とARMに基づいています。GNUだけが失いました。
mouviciel

15
@mouviciel:そして​​、GNUはデスクトップでのみ失われました。サーバーとモバイルおよび組み込みは、実質的にすべてGNU独占です。
gbjbaanb

回答:


171

マイクロカーネルは未来です

Linusは彼の議論でモノリシックカーネルのポイントに達したと思います。確かに、マイクロカーネルの研究から学んだいくつかの教訓がモノリシックカーネルに適用されました。Microsoftは、Win32カーネルがマイクロカーネルアーキテクチャであると主張することがありました。教科書のいくつかのマイクロカーネルを見ると、少し伸びていますが、技術的な正当性が主張されていました。

x86が消滅し、RISCアーキテクチャが市場を支配する

デスクトップとサーバーからバックアップする場合、RISCは何らかの方法でプロセッサ市場を支配します。ARM(RはRISCの略)はx86よりも多くのプロセッサで販売されており、使用中のx86プロセッサよりも多くのARMプロセッサがあり、x86コンピューティング容量よりも合計ARMコンピューティング容量があります。今年、単一のARMベンダー(はい、Apple)は、すべてのx86ベンダーを合わせてアウトセルする可能性があります。デスクトップとサーバーのスペースでのみx86が支配的です。Windowsがデスクトップコンピューターの場合は支配的なプラットフォームであり、サーバーの場合はLinuxである限り、これはしばらくの間引き続き当てはまる可能性があります。

これにもパートbがあります。インテルのエンジニアは、命令セットの寿命を縮めるために驚くべき作業を行い、最上位にあるオペコードトランスレーターを使用してRISCコアを作成しました。有力なRISCデスクトップチップメーカーの1つであるIBMと比較してください。IBM は、合理的な時間枠でAppleラップトップ向けの電力効率の高い高性能G5を獲得できませんでした。

(それから5年後)誰もが無料のGNU OSを実行します

さまざまなOSベンダーが、依然としてOSに魅力的な価値提案を提供していると思います。GNUは必ずしもオープンソースコミュニティで最も重要なプレーヤーではないため、オープンソースソフトウェアをより広く採用しても、必ずしもGNU OSに変換されるわけではありません。しかし、そこにはたくさんのGNUのものがあります(たとえば、すべてのMacにはGNUのBashが付属しています。Androidの携帯電話にはおそらくGNUシステムツールがいくつかあります)。表示をデスクトップコンピューターに制限している場合でも、コンピューターエコシステムはTanenbaumの予測よりもはるかに多様であると思います。


8
ポイント3では、Linuxは非常に広く普及しており、おそらく最も使用されているOS、Windows、およびVxWorksがこれに続きます。したがって、ポイント3は真と見なすことができます。3つのうち2つが正しいことを示します。これは、ITが予測不能であることを考えるとかなり良いことです。
deadalnix

11
@deadalnix-デスクトップコンピューターに限定して、3の範囲について明示的に言及するつもりでした。GoogleサーバーファームがLinuxを実行し(実行しますか?)、各ボックスがLinuxカウントにカウントされ、ケーブルモデムがLinuxバージョンを削除したバージョンを実行すると、Androidカウントがカウントされ、Linuxが優勢になります。しかし、時間の経過とともに販売/使用されたARM vs x86プロセッサの素晴らしいグラフを見てきましたが、特に組み込みデバイスを混在させる場合、OS用のグラフは見ませんでした。
ccoakley

6
パート2に関しても、さまざまなx86のモダナイゼーションは、実際にはRISCを数歩上回っており、内部で「マイクロオペレーション」を使って魅力的なことを行っています。 RISCの支持者が夢見ることができるものを超えています。RISC CPUもこれを取得できますが、現時点ではRISCとCISCを比較するのではなく、ハードウェア内のさまざまなJIT戦略をかなり抽象的なISAフロントエンドと比較しています。
ふわふわ

5
@KonradRudolphは、Google経由の総売上の引用を再現:2009年に出荷された30億ARMチップ(vanshardware.com/2010/08/mirror-the-coming-war-arm-versus-x86)、2011年に推定 4億x86チップが販売されました(ここで報告される四半期の4倍の数値:computerworlduk.com/news/it-business/3345299/…)。組み込み市場は巨大であり、ほとんどがインテル以外です。
ccoakley

5
Tanenbaumが意図した意味で、ポイント3が真実だとは思わない。当時、GNU HURDについては多くの楽観主義がありました。Linux(任意のバリアント)をGNU OSの勝ちと主張することは、歴史的に有効ではありません。ユーザースペース?承知しました。しかし、ある意味Linuxでは GNUにもかかわらずカーネルが勝ちました。
レギュラーフライ

60

ソフトウェアの専門家はハードウェアの経済性を無視した

...または「ムーアは正しかったが、どちらも間違っていた」

この議論で見落とされた最大のことは、ムーアの法則で表現されているように、トランジスタサイズの縮小に起因するCPU製造技術と経済性の影響でした(CPUハードウェアについて多くのことを知っていたとしても驚くことではありません。 CPUの製造または経済性)。CPUで償却される固定製造コスト(ISA設計、CPU設計、CPU生産設備など)は急速に成長し、それによって規模の経済の価値が高まりました。単位あたりのCPUコスト(「バングの強さ」と「ワットの強さ」の観点から)が急落すると、CPUのコストは、価値を提供するためにこのような幅広い機能を選択するために償却する必要はありません。固定機能で爆発しました。CPUトランジスタの予算は指数関数的に増加し、

1. CPUスケールがCPUの多様性に勝つ

規模の経済の重要性により、ISA / CPUの利点は、より大きな(したがって、より広い)市場を対象としており、ISA / CPUの市場を狭める設計選択からの潜在的な利点よりも重要です。OSは、サポートされているISA / CPUごとに市場のより大きな部分に対応できるため、OSエコシステムを繁栄させるための移植演習の必要性はほとんどありません(またはまったく必要ありません)。問題の領域ISAとCPUのターゲットは非常に広範囲であるため、ほとんど重複しています。そのため、コンパイラ以外のソフトウェアでは、移植演習のサイズも小さくなりました。おそらく、トーバルズとタネンバウムの両方ISAまたはCPU固有である必要があるカーネル設計と実装の部分を過大評価しました。Tanenbaumが説明したように、最新のOSカーネルはCPUとISAの区別を抽象化します。ただし、最新のOSのCPU / ISA固有のコードは、マイクロカーネルよりもはるかに小さいです。割り込み処理/スケジューリング、メモリ管理、通信、I / Oを実装するのではなく、これらの非ポータブルビットはこれらのサービスの実装のごく一部に対応するだけであり、これらのコアOS機能のアーキテクチャの大部分も移植可能です。

2.オープンソースは戦いに勝ったが、戦争に負けた

投資額が大きいということは、固定機能製品によってコンピューティングの大部分が実行されることを意味します。製品を変更する機能は、顧客にとっての価値提案の一部ではありません。皮肉なことに、これらの固定機能デバイスではオープンソースが栄えていますが、多くの場合、これらの自由の利点は、エンドユーザーではなく製品を作る人によって実現されています(実際には当時のソフトウェア市場に当てはまりました:Microsoftオープンソースソフトウェアの大規模な消費者でしたが、顧客はそうではありませんでした)。同様に、オープンソースは他のどこよりも汎用デスクトップスペースで苦労していると主張することもできますが、Webおよびクラウドコンピューティングが成長するにつれて、デスクトップコンピューティングはより狭い目的(主にブラウザを実行する)にますます使用されています。残りの機能はクラウドで実行されます(皮肉なことに、主にオープンソースプラットフォーム上)。要するに、オープンソースは実際に汎用コンピューティング空間を所有していますが、市場はより洗練されています。コンピューティング製品のパッケージングは​​、汎用機能で停止することはあまりありませんが、オープンソースコンピューティングの利点の多くが製品の目標と矛盾する固定機能向けの製品に沿って継続します。

3. 2 n成長は固定k節約が重要ではないことを意味する

トランジスタバジェットの指数関数的な増加により、CISCアーキテクチャのトランジスタバジェットコストはほぼ完全に固定されていることがわかりました。RISCの戦略的利点は、複雑さをCPUの命令セットからコンパイラーに移したことです(おそらく、コンパイラー作成者は、アセンブリーでコーディングする人間の開発者よりも複雑なISAの恩恵がはるかに少ないという事実に一部動機付けられていますが、コンパイラーは、数学的に、したがって、より単純なISAを活用します。結果として生じるトランジスタの節約は、CPUパフォーマンスの改善に適用できます。警告は、より単純なISAによるトランジスタ予算の節約がほぼ修正されたことです(コンパイラー設計のオーバーヘッドもほぼ修正されました)。この固定された影響は、当時の予算の大きな部分でしたが、想像できるように、影響が取るに足らないものになるのに数回の指数関数的な成長しか必要ありません。前述のCPUモノカルチャーの重要性が急速に高まっていることと相まって、この急速に低下する影響は、新しいISAが確立する機会が非常に少ないことを意味しました。新しいISAが成功したとしても、現代の「RISC」ISAはRISC戦略で説明されている直交ISAではありません。トランジスタバジェットの継続的な成長と、特にSIMD処理の広範な適用性により、特定の機能に合わせて調整された新しい命令の採用が促進されているためです。前述のCPUモノカルチャーの重要性が急速に高まっていることと相まって、この急速に低下する影響は、新しいISAが確立する機会が非常に少ないことを意味しました。新しいISAが成功したとしても、現代の「RISC」ISAはRISC戦略で説明されている直交ISAではありません。トランジスタバジェットの継続的な成長と、特にSIMD処理の広範な適用性により、特定の機能に合わせて調整された新しい命令の採用が促進されているためです。前述のCPUモノカルチャーの重要性が急速に高まっていることと相まって、この急速に低下する影響は、新しいISAが確立する機会が非常に少ないことを意味しました。新しいISAが成功したとしても、現代の「RISC」ISAはRISC戦略で説明されている直交ISAではありません。トランジスタバジェットの継続的な成長と、特にSIMD処理の広範な適用性により、特定の機能に合わせて調整された新しい命令の採用が促進されているためです。

4.シンプル:懸念の分離。複雑:アドレス空間の分離。

最新のLinuxカーネルは(他のほとんどのカーネルと一緒に)マクロカーネルのかなり緩い定義に適合し、マイクロカーネルの狭い定義ではなく適合します。とはいえ、そのドライバーアーキテクチャ、動的にロードされるモジュール、およびカーネル空間通信をマイクロカーネルのメッセージパッシングにますます似たものにするマルチプロセッシング最適化により、その構造は、マクロカーネル設計(Linuxの設計で具体化される)よりも、マイクロカーネル設計(Minixで具体化される)により酷似します議論の時点で)。マイクロカーネル設計のように、Linuxカーネルは、他のすべてのOSコンポーネントに対して一般化された通信、スケジューリング、割り込み処理、およびメモリ管理を提供します。そのコンポーネントは、明確なコードとデータ構造を持つ傾向があります。モジュールは動的にロードされますが、固定インターフェースを介して通信する疎結合のポータブルコードは、マイクロカーネルの残りのプロパティを1つも使用しないでください。ユーザースペースプロセスではありません。結局、ムーアの法則は、移植性(Tannenbaumの懸念)やパフォーマンス(Torvaldsの懸念)などのハードウェアの懸念によって動機付けられた問題が減少することを保証しましたが、ソフトウェア開発の問題が最も重要になりました。アドレス空間の分離がもたらす残りの未実現の利点は、設計上の制限とコンポーネントインターフェイスの複雑さの増加によりOSソフトウェアに課せられる追加の手荷物よりも重要です。s法律により、移植性(Tanenbaumの懸念)やパフォーマンス(Torvaldsの懸念)などのハードウェアの懸念によって動機付けられた問題が減少することが保証されましたが、ソフトウェア開発の問題が最も重要になりました。アドレス空間の分離がもたらす残りの未実現の利点は、設計上の制限とコンポーネントインターフェイスの複雑さの増加によりOSソフトウェアに課せられる追加の手荷物よりも重要です。s法律により、移植性(Tanenbaumの懸念)やパフォーマンス(Torvaldsの懸念)などのハードウェアの懸念によって動機付けられた問題が減少することが保証されましたが、ソフトウェア開発の問題が最も重要になりました。アドレス空間の分離がもたらす残りの未実現の利点は、設計上の制限とコンポーネントインターフェイスの複雑さの増加によりOSソフトウェアに課せられる追加の手荷物よりも重要です。

興味深いことに、強力なトレンドとなっいるのは、マイクロカーネルのようにハードウェアを抽象化するハイパーバイザーの出現です。ハイパーバイザーはマイクロカーネルであると主張する人もいます。ハイパーバイザーのアーキテクチャは異なります。マイクロカーネルが所有する責任は、その上にあるハイパーバイザーで多重化された「ゲスト」カーネルによって処理され、ハイパーバイザーの抽象化は一般的なメッセージングとメモリアドレス空間ではなく、主に実際のハードウェアエミュレーションです。

結論として:将来は、最も厳密でないセマンティクスを採用する人々を支持します

* ..または「nitpickersは未来を予測するのにうんざりする」

実際には、討論における多くの正誤はセマンティクスの問題です(そして、それはトーバルズが主張していたことの一部であり、私見タネンバウムは完全に感謝していませんでした)。議論の外には非常に多くの要素が関与しているため、将来について正確に定義することは困難です。セマンティクスが緩いということは、ダーツボード上の予測が他の人の予測よりも大きいことを意味します。セマンティクスを無視すると、TorvaldsとTanenbaumの両方が進めた議論は、多くの点で正しかったのですが、ごくわずかな点で間違っていました。

tl; dr

ほとんどのISAはRISCのセマンティック定義に適合しませんが、当時のRISC CPUの特徴であった設計上の利点のほとんどを利用します。CPU固有のOSの量は、予想されるTanenbaumよりも少なく、もちろんTorvaldsです。オープンソースは汎用コンピューティングを支配していますが、その市場の消費者は主に、オープンソースソフトウェアのメリットの多くが実現されていない、より固定機能の製品にコンピューティングをパッケージ化する人々です。アドレス空間間でOS機能を分離することは有益ではありませんでしたが、「仮想」ハードウェア間でOS機能を分離することには利点があります。予測が正しかったと主張したい場合は、トーバルズ氏と同じように、可能な限り意味論的な操作の余地を残してください。

PS最後に皮肉なことに、Linus Torvaldsは、できるだけ多くの新しい機能をユーザー空間やLinuxカーネルの外に維持することの最も強力な支持者の1人です。


42
  • マイクロカーネルは未来です

彼はそれを間違え、すべてがハイブリッドカーネルの使用に収束しているようです。Linuxはまだ正式にモノリシックですが、FUSEなどのようなものを追加すると、少しハイブリッドに見えます。

  • x86が消滅し、RISCアーキテクチャが市場を支配する

わかりましたので、x86は死にませんでした。しかし、RISCは市場を支配していませんか?ARMを使用する数十億のスマートフォン、RISCプロセッサを使用するすべてのゲームコンソール、MIPSプロセッサを使用するほとんどのネットワークハードウェア。

その上、2000年代初頭にはRISCとCISCが非常に収束したため、内部設計に明確な違いはありませんでした。最新のx86プロセッサは、基本的に内部的にCISCインターフェイスを備えたRISCです。

  • (それから5年後)誰もが無料のGNU OSを実行します

もしGNU OSによって彼がGNU Hurdを意味していたなら、それは確かに完全に失敗した予測でした。人々が大量に使用しているのはAndroidです。Androidのは、しかし、それは、Linuxのではない、それはGNUのlibcのを使用していないとして、GNU。代わりに、Google独自のBionicを使用します。また、標準デスクトップLinuxの市場シェアはまだ2%未満です。しかし、彼は本当にコンシューマーPCを意味したのでしょうか?サーバー市場では、セグメントに応じてLinuxがシェアの70〜90%を占めています。


5
「サーバー市場では、セグメントに応じてLinuxがシェアの70〜90%を占めています。」その証拠はどこにありますか?
quant_dev

4
vartecの数字はおそらく誇張されています。ここにこれを残しますen.wikipedia.org/wiki/OS_market_share#Servers
Federico klez Culloca

4
@quant_dev:TOP500の92%、その他60から70パーセントのWebサーバ、全体Googleのインフラストラクチャ、全体FBインフラ、全体アマゾンインフラストラクチャは...
vartec

1
ステートメントをバックアップするためのリンクを提供できますか?
quant_dev


21
  1. わからない。

  2. 半分右。今日の「x86」チップ、基本的に「CISCインターフェース」を備えた内部のRISCです。x86は、他のRISCソリューションが大きな市場シェアを獲得する前に、Intelが十分な市場シェアと十分な収益を獲得して移行を完了したため、消滅しませんでした。

  3. 2つの主な理由:互換性と使いやすさ。

    繰り返しますが、既存のシステム(Windows、およびそれよりも程度は低いがMac OS)には非常に大きなインストールベースがあります。つまり、多くのユーザーが多くのプログラムを使用しています。無料のGNU OSはそれを複製できません。WINEプロジェクトはその方​​向で多くの作業を行ってきましたが、それでも実際のWindowsシステムに代わるものではなく、WINE開発者はそれを主張しようとさえしません。人々は、理論的にどれほど素晴らしいものであっても、お気に入りのプログラムを実行しないOSを使いたくありません。(そして、インストールされたユーザーベースがなければ、誰もシステムのために開発したくありません。これは鶏と卵の問題です。)

    そして、ユーザビリティに到達します。私の母にはWindowsシステムがあります。彼女は彼女の目的のためにそれをうまく使うことができます。彼女が自分のコンピューターで作業するために必要なものはすべてWindowsインターフェースから利用できます。「コマンドライン」という言葉を彼女に言ったら、彼女は私が何を話しているのかさえ知りません。私の知る限り、無料のGNU OSでそれを行うことはまだできません。実際、Linuxの操作は非常に難しいため、コミュニティの最大の神でさえ、簡単なタスクで深刻な問題を抱えることがあります。 そして、彼らは決して「それを手に入れて」問題を解決するようにはたらかないようです。(リンクされた記事は、大衆市場プログラムを作成しようとする人には必ず読む必要があります!)


16
-1は8年前のブログ投稿で、現在は関係ありません。
バルテック

16
@Vartec:もう関係ない?あなたは真剣に、ユーザ今日は、Linuxをピックアップし、これまでにも、コマンドラインでも、WindowsやOSX上の彼らができる方法が存在することを知らなくても、一般的なエンドユーザーのタスクの完全なレパートリーをやって起動できるという主張をしますか?
メイソンウィーラー

17
@Mason:Ubuntuを最後に見たのはいつですか?OSXよりもコンソールを知らないUbuntuで一般的なエンドユーザータスクを実行するのは簡単です(OSXでは隠しファイルを表示するにはNerdologyの博士号が必要です)。Ubuntuのものではうまく機能します。Windowsでは、ドライバーなどをインストールする必要があります。OSXのものでは機能しません。ところで。お母さんはRegEditを使用していますか:-P
vartec

8
@MasonWheeler:もちろんです。誰でもUbuntuを手に入れてコマンドラインを一切使用せずに使用できます。私のルームメイトは(確かにスーパーテクノロジーの知識はありませんが)WindowsからUbuntuへの移行に問題はありませんでした。Ubuntuを使用していることを知っている他の人々(経験はさまざまですが、すべてが専門家ではありません)にも問題はありませんでした。昨年の私のルームメイトは、コンピューターの経験が同じレベルで、現在のルームメイトがUbuntuで行っているよりもMacで多くの問題を抱えていました。(すべてのものの印刷でさえ、MacよりもLinuxの方がはるかに簡単でした!)そのため、Linuxコマンドライン全体は、ひどく不正確な表現です。
ティコンジェルビス

18
@MasonWheeler:今日のユーザーがWindowsを選択してネットワークプリンターを構成できると真剣に主張していますか?
クリストファーハン

14

かなり深刻であるが、言及されていないいくつかの理由があると思います。

1つ目は、技術的な優位性が市場の優位性につながるというタネンバウムのやや盲目的な仮定です。人々はマイクロカーネル(ナノケルネル、ピコケルネルなど)が技術的に優れているかどうかについて長年議論してきましたが、当面はそうだと仮定しましょう。その技術的優位性が市場優位性につながる可能性が高いかどうかという疑問が残っています。私はそうではないと仮定します。ほとんどの人にとって、Windows、Mac OSなどで十分です。さらに悪いことに、ほとんどのユーザーに大きな違いをもたらす改善点は、カーネルではなくユーザーインターフェイスにあります。

2つ目は、(合理的に)成熟した市場の変化を大幅に過大評価することです。新しい市場がある場合、急いで物事を変えるのは非常に簡単です。本質的にすべての人を5年で変更するには、彼が予測したように、移行が全速で行われていなければなりませんでした。

また、彼が正しかった別の方法にも言及しましたが、私は言及していませんでした。人々はすでにRISCの遍在性に注目しています(例:携帯電話)。彼らが言及していないのは、私が「マイクロカーネル2.0」と呼ぶものの遍在性です。現在、これは「仮想マシン」または「ハイパーバイザー」として知られています。しかし、実際にはほとんどマイクロカーネルです。

大きな違いは、TanenbaumがマイクロカーネルとユーザーモードOSエミュレーションの両方の観点から考えており、どちらも互いに特別に設計されていることです。代わりに、OSを本質的に変更せずに維持し、そのまま実行するようにマイクロカーネルを調整しました。これは技術的にはあまりいいことではありませんが、市場の観点から見ると劇的に優れています。まったく新しいシステムを上から下に並べるのではなく、ユーザーは既存のコードのほとんどをそのまま使用し、クールな新しい実際にマイクロカーネルOSである「ユーティリティ」。


8

大きな理由の1つは、Windows、特にWindows 3.1と少し後のWindows 95とNT 3.51でした。消費者は、UnixやDOSの古いテキストベースのシステムとは対照的に、GUIインターフェースを特に愛していました。これは、より多くの平均的な人々が家庭用にコンピューターを購入することを意味しました。また、90年代半ばのインターネットの爆発的増加により、売上が増加しました。

PCの価格も90年代を通じて低下し、今日に至りました。これは、消費者とビジネスの需要の増加によってもたらされる規模の経済によるものです。たとえば、1992年に購入したデスクトップ486よりも、現在使用しているコンピューターの5つすべての組み合わせの方が安価です。

ある意味では、彼は正しいかもしれませんが、予想外の方向に向かっています。モバイルデバイス、スマートフォン、タブレットの台頭により、オペレーティングシステムが部分的に簡素化され、x86の重要性が低下する可能性があります。ただし、それらは1992年に予測されたものをはるかに超えています。


7

結局のところ、すべては物事が本当に変わりたくないという事実に帰着します。

モノリシックなマイクロカーネルは作成が簡単で、高速に実行され、誰もがその構築方法を知っていたため、より優れたアーキテクチャのマイクロカーネルには移行しませんでした。また、Linuxはモノリシックカーネルとして開発されて普及したため、離陸するのに十分な成功を収めたマイクロカーネルはありませんでした。(私たち全員がWindowsを実行しているのと同じ理由に似ています。誰もがWindowsを実行しているため、Windowsを実行します)

RISC、他の人たちは、x86は最近のRISCアーキテクチャであり、下位互換性のためにCISCラッパーが上にあることを指摘しています。

多くの人々が無料のGNU OSをサーバー上で実行しています。ウェブはそれによってほとんど動かされています。すべてのクライアントがWindowsであるため、誰も気づきません。当時は、選択肢がありました。Linuxはまだ趣味のOSでした。Unixのフレーバーですが、購入する余裕がありません。または安価なn陽気なWindows。LinuxはUnixを置き換えるのに時間がかかりすぎ、デスクトップ上で実行するのに十分な魅力的なソリューションがまだ十分ではありません(一部には、異なるウィンドウシステム、バイナリグラフィックドライバー、安定したABIのイデオロギーの問題が原因です)。ただし、組み込みやモバイルなど、他の非デスクトップ市場ではかなりうまくいっています。


6

コンピューターがデスクトップ上にあるとは思わないなら、すべてが真実です。

  1. 確かに、マイクロカーネルは十分にマイクロではなかったため機能しませんでした。削ぎ落とした組み込みLinux全体がMACHカーネルのx86固有のビットよりも小さい場合、マイクロカーネル関連の問題ですか?

  2. RISCは市場を支配しています。X86 cpusよりも多くのARM cpusが毎年販売されています。おそらく、ARM CPUから6フィート以上離れることはありません。

  3. ほとんど誰もがlinuxを実行しています。ルーター、テレビのsetopボックス、Tivo、Androidスマートフォンにあります。OSがあることを知りません


4
「マイクロカーネルが十分にマイクロでなかったために機能しなかった」>私が理解するように、「マイクロ」という言葉は必ずしもコードのバイトまたは行を指すわけではありません。アイデアは、機能をユーザー空間にプッシュし、カーネル自体が提供するサービスを最小限にすることです。たとえば、マイクロカーネルを持つシステムには、ファイルシステムの処理専用のユーザープロセスがあります。そのため、minixよりもサイズの小さいLinuxの簡易バージョンの存在は、実際には関係ありません。
ロブズ

1
@Robzサイズは関連性があります-マイクロカーネルのポイントは、移植性を提供し、特定のエッジケースを有効にすることです(仮想化せずに1台のマシンで2つのOS環境を同時に実行するなど)。マイクロカーネルが、展開可能なプラットフォームを制限するハイブリッド/モノリスよりも大きい場合、また、実際には代替物よりも小さくない場合は、小さなコンポーネントを記述することで移植性を達成しやすいという議論を破壊する傾向があります。
マーシン

4

1)彼はマイクロカーネルについて間違っていました。私の理解では、速度要件の必要性は、少なくともLinuxカーネルでは、マイクロカーネルで強制される懸念の分離に勝ります。

2)タブレットおよび携帯電話の主要なアーキテクチャは、RISC命令セットであるARMです。Windowsでも移植されています。

3)誰もが無料のGNU OSを実行しているわけではありません。これは主に特許と下位互換性のためです。Windowsを必要としない人は、OS Xを頻繁に選択します。


1)当時はさらに速度が重要でした!今日はそんなに重要かどうかはわかりません。
gbjbaanb

ボトルネックがどこにあるかによって異なります。

あなたの唯一の要件が「他の人よりも速く」であるとき、それは時間の経過とともに容易になることはありません。私の考えでは、HURDが実行可能なオプションとしてLinuxを追い抜くことができたのは非常に短い期間であり、L4からMachへのポートで時間を浪費することで失敗しました。
レギュラーフライ

2

1.マイクロカーネルが失敗しました

Linus Torvaldsが述べた理由により、紙上では理論的には魅力的に見えますが、現代のシステム(非常に複雑なシステム)での実装では、複雑さが指数関数的に管理不能になります。ケーススタディはGNU Hurdで、これは基本的な機能を実現することさえできなかった完全にマイクロカーネルシステムです。Mac OS Xは構造がHurdに似ており、安定性が最も低く、最も制約のあるOSです。

2. CPUアーキテクチャ

これは、さまざまなユースケースで多様化しています。組み込み、モバイル、デスクトップ、サーバーなどのユースケースが異なり、異なるアプローチが必要であるため、1つのCPUアーキテクチャが優位ではありませんでした。タンネンバウムはこの多様化を見ることはできませんでした。

3. GNU vs World?

GNUは支配的ではありませんでしたが、Linuxはサーバー、組み込み、モバイルで支配的でした。Appleのタブレットと携帯電話は、単純に古いUnixであるiOSを実行しています。デスクトップでのLinux展開では、正確な値を確実に提供できる本当のコアメカニズム(ユニットの販売)がないため、正確な統計を取得するのは困難です。ユーザーがWindowsシステムを購入してLinuxで上書きするため、デスクトップ上のほとんどのLinux展開はWindows展開として記録されることがあります。ただし、OSをセグメント化すると、Linuxはhttp://www.w3schools.com/browsers/browsers_os.aspに従ってデスクトップ上に約5〜6%を持ち、これは世界中のWindows Vistaユーザーの数に相当し、非常に重要です。 。

さまざまなソースからの私自身の推定に基づいて、デスクトップ上のLinuxは実際にはWindows XPのユーザー数とほぼ同じである可能性があります-おおよそ25%-中国やインドなど、Linuxが人気のある非西洋諸国を数えると米国またはEUですが、欧米人を対象とした英語圏のウェブサイトへのトラフィックのみをカウントするため、欧米の統計ではカウントされない可能性があります。

インドでは、ほとんどの大学生がUbuntuまたはFedoraを使用しています。これは、これがインドの教育システムおよび有名なIITのデフォルトOSであるためです。インドのほとんどの政府機関もLinuxを使用しています。中国ではRed Flag Linuxは中国政府と学校システムの公式OS(芸術科学アカデミー)であり、国営メディアが中国で推奨するOSであり、貧しい若い中国人がWindowsの海賊版を使用するのを阻止するための取り組みです。インドと中国でのLinuxの使用を数えると、ほとんどの西洋の技術専門家に衝撃を与え、それが支配的である非西洋の発展途上国でのLinuxデスクトップの真の優位性に対する認識を根本的に変えるでしょう。


1
現実には、WindowsはデスクトップとサーバーのOSフロントで本当に虐殺されています。ユーザーの約45%がWindows 7を使用していると思われる場合、新しいWindows OSの各Windowsアップグレードサイクルの採用は10-15%ずつ少なくなり、ユーザーは古いバージョンを使用するか、MacまたはLinuxに移動します。各Windowsサーバはすぐに... Linuxサーバのクラスタに切り替えるユーザーの20から30パーセントをアップグレードするようサーバーでは、状況はさらに悪くなる
AG Restringere

1
上記に関するすばらしい記事... focus.com/fyi/50-places-linux-running-you-might-not-expect
AG Restringere

1

生産が安くなり、x86がRISCの価格に非常に近づいたため、RISCを使用することはもはや不可能でした。小規模なベンダーロックインもありました。


RISCのドライバーはこれまでの価格ではなかったと思います。RISCアーキテクチャはx86よりも優れた設計になっていると思います。残念ながら、MIPSとSPARCはそれほどうまくスケールアップすることはなく、アルファが重要な市場シェアを獲得する前にDECは資金を使い果たしました。Intelはx86から​​かなりの性能を引き出すことができたので、変更する理由はほとんどありませんでした(ほとんどの人にとって)。パフォーマンスはMHz単位でワット単位で測定されるようになったため、x86は無関係にゆっくりと滑り込み始めています。
TMN

ええ、私は、RISCが最初にRISCよりもずっと速く上昇した理由を言及しているだけです。もちろん、最近ではこれが大きく変わりました。
ルーカスカウフマン

1
  1. マイクロカーネルは、メソッド呼び出しをプロセス間メッセージングに置き換えます。これにより、仮想的な利点を得るために開発が複雑になります。ほとんどの場合、すべてが1つの大きなプロセスで処理されている場合でも、適切なコンポーネント化によってほぼ同じ利点を得ることができます。
  2. 問題はもはや関係ありません。CISCアーキテクチャはもはや存在せず、最新のプロセッサはすべてRISCを中心にしていますが、それでもx86命令セットは削除されませんでした。Pentium-Pro時代(17年前)以降のx86プロセッサは、op-code変換を使用して、本質的にRISCコアが外部からx86 CPUのように見えるようにします。
  3. Classic Worse is Better。反復、プラグマティズム、ネットワーク、生態系の影響は、毎回純度を打ち負かします。

1

マイクロカーネルは将来x86が消滅し、RISCアーキテクチャが市場を支配します(それから5年後)誰もが無料のGNU OSを実行します

伝統的な意味での彼の予測は失敗しました。

しかし、時間はまだ終わっていません(別のより深い議論は別として)

したがって、物事はまだ変化する可能性があります。

  1. マイクロカーネルまたはいくつかの変種がカムバックする可能性がある

  2. RISC / ARMが優位を占める可能性が高い->タブレット/モバイル

  3. 10年後または15年後。誰もが知っているように、オープンソースは世界をゆっくりと変えています。


1
もちろん、将来物事は変わるかもしれません。私の質問は、世界がどのようになっていて、なぜ彼の予測をまだ反映していないのかについてです。
ロブズ

これらの理由はすべて他の人によってリストされています。健全な議論の一部として、すべての視点が少なくとも考慮されるべきであるため、代替ビューを提供しています。長く生きて、私の友人を繁栄させてください。
ダークナイト

3について、違いは、GNUオペレーティングシステムが特に関連しなくなっていることです。誰もGNU Hurdカーネルを使用していないため、LinuxまたはOS XデスクトップからすべてのGNUユーザースペースツールを削除しても、ほとんどの人は気付かないでしょう。オープンソースOSの他の成功した展開(LinuxベースのルーターやAndroidなど)を見ると、それらのほとんどはGNUコンポーネントにも依存していません。はい、非常に人気があり便利な多くのGNUツールがありますが、それらは人々が使用する「オペレーティングシステム」の一部ではありません。
ehabkost

0

2:CISIC命令セットには大きな利点があります。圧縮されたマシンコードのように、よりコンパクトです。今日では、CISC命令をマイクロオペレーションにデコードするのは非常に安く、RAMにアクセスするのは非常に高価です。そのため、CISCにはL1 / L2 / L3キャッシュでより多くのコードをプッシュできるという利点があります


0

私は時間を覚えています-そして、それに先行する時間。マイクロカーネルに関するダンノ、しかし

2)RISCのアイデアには、ハードウェアよりもソフトウェアでソフトウェアの最適化を行うことができ、CISCチップよりも高速なRISCチップを経済的に作成できるという2つのレッグがありました。

両方のアイデアは短期的には間違っていることが判明しました。Intelは、競争力のある価格で、競合するRISCチップよりも高速に命令をクロックするCISCチップを作成できました。Intelは、コンパイラまたはソフトウェアランタイムスーパーバイザーで実行できるよりもハードウェアでプログラムの最適化を行うCISCチップを作成できました。また、その上にソフトウェア最適化を追加できました。 RISCチップ。

3)コンピューターサイエンス、プログラミング、およびオペレーションは、私のキャリアの中で4回完全に再発明されました。メインフレームからPCへ。コマンドラインからGUI。GUIからインターネットへ。インターネットからiPadへ。革命は今では普通のように見えますが、私たちはそれを予測しませんでした。当時のすべての高齢プログラマーと同様に、彼は「歴史の終わり」を予測していました。

カウントが再開されたため、5年間でGNU OSを実行していた人はほとんどいませんでした。

おそらくまだ起こっています。5年前には、Windows Serverが* nixサーバーに置き換えられると予測していました(筆者が書いているように、SAMBAはAD Domain Serverをリリースしましたが、これはパズルの欠落部分です)。私が働いている場所では起こりません。ローカルサーバーはありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.