様々なアプリケーションに対して効率的かつ柔軟に対応できるオペレーティングシステム(OS)の構成法として、OSを細粒度のオブジェクト(データをそれを操作する手続きをカプセル化したもの)の集合体として構成する手法を提案し、そのための基本機構を実現した。 1.スレッドの構造、スケジューリングの機構を設計した。スケジューリングの方針は、方針ごとに定義される細粒度オブジェクトとして実現し、それらのオブジェクトを自由に選択できるような機構を開発した。 2.ページング方針を、方針ごとに定義される細粒度オブジェクトとして実現し、それらのオブジェクトを自由に選択できるような機構を開発した。また、こうした複数のページング方針を実現する仮想記憶サブシステムを構築した。 3.アプリケーション(プロセス)ごとに、柔軟な名前空間の管理が行える、ディレクトリのユニオンマウント機構を開発した。従来のユニオンマウント機構よりも厳密な名前評価のセマンティクスを定義し、それを実現するアルゴリズムを設計・実装した。 4.オブジェクトの保護について、キ-/ロック方式を拡張した、きめの細かい柔軟な保護機構を新たに開発した。キ-を割符として利用したり、複数のキ-のグループ化を行ったりできる点が、従来にない新しい点である。 5.本OSでは、オブジェクトを1つのアドレス空間に複数マップして使用するため、不正なアドレス参照に対して保護を行わなければならないが、そのための効率的な手法として、スレッド切替え時にページテーブルエントリのキャッシュであるTLB(Translation Look-aside Buffer)を無効化する手法を新たに開発した。この手法をパーソナルコンピュータ上で実現した結果、オブジェクト呼出しについては、従来のプロセス間通信の10倍以上の高速化が得られることを示した。
|