状況に応じて保護のレベルを変更できる緩やかな保護機構に関する研究を行った。そのための基本的な枠組みとして、抽象オペレーティングシステムという概念を提案した。その概要を以下に示す。 主たる応用分野としては、コンポーネントソフトウェアやモ-バイルオブジェクトなどの近年注目を集めている柔軟なソフトウェアの構成法を取り上げた。これらの新しい構成法に基づくソフトウェアを効率的かつ安全に実行するために、オペレーティングシステムに求められる機能としては、以下のようなものがある。 1.複数のコンポーネントよるなるソフトウェアを効率的に稼働されるために、密接に関連し合うコンポーネント間でアドレス間を共有できなければならない。 2.モ-バイルオブジェクトのような信頼できないコードを含むコンポーネントを安全に実行するために、信頼できるコードと信頼できないコードを異なる保護ドメインで実行する必要がある。 この二つの相異なる要求に答えるために、以下のような枠組みを設計した。 1.アプリケーションは、メモリ管理のAPIを用いて、アドレス空間と保護ドメインの管理を自分で行う。 2.実行環境の管理者が許す場合には、アプリケーションのメモリ管理部はカーネルモードで動き、上記APIコールがMMUを直接操作する。それ以外の場合には、ユーザモードで動き、APIコールはシステムコールに変換される。 本年度は、このようなメモリ管理用のAPIの仕様決定と、その実現方式の検討を主に行った。このような枠組みにより、信頼できるコードに対しては効率を重視し、信頼できないコードに対しては保護を重視するアプリケーションの実行環境が設計可能であることを確認した。
|