原理と意味
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/06/12 07:34 UTC 版)
機構と方針の分離は、マイクロカーネルの基礎となる考え方であり、モノリシックカーネルと大きく異なる部分である。マイクロカーネルではオペレーティングシステムのサービスの大部分をユーザレベルのサーバプロセスで提供する。オペレーティングシステムは適切な機構を提供する柔軟性を持ち、実世界の様々なセキュリティ方針をサポート可能なようにするのが重要だとされている。 システムが製品としての寿命を迎えるまでにそれを使うかもしれない様々な種類のユーザーの様々な使い方を全て想定することは、ほとんど不可能である。したがって方針が分離されていないと、一部(またはほとんど)のユーザーにとってその方針が不十分または不適切なものとなる可能性がある。機構の実装と方針の仕様を分離することで、異なるアプリケーションが共通の機構と異なる方針を使用することが可能となる。そうすることで、そういった機構がより多くのユーザーのニーズを満たし、より長期に渡って使われることになる。 機構の実装を変更せずに新たな方針を採用できるなら、そのような方針転換のコストとリスクは大いに低減できる。最初の例は、機構と方針を別々のモジュールとして分離するやり方である。方針を表したモジュール(例えばCPUスケジューリング方針)を置き換えることで、その方針を実行するモジュール(例えばスケジューリング機構)を変更することなくシステムの挙動を変えることができる。さらに、アプリケーションのニーズに従って様々な不定範囲の方針が予想される場合、コーディングしない形で方針を指定できるようにすることも考えられる。その場合、方針は実行コードとして書かれるのではなく、それとは独立した何らかの記述によって指定される。例えば、ファイル保護方針(UNIXのファイルパーミッションなど)はパラメータ化することもできる。その場合、機構側は新たな方針記述言語のインタプリタを含むよう設計される。いずれの場合も、方針の仕様を新たに導入したり置換したりするための結合機構(例えば、設定ファイルやAPI)がシステムに備わっているのが一般的である。 機構と方針の分離の日常的な例として、施錠されたドアを開けるカードキーの使用が挙げられる。その機構(磁気カードリーダ、遠隔操作方式の錠、セキュリティサーバとの接続)は、方針(どういった人がどういう時間にそのドアを開け閉めできるか)に対して何の制限も課していない。方針を決定するのはセキュリティサーバであり、さらに言えば各部屋へのアクセス規則のデータベースを操作することで決定がなされる。すなわち、特定のカードキーで特定のドアを開けられるか否かをデータベースに設定することで方針の変更がなされる。セキュリティ方針が所有者の考えていたものと違う場合、機構(磁気カードリーダ、錠、接続)を変更せずにセキュリティサーバのソフトウェアを更新するだけでよい。
※この「原理と意味」の解説は、「機構と方針の分離」の解説の一部です。
「原理と意味」を含む「機構と方針の分離」の記事については、「機構と方針の分離」の概要を参照ください。
- 原理と意味のページへのリンク