[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