アップデートの失敗やクラッシュで午後が台無しになった経験があるなら、あなたは一人ではありません。アンドリュー・S・タネンバウム氏は、Windowsの技術的なフレームワークがあまりにも広大であるため、製造元でさえ完全に制御できておらず、バグが多いと主張しています。
学術コンピューティングにおける重要人物であり、『オペレーティングシステム:設計と実装』の著者、そしてMINIXの開発者でもあるタネンバウムは、私たちが日常的に使用するシステムの安定性や、それらの構築方法に関する議論に、文脈と基準をもたらしている。
誰も完全に制御できないほど巨大なシステム

その学者によると、Windowsの規模の大きさや複雑な依存関係の構造上、どんな変更でも予期せぬ副作用を引き起こす可能性があるという。そのため、毎週のようにパッチがリリースされ、一つのバグを修正すると新たなバグが発生するリスクが生じるのだ。
彼は、Windowsを含む多くの重要なシステムが、すべてが相互接続された巨大なモノリシックなブロックとして構築されていると考えている。コンポーネント間の分離が不十分なため、メンテナンスが複雑化し、不安定性やセキュリティ脆弱性が発生する可能性が高まる。
タネンバウム氏は、その規模の組織では、エンジニアは全体のコードのごく一部すら理解していないとまで主張している。パズルのピースの一つが破損すると、他に何が壊れるかを予測するのはほぼ不可能だ。彼のこうした見解は、アルゼンチンの新聞「クラリン」との長時間の対話に基づいている。
モノリシック vs. モジュラー: MINIX、Linux、Windows からの教訓

教授はこのアプローチをMINIXやAnduinoなどのモジュール式システムと比較し、オーディオコントローラが故障した場合、被害は音声のみに限定されると説明しています。ディスクやネットワークへのアクセス許可を与えないため、実際の影響は限定され、復旧も容易になります。
WindowsやLinux自体(例えばLinuxFX)のようなモノリシックシステムでは、コンポーネント間の連携が非常に密接です。あるモジュールに障害が発生すると、それが連鎖的に影響を及ぼし、クラッシュ、永続的なエラー、脆弱性など、さらなる修正が必要となる問題を引き起こす可能性があります。
この議論は目新しいものではない。マイクロカーネルとモジュール型アプローチの提唱者であるタネンバウムは、モノリシックカーネルの支持者であるリーナス・トーバルズと対立した。この論争は、パフォーマンスと実装の容易さ、あるいは分離性とセキュリティという、古典的なジレンマを象徴している。
市場の実情はモノリシックな設計を有利にしてきたが、タネンバウムは、安定性、攻撃対象領域、長期的なメンテナンスといったコスト面を考慮すると、この「勝利」が果たして価値のあるものなのか疑問を呈している。彼の主張は、処理速度はやや遅くても、区画化されたシステムの方がはるかに高い耐性を持つというものだ。
閉鎖的なソフトウェアと不透明性:見えないもの
Windows以外にも、多くの商用ソフトウェアはブラックボックスのように動作し、開発チーム自身にとっても不透明であると、このコンピュータ科学者は警告している。しかし、マイクロソフトがWSLのコードの一部を公開したような取り組みは、透明性が内部監査や理解の向上につながることを示している。
ユーザーや組織にとって、これはパッチの適用ペースに合わせて運用し、アップデートを盲目的に信頼することを意味します。その間にも、依存関係や副作用は増え続けるばかりです。よりモジュール化された設計、権限の見直し、そして独立した監査を実施することで、イノベーションを阻害することなくリスクを軽減できるでしょう。
タネンバウムの見解は、不快な現実を描き出している。区分けされていない複雑さがWindowsをエラーの温床にし、開発チームを絶え間ない修正作業に追わせ、セキュリティ脆弱性への露出を増大させている。アーキテクチャを高度に分離されたモジュールへと再考することが、安定性を得るための最も確実な方法であるように思われる。
