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

[OSASK 2978] from OSASK BOARD



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


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

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

[OSASK 2967]へのレスです。

>OSASKの独自性はいまいち理解できませんが、
>(スワップファイをキャッシュと呼んでるように思える)
>FDかHDDかで動作が変わるのが主流というの初耳です。
>僕はFDでもネットワークでも読み直すと思ってました。

 僕の記憶が正しければ、普通のOSの仮想記憶はスワップファイルとのやり取り
しかしないはずです。つまり、スワップファイル上にないものは、FD上にあろう
とHD上にあろうと、ページをアウトする時に書き出さなければいけません。一度
書き出してしまえば、以降は書き換えがない限り書き出し作業は省略できるでし
ょう。

 それに対しOSASKの仮想記憶は、実メディアの該当ファイルへアクセスします
。そしてその際に、FDなど遅いデバイスに対してはHD上に構築されたキャッシュ
を利用します。HDなどではそんなことをする必要はないので、そのままアクセス
します。

 またOSASKのファイルキャッシュと他のOSとのスワップファイルとで、大きく
異なる点があります。普通のOSは、そのOSをいったん終了して再起動した時には
スワップファイルはクリアされます。これは、スワップファイルがメモリの延長
であり、起動時にメモリをクリアするのと同じ理由でスワップファイルをクリア
するためです。・・・対してOSASKでは、キャッシュをクリアしません。FDのキ
ャッシュはそのまま残り、メディアがドライブに入っていてもいなくても、アク
セスできます(このアクセスはキャッシュ上で処理され、ドライブにメディアが
入った時に自動的にライトバックされます)。

>> そうです。僕はセグメンテーションによる速度低下はごくわずかだと考えまし
>>た。OSASKは積極的にセグメンテーションを使えます(アプリケーションの作成に
>>際しては、セグメンテーションを意識しないこともできます)。
>セグメンテーション自体で速度が低下するとは思いませんが、
>管理が面倒じゃないですか?

 いや、別に面倒ではないですよ。

>286にはセグメンテーションしかなかったので使ってて、
>今は互換性のためだけに存在してると思ってました・・・。

 とんでもないです。それは世間がセグメンテーションを軽視しているからでし
ょう。もし単に互換性のためにセグメンテーションが用意されているのだとした
ら、386になった時にあれほど機能を拡張する必要はありませんでした。

 OSASKでは、メモリ保護のためにセグメンテーションを使い、仮想記憶のため
にページングを使っています。この仕組みのためにページテーブルを大幅に節約
できて、タスクスイッチの高速化にかなり寄与していると思っています。どのタ
スクにも4GBの空間をそれぞれ与えるというのは、やたらとページテーブルが必
要になるので、僕の好みではありません。OSASKでは、各アプリが必要なアドレ
ス空間を起動時に示して、それでやりくりしています。もちろんここで4GBを指
定すれば、他のOSと同じ挙動をすることになりますが。