このセクションでは exokernel アーキテクチャの設計原則を羅列している。そして先ほどの 3つの技術(管理と保護を分離するために使うもの)の詳細について議論している。
このセクションではいくつかの原則、つまり我々が libOS に最大限の操作性を与えるため exokernel のインタフェースをどうデザインしたか紹介する。
exokernel はこれらのイベントに対して、高レベルな抽象化を行ってはならない(例えば Unix のシグナルとか RPC のようなもの)。柔軟性を向上させるには、ほとんどの物理リソースがきちんと再分割されなければならない。
exokernel は libOS に特権命令を export しなければならない。これは libOS が従来の OS の抽象化を実装するために使う。
ネガティブに言ってしまうと、この原則はつまり exokernel が「リソース管理をさぼりたい」ってことなのだ。
この原則の動機は我々の信念である「分散で、アプリケーション特有のリソース管理は、効果的で柔軟性のあるシステムを構築するのにベストである」ということ。(直訳…)
この後にある原則は、この目標を達成するための詳細を扱っている。
次の原則ではこの関与(participation)の効用について補足している。
単純に言えば、secure binding は、カーネルがリソースの保護について考えなくて良いようにするものである。
我々は、以下の 3つの技術の例を見せる。そして、どうやって secure binging を物理メモリとネットワークデバイスの多重化に適用するか議論する。