[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 2961] from OSASK BOARD



このメールは、OSASK伝言板に書き込まれた内容です。
この書き込みに返事を書く場合は、下のURLから書き込みを行なって下さい。


http://www.imasy.or.jp/~mone/osask/index.cgi?REFER=3c47fdc8_08da

From: 川合秀実
Message-ID: 3c47fdc8_08da
Date: 2002/01/18 19:49
Subject: Re: ファイルの概念

[OSASK 2959]へのレスです。

>スケジューリングについてですが、個人的にはグローバルと
>インナーといったネーミングに違和感があります。

 すみません。ネーミングに失敗したかもしれません。ネーミングセンスのなさ
は痛感しているので、もしより分かりやすい表現がございましたらご提案くださ
い。参考にさせていただきます。

>あと排他的や共存的が普通とは異なる意味で使われてますか?

 普通とは異なる意味かどうかは、僕には分かりません。僕は普通のつもりで使
っていますが。ご指摘の「普通」は、どういったものなのでしょうか?それが分
からないと、お返事できません。

>グローバルレベルがたくさんある意義はなんなんでしょう。

 別に深い意味はありません。これくらいあれば十分だろうと思っただけです。

>CPUがあいているときしか動かなくてもいいプロセスの順序が
>そんなに多くあるとは思えませんが。

 それは通常よりも下のレベルについてでしょう。通常よりも上のレベルだって
あるのです。リアルタイム性を要求されるタスクは、通常よりも上のレベルを使
うでしょう。そして、リアルタイム性を要求するタスクが複数あり、それらのう
ちの優先順位を排他的に決めたければ、グローバルレベルがいくつか空いていた
方が便利です。

>あとアイドルやスリープを優先度の一部にわざわざ含めてるのは
>発想の転換の秀逸さをアピールするためですか?

 まさか(笑)。

 OSASKにはスリープという状態がないのです。それは単に最下位のグローバル
レベルに落ちたというだけです。扱うべき状態が少なくて済むということは、タ
スクのスケジューリングのコードがシンプルになるということです。それ以上の
利点は今のところ期待していません。

 アイドルも特別扱いしなくてよくなったので、とても単純な構造になっていま
す。またメモリの浪費の可能性を指摘してくださって、OSASKについて良くご理
解していただき嬉しいのですが、しかし今のところグローバルレベル1つにつき
メモリの消費量の増加は64バイトです。仮に32レベルあっても2KBにしかなりま
せん。僕のセンスにおいては、拡張性とサイズの問題とを比較して、このくらい
が妥当な量だと判断しました。

>あとインナーレベルに比例して配分っていうのはプロセスが
>タイムスライスを使い切らなかったとき(一般的なプログラムの
>ほとんどは使い切らないと思いますが)大変だと思いますが、
>そのあたりはどうやって実装してるのでしょう?

 与えられた時間をスリープなどによって放棄するのは、ご指摘の通り、良くあ
ることです。ほとんどのアプリケーションで起こっています。

 この場合インナーレベルは正確な時間配分ではなくなり、時間配分の上限を決
めるだけになります。つまり自主的に放棄したタスク時間は、特に気にしてはい
ません。

 結局インナーレベルが効いてくるのは、滅多にスリープしないようなタスクが
複数走っている場合のみです。

>UNIXとは異なる観点に立っていると言明してますが、
>UNIXにカーネルの開発に関する概念がありますか?

 おっしゃりたいことを確認したいのですが、UNIXにはそれぞれの実装があり、
共通した基盤はないのだから、それとは異なるという記述は不適切なのではない
か、ということでしょうか?

>それともUNIXライクなインターフェイスを提供しないという
>意味ですか?またはUNIXと呼ばれている中で代表的なOSと観点が
>異なればUNIXと異なるといえるという意味ですか?

 僕は後者の意味で文章を書きました。

 ・・・しかし、確かに僕の記述はあいまいだったかもしれません。比較の対象
としてUNIXではなく、LinuxやFreeBSDなどと書くべきだったかもしれません。