[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[b-free: 2117] RINGと保護



林です。タイトルを変えました(^_^;)。

In message <360A4038.A3BC7625@bridgew.edu>
   "[b-free: 2113] Re: Manifesto英語版少し修正。"
   "Hideaki Suzuki <h1suzuki@bridgew.edu>" wrote:
h1suzuki> なるほど、
h1suzuki>  Overhead は問題ではない。
h1suzuki>  移植性には懸念がある。
h1suzuki>  Kernel だけ保護しておけば、それ以上は必要ない。(micro-kernel だから)
h1suzuki> ということですね。

ここはその通り。
# 内藤さんによるとx86の場合オーバーヘッドは多少大きくなるらしいですが。

h1suzuki> で、少し考えてみたのですが、micro-kernel では、kernel により process or
h1suzuki> task としての保護が効いているという事ですよね。
h1suzuki> でも、それって、user applications も、同じ level で走っているわけですよ
h1suzuki> ね。
h1suzuki> では、manager を悪意のある process が殺したりできるのでしょうか?
h1suzuki> Ring level をもとに、そういうことを禁止するのは良い方法といえるでしょう
h1suzuki> か?
h1suzuki> # たとえば、自分より内側の ring の task は殺せないとか。

UNIXなんかだと複数のユーザのプロセスが同じレベルで走ってますが他ユーザ
のプロセスを殺すことは(rootは別として)普通はできませんよね。これと同様
にリングなんて物は考えなくてもユーザがシステムに手を出せないようにする
のは可能です。もちろんUNIXのユーザ管理のように何らかの管理機構を作って
おくことは必要でしょうけど。
# でもそもそもシステムコールは全部どこかのマネージャに送られて処理される
# のだから、そのマネージャが不適切な操作はブロックすれば良いのですよね。

h1suzuki> でも、これって、CPU (特に i386)の ring 機構と言うより、ring 状の保護機
h1suzuki> 構全般の話なのかなぁ。
h1suzuki> Software で emulation しちゃえば良いだけの話?

そうですね。CPUの機能を使って硬直したリング構造を作るよりもソフトウェア
で保護機構を構築する方が柔軟な対処ができて良いのではないかな?


--
Takanori Hayashi
takanori@ohsaki.meidensha.co.jp