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

[OSASK 560] Re: 「OSASKのファイルシステム」.



やっほぉ、<川合の旦那>
[2000年4月12日(水)]にもろた
【[OSASK 558] Re: 「OSASK のファイルシステム」.】への返答っ! 。

関係ないけど番号が止まってますねぇ

川合>  普通にスワップファイルを使った仮想記憶では、「あふれた部分を入
川合>れ替える」というのが基本で、仮想記憶の総容量は、「RAMの容量+ス
川合>ワップファイルの容量」になります。そして入れ替えの際には、メモリ
川合>中のデーター(もしくはプログラム)を入れ替え先に書き込みます。

うみゅうみゅ。本屋で例えてみよう。
まあ、この場合自分で持ち運んだりすることのできる範囲が丁度メモリに
該当するくらいで考えると・・・
スワップの場合は、持てるだけ持って、読みたけりゃ
足元(スワップ)においていくような感じ。
流石に持ちすぎると店のおっちゃんに怪しまれるから時々戻しに行く、と。
返しに行くものが少なければ(何かしらの変更が行われるのであれば)
本屋の中の移動距離は少なくて済むかもしれない、と。

川合>  OSASKの仮想記憶は、「とりあえず仮想記憶上にあるものは全てハー
川合>ドディスク上に割り当てる」というのが基本で、仮想記憶の総容量は「
川合>ハードディスクに割り当てられたファイルの容量」になります。このフ
川合>ァイルはスワップファイルと似たような働きをしますから、仮想記憶の
川合>容量はRAMの容量が加えられない分だけ、通常の方法よりも損をしてい
川合>ると言えます。・・・実際には、普通の方法よりも仮想記憶が小さくな
川合>るのではなく、普通の方法よりもハードディスクを多く使うということ
川合>ですが。

OSASKの場合は完全に立ち読み体制。持ち運ぶにしても脇に抱えるくらい。
読んでは返し、ってのを繰り返す。いやだなこんな客(笑)
#しかしふつーはこうするよな(;^^)
ただし移動距離は長くなる可能性がある。(返しに行くから)
金がなくて買わない場合はさっさと移動できるってのが利点か。

川合>  しかし、これには利点があります。まず、読み込みや書き戻しのハー
川合>ドディスク上での位置が変動しないので、スワップ(OSASKではスワッ
川合>プとは言わないのですが、ここでは便宜的にそう書きます)の際に、書
川合>き戻しを省略できることがあります。全く書き換えられることのないプ
川合>ログラムやデーターは、入れ替えの際にハードディスクへ書き戻すこと
川合>はないのです。なぜなら、もうそこに書いてあるのですから。普通の入
川合>れ替えタイプですと、メモリ上での書き換えが一度も起きなくても、入
川合>れ替えの際には書き戻さなくてはいけません。なぜならかつてハードデ
川合>ィスク上に書いてあったデーターは他のページの入れ替えの際に上書き
川合>されてしまっているかもしれないからです。OSASKの仮想記憶では、書
川合>き戻し先と読み込み元の位置は対応していますから、上書きされる心配
川合>をしなくていいわけです。

まあ、ようするにタイトル見るだけ、というような状況の場合でみると
スワップではいちいち手にとって他の本といっしょに持ち運んでから見る、
OSASKのはその場で手にとって見る、ってところだね。
それに、OSASKでは読んでもいないのに持ちすぎて怪しまれるのがいやで
返しに行くってのがない、と。

川合>  さらに、こんな特徴もあります。ハードディスク上にファイルがあり
川合>、それをメモリにロードした後、何らかの理由でメモリのその部分がス
川合>ワップアウトされてしまう状況があったとしましょう(これは、珍しい
川合>ケースではなく、よくあるケースです)。普通の仮想記憶では、最初に

ようするに持ち切れなくなった、と(笑)

