オペレーティングシステムの目標
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/13 05:03 UTC 版)
「Microsoft Windows NT 3.1」の記事における「オペレーティングシステムの目標」の解説
カトラーはWindows NTの開発にあたって3つの大きな目標を掲げた。1つ目の目標は移植性である。以前のオペレーティングシステムは単一のアーキテクチャーに大きく依存していたため、Windows NTは複数のアーキテクチャで動作できるようにすべきとした。これを達成するにはオペレーティングシステムのコアを含む大部分をC言語で記述する必要があった。計画段階でWindows NTは旧来のどのオペレーティングシステムよりもメモリを多く消費することが明らかになった。グラフィックシステムやネットワークシステムの一部もC++で記述され、ハードウェアへの直接アクセスやパフォーマンスに大きく関わる機能といったオペレーティングシステムの一部分だけがアセンブリ言語で記述された。これらのモジュールは分離されており、オペレーティングシステムを新しいアーキテクチャに移植するときに改造しやすくなった。 2つ目の目標は信頼性。アプリケーションやハードウェアのエラーでシステムを破壊することがないようにすべきとした。これは、オペレーティングシステムはクリティカルなアプリケーションと親和性があるものにすべきということである。これを達成するため、Windows NTのアーキテクチャはオペレーティングシステムのコアを分離してアプリケーションが直接それにアクセスできないように設計された。カーネルはマイクロカーネルとして設計され、コアのコンポーネントはモジュール形式のカーネルで動作した。カトラーはこの道義をDECでの経験から得ていた。信頼性は堅牢性を含んでおり、オペレーティングシステムは外部からの攻撃を阻止できるべきとした。メインフレームでは、全てのユーザーは管理者によってそれぞれのアカウントに権限が割り当てられており、機密文書へのアクセスを防ぐといったことが既に実現されていた。仮想メモリ管理はマルウェアやメモリの外部領域からアクセスするユーザーによる攻撃を防ぐよう設計されていた。 3つ目の目標は「パーソナリティ」と呼ばれた。オペレーティングシステムはWindows、MS-DOS、およびOS/2のアプリケーションといった様々なオペレーティングシステム用に設計されたアプリケーションが動作できるようにすべきであるとした。MachカーネルはAPIをコンポーネントに移動させて、アプリケーションのようにユーザーモードで実行させることで変更や追加を容易にできるようにして、同様のコンセプトを実現した。Windows NTはこの道義を継承した。 これほどの目標にもかかわらず、実行速度を上げるためにコードの重要なセクションを結合したことで、オペレーティングシステムのパフォーマンスは最適化された。ネットワークのパフォーマンスを向上するため、ネットワークシステムの大部分はオペレーティングシステムのコアに移動された。 Windows NTはネットワークオペレーティングシステムとして設計された。この分野ではノベルがNetWareで独占的にリードしており、マイクロソフトはNetWareのリードを覆す製品を開発できずにいた。カトラーは信頼できるネットワークオペレーティングシステムで顧客を獲得することを望んでいた。ビル・ゲイツは、既にMS-DOSやWindowsでデスクトップオペレーティングシステムの市場は獲得しており、Windows NTでネットワーク市場も同様に獲得したいと考えていた。ゲイツは新興的なサーバー市場を掘り起こすことに執心していたと同時に、1995年までデスクトップ市場(Windows 95)での成功は予期していなかった。 したがって、プロダクトマネージャーのデイビッド・サッチャー (David Thacher) のインタビューでは、Windows NTはハイエンドのオペレーティングシステムと位置づけられていた。これはWindows 3.1の完全な置き換えを狙って設計されたものではなく、むしろマイクロソフトのオペレーティングシステムのラインナップを補うものであった。全てのWindows販売量の10%から20%、ハイエンド市場の10%にあたる100万本の市場シェアを獲得したとされた。
※この「オペレーティングシステムの目標」の解説は、「Microsoft Windows NT 3.1」の解説の一部です。
「オペレーティングシステムの目標」を含む「Microsoft Windows NT 3.1」の記事については、「Microsoft Windows NT 3.1」の概要を参照ください。
- オペレーティングシステムの目標のページへのリンク