[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[b-free: 2051] Re: Manifesto 英語版少し修正。
隆一です。
From: Hideaki Suzuki <h1suzuki@bridgew.edu>
Subject: [b-free: 2048] Manifesto 英語版少し修正。
Date: Sun, 06 Sep 1998 20:20:55 -0400
...[snip]...
> 同時に、外殻策定作業に伴い、最近独断と偏見の「外殻の探索」という mail を
> ML にあげているのですが、それに伴い、周辺核の絵を描きました。絵の上に有
> 用な情報は特にありません。ただの絵です。「外殻の探索」シリーズ (笑) は、
> かなり、勝手に描いていますので、どんどん、おかしな部分や改良点を指摘して
> くれると助かります。じゃないと、やってて楽しくない。たとえば、「その部分
> では、性能がでない。bottleneck がある。」とか、、、言ってください。
> このシリーズは、いちいち「した方がいいのでは?」という案としての書き方が
> 面倒なので、すべて、断定口調で書いています。
>
> 上の修正版や絵はすべて、以下で見れます。
>
> http://www.yashi.com/h1suzuki/B-free.htm
>
> よろしく。
拝見しました。
いくつか気になったところをコメントします。
o 図と説明では、中心核を ring0、周辺核が ring1、外殻が ring2 となって
いますが、これは何か理由があるのでしょうか?
i386 の ring 機構を積極的に使う理由というのが思いつきません。
他の OS でも i386 の ring 機構を 2 つ以上使っている OS はあまりない
と思います(使っていたのは、OS/2 ぐらいだったと思います)。
o 積極的に ring を使うということでしたら、i386 では ring 間の移動は、
trap 命令ではなく、gate 命令を使うのではないでしょうか?
o メモリマネージャとプロセスマネージャは、一部 ring 0 となっていますが、
これは、中心核の中にメモリマネージャとプロセスマネージャの機能が一部
入っているということでしょうか?
o 「LOWLIB は ring 0 で動くため、ITRON3 の機能が使用でき、すべての
manager 達の相互協調動作を達成するよう働きます。」とありますが、
周辺核は、直接 ITRON を呼び出すのはいけないんでしょうか?
私が今作っている POSIX マネージャは、そうやっているんですが……。
LOWLIB を呼び出すのは、アプリケーション -> 周辺核(マネージャ) 間
ではないでしょうか?
周辺核が LOWLIB を介して中心核の機能を使うのはあまり必然性がないと
思います。イメージとしては、LOWLIB は ITRON の周りではなく、アプリケー
ションを覆う感じの方が正しいと思います(つまり、アプリケーションか
らは、直接 ITRON システムコールは使えず、呼べるのは LOWLIB だけとい
うこと)。
o 図では、ドライバが ring1 で動くようになっていますが、現状では ring0
で動くようになっています。ring1 で動く必要性はあるのでしょうか?
また、デバイスマネージャのところにあるイベントキューとは何物でしょう?
p----------------------------------------------------------------------q
| FROM R.Night |
| E-mail: |
| rnaitoh@st.rim.or.jp |
| Key fingerprint = 89 EB 77 95 40 C0 3C CC 37 A1 A7 FA 1C 66 FF D0 |
b----------------------------------------------------------------------d