川合>このファイルをロードするときにディスクアクセスし、スワップアウト
川合>の際にはメモリの内容を書き戻すためにディスクアクセスします。これ
川合>は結果的に、ハードディスク上のファイルの内容がスワップファイル上
川合>にコピーされたことになります。一方OSASKでは、ハードディスク上に
川合>あったものは、新たな割り当てをしないでそのファイルそのものを仮想
川合>記憶の一部として扱います。したがって、ロードした後に書き換えられ
川合>ていなければ、やはり、書き込み過程を省略します。スワップのために
川合>ハードディスク上で同じ内容を持つ部分が2個所できたりはしないわけ
川合>です。

こういう面は効率的と見ていいよね。

川合>  したがって、先にOSASKの仮想記憶は普通の方法よりもハードディス
川合>クを多く消費すると書きましたが、一概にそう決め付けるわけにもいか
川合>ないのです。かえって、効率がよいかもしれません。

メモリの量と仮想記憶に割り当てられる量により結構効率差が出そう。

川合>は普通の方法とOSASKでの方法とに差異はありません。しかし、ここか
川合>らが違います。OSASKの場合、このハードディスク上のコピーファイル
川合>は、「キャッシュ」として活用されます。このファイルに対するリード
川合>アクセスは実デバイスにアクセスできる状態にあっても、ハードディス
川合>クから読み込ませます。書き込みに際しても、まずはハードディスク上
川合>のキャッシュが更新され、その後に実デバイスへ書き戻されるわけです

売れる本は本来あるべき所以外にレジの廻りとかにもある。うむ。
#でも私はそーゆーのはなぜか滅多に買わない。なぜだ?

川合>。普通の仮想記憶はディスクキャッシュとは統合されていないために、
川合>そういう機能を持っていません。そして再起動時にはスワップファイル
川合>をクリアするのが普通ですが、OSASKではキャッシュファイルをクリア
川合>したりはしません。

スワップの場合は、レジのまわりにあろうがなんだろうが
本来有るところから持ってこないといけないわけだ。

略
川合>するときに名前を付けさせることにしました。これはメモリ管理にディ
川合>レクトリ構造やセキュリティーを導入できる事をも意味し、かえって好
川合>ましいでしょう。・・・こうして、メモリ管理のためのシステムコール
川合>は完全にファイル管理のためのシステムコールに吸収されてしまったの
川合>です。これと同時に、OSASK上からメモリという概念は一掃されて、メ
川合>モリレスなアーキテクチャーになったのです。メインメモリは超巨大な
川合>キャッシュバッファに成り下がりました。

むう、経緯が分かってとってもよろしい。

川合>  メモリがなくなったからといって、全てのアクセス方法が従来のファ
川合>イルアクセスのようにまどろっこしくなるわけではありません。メモリ
川合>を確保するときに名前が必要なだけで、あとはメモリとしてアクセスし
川合>ていれば、自動的に仮想記憶ファイルが更新されるからです(仮想記憶
川合>の進化した形なので当然です)。このメモリ的なアクセス方法は、仮想
川合>記憶へのアクセスだけではなく、普通のファイルにも使えます。何とい
川合>っても、両者にはもう何の差異もないのですから。おかげで、ファイル
川合>アクセスは簡単になりました。それでいっそのこと従来のファイルアク
川合>セスのためのシステムコールも撤廃してしまおうかと思ったのですが、
川合>それは互換性を損なう恐れがあり、OSASKの精神に反するので思いとど
川合>まりました。

うーん、後々混乱の元にならなければいいけど・・・

川合>  ・・・とまあ、こんな感じです。やっぱり、こっちの方がわかりやす
川合>い?結論から入るか、過程から入るかの違いでしかないんだけどね。

そこにいたるまでの経緯を示したのは、非常に分かりやすくなる
事ではないかと思う今日このごろです。

ああ、本屋に行きたくなってきた(笑)

でわでわ

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
_/  氏名:もしかしたら橋 直行                                      _/
_/  E-mail:n-hashi !Atmark! interlink.or.jp,PXW06256 !Atmark! nifty.ne.jp             _/
_/_/_/_/_/_/_/_/_/_/_/_/_/-----平成12年04月12日(水曜日) PM11時43分_/_/