adv_system
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[FrontPage]] > [[adv_system]]
**3. Exokernel のデザイン [#xcebc1a4]
***exokernelの挑戦 [#e90fbfda]
-libOS が物理リソースを扱うという点において、最大限の自由...
--他の者から守るとは、プログラミングのエラーがある libOS ...
-この目標を達成すべく、exokernel は管理から、低レベルイン...
--なんだろ???
-管理から保護を分離させるために、3つの重要なタスクがある
++リソースの所持者を追跡すること
++全てのリソース使用や、バインディングポイント(binding p...
++リソースへのアクセスを破棄(revoking)すること
-これらのタスクを実現するために、exokernel は 3つの技術を...
++secure bindings: libOS は物理リソースに対して、セキュア...
++visible rebocation: libOS が resource revocation protoc...
++abort protocol: exokernel が使う。非協力的な libOS が行...
このセクションでは exokernel アーキテクチャの設計原則を羅...
***デザインの原則 [#mcbfd082]
-exokernel は libOS のインタフェース(claim(要求?), re...
このセクションではいくつかの原則、つまり我々が libOS に最...
***Security expose hardware [#e96dd46c]
-exokernel で中心となる原理は、カーネルがセキュアな低レベ...
--低レベルプリミティブってのは、可能な限り全ての物理リソ...
-exokernel はだから、特権命令、DMA のケーパビリティ、物理...
--export されているリソースは、これらの基本的なハードウェ...
---物理メモリ
---CPU
---ディスクメモリ?
---TLB(translation look-aside buffer)
---アドレスコンテキスト識別子(addressing context identif...
--この原則は、あまり触れられない(to less tangible)マシ...
---割り込み
---例外
---クロスドメインコール(cross-domain calls)
exokernel はこれらのイベントに対して、高レベルな抽象化を...
-以下は libOS から可視でなければならず、さらに置き換える...
--数値
--フォーマット
--TLB の現在のセット
-原文: The number, format, and current set of TLB mapping...
exokernel は libOS に特権命令を export しなければならない...
-従来の抽象化: プロセス、アドレス空間など
-どの操作も、あらゆる資源の所持者を確認するシステムコール...
----
ネガティブに言ってしまうと、この原則はつまり exokernel が...
-exokernel は、保護が要求された部分のリソース、これだけを...
-例えば…割り当ての管理、破棄、所持権を与えるなど
この原則の動機は我々の信念である「分散で、アプリケーショ...
この後にある原則は、この目標を達成するための詳細を扱って...
***Expose allocation [#h839756f]
-exokernel では libOS が特定の物理リソースを要求しても良...
--例えば、libOS は特定の物理ページ(メモリのかな?)を要...
-さらに、リソースは暗黙のうちに割り当てられるべきではない。
--libOS は各割り当ての決定に、関与(? participate と書い...
次の原則ではこの関与(participation)の効用について補足し...
***Expose Names [#kdd87e7b]
-exokernel は物理名(physical names)を export すべき。
-物理名は有能。
--理由は、仮想的な名前から物理的な名前に変換するために必...
-物理名はリソースの属性を便利に符号化できる。
--例えば、physically-indexed ダイレクトマップキャッシュを...
-exokernel は book-keeping data(例えば、freelists、ディ...
--アプリケーションが割り当て要求を調整できるように。
***Expose Revocation [#z6506d46]
-exokernel は可視状態のリソースの破棄プロトコル(visible ...
--上位互換性のある libOS(well-behaved lib...)が効果的に...
-可視状態の破棄(visible revocation)は物理名を使うのを容...
特定のリソースのどのインスタンスを放棄すればよいのか選ぶ...
-原文: Visible revocation allows physical names to be use...
----
***Policy [#ne67dd11]
-exokernel はポリシーによる判定を libOS に手渡す。
--リソースのこのコントロールを使うことで、アプリケーショ...
-しかしどのシステムにおいても、exokernel は libOS 同士の...
--exokernel は、異なるアプリケーションの絶対的な重要度(a...
--この状況は、今までのカーネルと何も変わりない。
-OS のアーキテクチャによって決定するより、環境によって決...
--例えば、リソースの管理を libOS に譲渡している間、exoker...
-割り当て要求を与えることや、またどのアプリケーションから...
-ポリシーの衝突は、結局はリソース割り当ての決定ということ...
--シークタイム、物理メモリ、ディスクブロックの割り当てなど
--exokernel は同じような方法でそれらを扱うだけ。
***3.2 Secure Bindings [#t056086d]
-リソースをセキュアにを分割するのは、exokernel の基本的な...
--保護を実装するためには、exokernel は libOS に secure bi...
-secure binding とは、保護の機構である。
--リソースの実際の利用から、分断された認証(decoupled aut...
-secure binding は以下の 2点において、実行速度を改善する。
++保護のチェックが secure binding を執行する(enforce)こ...
++secure binding が認証を実行するのは bind 時だけである。...
-アプリケーションレベルのソフトウェアは、多くのリソースの...
-bind 時まで、これらのセマンティクスを理解する必要性を隔...
単純に言えば、secure binding は、カーネルがリソースの保護...
----
-操作上、secure binding のサポートが必要とするある要求は...
-プリミティブは、ハードウェアで実装しても、ソフトウェアで...
--単純なハードウェア secure binding は TLB エントリである。
---TLB のフォルトが起きたとき、libOS のページテーブルにあ...
--他の例としては、パケットフィルタ(文献 37)である。これ...
---パケットフィルタがないと、カーネルは各アプリケーション...
-認証や管理(コネクションや、セッションや、再送の管理など...
--さらにアプリケーションレベルの柔軟性をサポートしたまま...
----
-secure binding の実装のために、三つの基本的な技術を使っ...
--ハードウェアの機構、ソフトウェアによるキャッシュ、アプ...
-特殊なハードウェアのサポートによって、secure binding は...
--後の命令で、高レベルの認証情報なしで、効果的にチェック...
--例えば、ファイルサーバがデータをメモリにバッファリング...
---このとき、exokernel はファイルシステムの認証機構の情報...
--他の例としては、いくつかの Silicon Graphics のフレーム...
---window manager で使える。libOS とフレームバッファの一...
---アプリケーションはフレームバッファに直接アクセスできる...
-secure binding は exokernel にキャッシュされる。
--具体的には、ハードウェア TLB に載らないアドレスをキャッ...
--software TLB はよく使われる secure binding のキャッシュ...
-secure binding はカーネルにダウンロードされるコードによ...
--このコードは色々な要因で起動される。
---あらゆるリソースへのアクセス、または所持権決定するため...
-カーネルにダウンロードされたコードは、コントロールのアプ...
--ダウンロードされたコードの利点は、潜在的に高コストな cr...
-type-safe languages(文献 9, 42)、インタープリタ、サン...
我々は、以下の 3つの技術の例を見せる。そして、どうやって ...
***Multiplexing Physical Memory [#ecc93d46]
-プロトタイプでの secure binding は、self-authenticating ...
--libOS が物理メモリページを割り当てたとき、exokernel は...
--ページの所持者は、ページに関連したケーパビリティを変更...
-保護を保証するため、libOS が要求するアクセスを表現したケ...
--もしケーパビリティが十分でなければ、アクセス拒否される。
--典型的にはプロセッサは TLB を持っている。exokernel は、...
-数を減らすことで libOS の性能を向上させるためには、secur...
--exokernel は large software TLB に仮想-物理アドレスのマ...
-もし基本的なハードウェアがページテーブルのインタフェース...
--しかしながら secure memory binding をどうやって実装する...
-基本的な信念は単純である。特権命令(TLB のロードや DMA)...
--exokernel の原則である exposing kernel book-keeping に...
-リソースを保護するためにケーパビリティを使うことで、カー...
--アプリケーションは、リソースを簡単に共有するために well...
-secure binding をぶち壊すには、exokernel は関連したケー...
--物理メモリの場合だと、exokernel は全ての TLB のマッピン...
***Multiplexing Network [#t3df709c]
-ネットワークの多重化は挑戦だ。
--なぜならやってくるメッセージの中身に割り込んだり、受信...
-ネットワークの多重化を解除する機能は、ソフトウェアあるい...
--ハードウェアベースだと、アプリケーションの securely bin...
--ソフトウェアベースだと、パケットフィルタ(文献 37)が提...
---パケットフィルタは、アプリケーションコード(フィルタ)...
-パケットの所持権を決定したくて、保護のチェックが要求され...
--パケットの所持権はカーネルが理解できる言語で表現される。
--fault isolation は慎重に言語を設計する(実行時に結合す...
-プロトタイプでは、パケットフィルタを使っている。
--なぜなら現在のネットワークの多重化を解除するための、ハ...
-言語ベースのアプローチとして一つチャレンジしたのは、フィ...
---従来はパケットフィルタは、インタープリタだった。それは...
---exokernel が使うパケットフィルタエンジンの区別する機能...
---ものすごいオーダーで実行速度が向上した(文献 22)。
-パケットフィルタを使用する問題点は、フィルタは嘘をつけな...
--単純なセキュリティの予防、例えば信用できるサーバからだ...
---悪意のあるプロセスは居ないと仮定したシステムで、我々の...
---到着したパケットが別のところに属することはできない、と...
---中央での認証を回避することにより、拡張性は増加する。
---(全体的に意味不明)
-外向きのメッセージに対して、ネットワークインタフェースを...
--メッセージは単にアプリケーションの空間から、送信バッフ...
--実際、特別なハードウェアの機能があれば、送信バッファは...
***3.2.1 Downloading Code [#rcc31218]
secure binding の実装に加えて、ダウンロードコードも実行速...
-カーネルにダウンロードするコードは、2つの利点がある。
++明らか。カーネルの干渉(crossing)を排除できる。
++微妙。ダウンロードコードの実行時間は readily bounded (...
---「制御された(tamed)」コードの非常に大切な点は、アプ...
---この分割によって、アプリケーション自身へのコンテキスト...
---例えば、たった数マイクロ秒しか自由に計算できるプロセッ...
-パケットフィルタはこの機能の例である。
--なぜならパケットフィルタのルーチンは bounded で、カーネ...
---OS が潜在的なパケットの消費者をスケジュールするために...
---そして意味不明。
-Application-specific Safe Handlers(ASHs)はダウンロード...
--これらのアプリケーションハンドラは、メッセージプロセシ...
--ASH はパケットフィルタと関係していて、パケット受信者側...
--ASH の重要な機能として、メッセージを初期化できる、とい...
---この機能を使うと、ラウンドトリップのレイテンシがすげー...
--ASH はいろんな面白い機能を持っている(セクション 6 を見...
-ダウンロードコードの顕著な話題としては、コードに指定され...
-高レベルの言語は、より多くの semantic information を持つ。
-semantic information はより多くの最適化に関する情報を提...
--例えばパケットフィルタ言語は、高レベルとして宣言されて...
--その結果パケットフィルタは、緊急の言語が実行不可能、状...
--しかし、そのような最適化が完了しなかった(割り込みハン...
--それはアプリケーションレベル言語のブロードキャストの範...
-ASH はこのトレードオフの別の例である。ほとんどの ASH は...
--しかし少しの重要な場所(高レベルセマンティクスが有用な...
終了行:
[[FrontPage]] > [[adv_system]]
**3. Exokernel のデザイン [#xcebc1a4]
***exokernelの挑戦 [#e90fbfda]
-libOS が物理リソースを扱うという点において、最大限の自由...
--他の者から守るとは、プログラミングのエラーがある libOS ...
-この目標を達成すべく、exokernel は管理から、低レベルイン...
--なんだろ???
-管理から保護を分離させるために、3つの重要なタスクがある
++リソースの所持者を追跡すること
++全てのリソース使用や、バインディングポイント(binding p...
++リソースへのアクセスを破棄(revoking)すること
-これらのタスクを実現するために、exokernel は 3つの技術を...
++secure bindings: libOS は物理リソースに対して、セキュア...
++visible rebocation: libOS が resource revocation protoc...
++abort protocol: exokernel が使う。非協力的な libOS が行...
このセクションでは exokernel アーキテクチャの設計原則を羅...
***デザインの原則 [#mcbfd082]
-exokernel は libOS のインタフェース(claim(要求?), re...
このセクションではいくつかの原則、つまり我々が libOS に最...
***Security expose hardware [#e96dd46c]
-exokernel で中心となる原理は、カーネルがセキュアな低レベ...
--低レベルプリミティブってのは、可能な限り全ての物理リソ...
-exokernel はだから、特権命令、DMA のケーパビリティ、物理...
--export されているリソースは、これらの基本的なハードウェ...
---物理メモリ
---CPU
---ディスクメモリ?
---TLB(translation look-aside buffer)
---アドレスコンテキスト識別子(addressing context identif...
--この原則は、あまり触れられない(to less tangible)マシ...
---割り込み
---例外
---クロスドメインコール(cross-domain calls)
exokernel はこれらのイベントに対して、高レベルな抽象化を...
-以下は libOS から可視でなければならず、さらに置き換える...
--数値
--フォーマット
--TLB の現在のセット
-原文: The number, format, and current set of TLB mapping...
exokernel は libOS に特権命令を export しなければならない...
-従来の抽象化: プロセス、アドレス空間など
-どの操作も、あらゆる資源の所持者を確認するシステムコール...
----
ネガティブに言ってしまうと、この原則はつまり exokernel が...
-exokernel は、保護が要求された部分のリソース、これだけを...
-例えば…割り当ての管理、破棄、所持権を与えるなど
この原則の動機は我々の信念である「分散で、アプリケーショ...
この後にある原則は、この目標を達成するための詳細を扱って...
***Expose allocation [#h839756f]
-exokernel では libOS が特定の物理リソースを要求しても良...
--例えば、libOS は特定の物理ページ(メモリのかな?)を要...
-さらに、リソースは暗黙のうちに割り当てられるべきではない。
--libOS は各割り当ての決定に、関与(? participate と書い...
次の原則ではこの関与(participation)の効用について補足し...
***Expose Names [#kdd87e7b]
-exokernel は物理名(physical names)を export すべき。
-物理名は有能。
--理由は、仮想的な名前から物理的な名前に変換するために必...
-物理名はリソースの属性を便利に符号化できる。
--例えば、physically-indexed ダイレクトマップキャッシュを...
-exokernel は book-keeping data(例えば、freelists、ディ...
--アプリケーションが割り当て要求を調整できるように。
***Expose Revocation [#z6506d46]
-exokernel は可視状態のリソースの破棄プロトコル(visible ...
--上位互換性のある libOS(well-behaved lib...)が効果的に...
-可視状態の破棄(visible revocation)は物理名を使うのを容...
特定のリソースのどのインスタンスを放棄すればよいのか選ぶ...
-原文: Visible revocation allows physical names to be use...
----
***Policy [#ne67dd11]
-exokernel はポリシーによる判定を libOS に手渡す。
--リソースのこのコントロールを使うことで、アプリケーショ...
-しかしどのシステムにおいても、exokernel は libOS 同士の...
--exokernel は、異なるアプリケーションの絶対的な重要度(a...
--この状況は、今までのカーネルと何も変わりない。
-OS のアーキテクチャによって決定するより、環境によって決...
--例えば、リソースの管理を libOS に譲渡している間、exoker...
-割り当て要求を与えることや、またどのアプリケーションから...
-ポリシーの衝突は、結局はリソース割り当ての決定ということ...
--シークタイム、物理メモリ、ディスクブロックの割り当てなど
--exokernel は同じような方法でそれらを扱うだけ。
***3.2 Secure Bindings [#t056086d]
-リソースをセキュアにを分割するのは、exokernel の基本的な...
--保護を実装するためには、exokernel は libOS に secure bi...
-secure binding とは、保護の機構である。
--リソースの実際の利用から、分断された認証(decoupled aut...
-secure binding は以下の 2点において、実行速度を改善する。
++保護のチェックが secure binding を執行する(enforce)こ...
++secure binding が認証を実行するのは bind 時だけである。...
-アプリケーションレベルのソフトウェアは、多くのリソースの...
-bind 時まで、これらのセマンティクスを理解する必要性を隔...
単純に言えば、secure binding は、カーネルがリソースの保護...
----
-操作上、secure binding のサポートが必要とするある要求は...
-プリミティブは、ハードウェアで実装しても、ソフトウェアで...
--単純なハードウェア secure binding は TLB エントリである。
---TLB のフォルトが起きたとき、libOS のページテーブルにあ...
--他の例としては、パケットフィルタ(文献 37)である。これ...
---パケットフィルタがないと、カーネルは各アプリケーション...
-認証や管理(コネクションや、セッションや、再送の管理など...
--さらにアプリケーションレベルの柔軟性をサポートしたまま...
----
-secure binding の実装のために、三つの基本的な技術を使っ...
--ハードウェアの機構、ソフトウェアによるキャッシュ、アプ...
-特殊なハードウェアのサポートによって、secure binding は...
--後の命令で、高レベルの認証情報なしで、効果的にチェック...
--例えば、ファイルサーバがデータをメモリにバッファリング...
---このとき、exokernel はファイルシステムの認証機構の情報...
--他の例としては、いくつかの Silicon Graphics のフレーム...
---window manager で使える。libOS とフレームバッファの一...
---アプリケーションはフレームバッファに直接アクセスできる...
-secure binding は exokernel にキャッシュされる。
--具体的には、ハードウェア TLB に載らないアドレスをキャッ...
--software TLB はよく使われる secure binding のキャッシュ...
-secure binding はカーネルにダウンロードされるコードによ...
--このコードは色々な要因で起動される。
---あらゆるリソースへのアクセス、または所持権決定するため...
-カーネルにダウンロードされたコードは、コントロールのアプ...
--ダウンロードされたコードの利点は、潜在的に高コストな cr...
-type-safe languages(文献 9, 42)、インタープリタ、サン...
我々は、以下の 3つの技術の例を見せる。そして、どうやって ...
***Multiplexing Physical Memory [#ecc93d46]
-プロトタイプでの secure binding は、self-authenticating ...
--libOS が物理メモリページを割り当てたとき、exokernel は...
--ページの所持者は、ページに関連したケーパビリティを変更...
-保護を保証するため、libOS が要求するアクセスを表現したケ...
--もしケーパビリティが十分でなければ、アクセス拒否される。
--典型的にはプロセッサは TLB を持っている。exokernel は、...
-数を減らすことで libOS の性能を向上させるためには、secur...
--exokernel は large software TLB に仮想-物理アドレスのマ...
-もし基本的なハードウェアがページテーブルのインタフェース...
--しかしながら secure memory binding をどうやって実装する...
-基本的な信念は単純である。特権命令(TLB のロードや DMA)...
--exokernel の原則である exposing kernel book-keeping に...
-リソースを保護するためにケーパビリティを使うことで、カー...
--アプリケーションは、リソースを簡単に共有するために well...
-secure binding をぶち壊すには、exokernel は関連したケー...
--物理メモリの場合だと、exokernel は全ての TLB のマッピン...
***Multiplexing Network [#t3df709c]
-ネットワークの多重化は挑戦だ。
--なぜならやってくるメッセージの中身に割り込んだり、受信...
-ネットワークの多重化を解除する機能は、ソフトウェアあるい...
--ハードウェアベースだと、アプリケーションの securely bin...
--ソフトウェアベースだと、パケットフィルタ(文献 37)が提...
---パケットフィルタは、アプリケーションコード(フィルタ)...
-パケットの所持権を決定したくて、保護のチェックが要求され...
--パケットの所持権はカーネルが理解できる言語で表現される。
--fault isolation は慎重に言語を設計する(実行時に結合す...
-プロトタイプでは、パケットフィルタを使っている。
--なぜなら現在のネットワークの多重化を解除するための、ハ...
-言語ベースのアプローチとして一つチャレンジしたのは、フィ...
---従来はパケットフィルタは、インタープリタだった。それは...
---exokernel が使うパケットフィルタエンジンの区別する機能...
---ものすごいオーダーで実行速度が向上した(文献 22)。
-パケットフィルタを使用する問題点は、フィルタは嘘をつけな...
--単純なセキュリティの予防、例えば信用できるサーバからだ...
---悪意のあるプロセスは居ないと仮定したシステムで、我々の...
---到着したパケットが別のところに属することはできない、と...
---中央での認証を回避することにより、拡張性は増加する。
---(全体的に意味不明)
-外向きのメッセージに対して、ネットワークインタフェースを...
--メッセージは単にアプリケーションの空間から、送信バッフ...
--実際、特別なハードウェアの機能があれば、送信バッファは...
***3.2.1 Downloading Code [#rcc31218]
secure binding の実装に加えて、ダウンロードコードも実行速...
-カーネルにダウンロードするコードは、2つの利点がある。
++明らか。カーネルの干渉(crossing)を排除できる。
++微妙。ダウンロードコードの実行時間は readily bounded (...
---「制御された(tamed)」コードの非常に大切な点は、アプ...
---この分割によって、アプリケーション自身へのコンテキスト...
---例えば、たった数マイクロ秒しか自由に計算できるプロセッ...
-パケットフィルタはこの機能の例である。
--なぜならパケットフィルタのルーチンは bounded で、カーネ...
---OS が潜在的なパケットの消費者をスケジュールするために...
---そして意味不明。
-Application-specific Safe Handlers(ASHs)はダウンロード...
--これらのアプリケーションハンドラは、メッセージプロセシ...
--ASH はパケットフィルタと関係していて、パケット受信者側...
--ASH の重要な機能として、メッセージを初期化できる、とい...
---この機能を使うと、ラウンドトリップのレイテンシがすげー...
--ASH はいろんな面白い機能を持っている(セクション 6 を見...
-ダウンロードコードの顕著な話題としては、コードに指定され...
-高レベルの言語は、より多くの semantic information を持つ。
-semantic information はより多くの最適化に関する情報を提...
--例えばパケットフィルタ言語は、高レベルとして宣言されて...
--その結果パケットフィルタは、緊急の言語が実行不可能、状...
--しかし、そのような最適化が完了しなかった(割り込みハン...
--それはアプリケーションレベル言語のブロードキャストの範...
-ASH はこのトレードオフの別の例である。ほとんどの ASH は...
--しかし少しの重要な場所(高レベルセマンティクスが有用な...
ページ名: