[b-free: 205] Re: About memory manage

内藤 隆一 (GGC00661@niftyserve.or.jp)
Mon, 03 Apr 1995 00:25:00 +0900

隆一です。

B-Free メイリングリストの皆さん、こんにちは。

>> On Sun, 02 Apr 1995 00:28:00 +0900, 木元 さん said:

> In-Reply-To: Your message of "Fri, 31 Mar 1995 23:45:00 +0900"
>  内藤 隆一 さま

> |この a. と b. ですが、本質的には同じ処理ではないでしょうか?

>  もちろん、本質的にはまったく変わりませんが、OSの挙動としてはずいぶ
> ん違ったものになりますし、チューニングの方向も変わります。

本題とはあまり関係ないですが、a. の方法は、初期のころの UNIX に似てますね。
デマンドページングのない UNIX のころは、実行ファイルを全部読み込んでい
たという話ですから(というより、ハードウェアにページフォールトの機能が
なかった)。

> |部を読もうとすると、スワップエリアにコピーする処理が発生します(もちろ
> |ん、空いている実メモリ以上のコード部は読み込めないという制限をつければ
> |いいですが、これでは何のための仮想メモリか分からなくなってしまいます)。

>  別にあいていなくてもいいですが、実メモリ以上は読み込めませんね。あと、
> フロッピーなどのリムーバルメディアからプログラムを読み込むときのことを
> 考えると、プログラムの一部をファイルに置いたままにするのはまずいと思い
> ます。

手動で抜き差し可能なメディアかどうかはデバイスの情報に書いてあるはずです。
そういうメディアだけ、実行ファイルの全部を読み取るとかすればいい話では
ないでしょうか?
(もちろん、最善の方法は、Macintosh のように、手動で抜き差しができずソ
フトでイジェクトするというものです。が、これは対象マシンが PC9801 であ
る限り難しいでしょう)
HD まで、実行ファイルの全部を読み取る必要はないと思いますが、どうでしょ
う?

> |ところで、メモリマップドディスクというのは、知識不足なもので、はじめて
> |聞いたのですがどのようなものでしょうか?
> |メモリマップドファイルとも違うみたいですし。。。

>  私が思いつきで書いたので m(. .)m正確な言葉ではないかも知れませんが、
> ディスクをクラスタの並びのままで論理アドレスに割り振り、それを実メモリ
> にマップして、さらにそれをクラスタの順に並べ変えようという変なシステム
> です(^^;;;。レジュームが簡単という特徴があります(^^)。あと、ページフォー
> ルトが発生しているリストを順にたどれば、自動的にエレベータシーキングが
> かかります。リードオンリーの領域は、ページアウトの際に書き込みに行かな
> いのでその分は速くなります。

あまり、イメージが湧かないのですが、ディスクの内容をそのまま論理アドレ
スにマップするようなシステムでしょうか?
この場合、論理アドレスとは何を指しているんでしょうか?

> ディスクをクラスタの並びのままで論理アドレスに割り振り、それを実メモリ

とありますから、ディスクの内容を論理アドレスにマッピングしているような
気がしますが、それだと意味がないような。。。

> #1Gのスワップパーティションを前提にするなら、論理アドレス1Gをその
> #ままディスクに割り当てるのが簡単だと思いますが(4Gでもいいけど)。

??よくわかりません。
プロセスごとに仮想空間が分離しているという、B-Free の場合、論理アドレ
スは、ユーザプロセスごとにあります。システムにひとつしかないスワップ領
域を論理アドレスに割り当てるのは無理だと思いますが?
(ひょっとして、プロセスごとにスワップエリアが存在しているようなシステ
ムを想定しているのでしょうか?)

-- 
内藤隆一 (ggc00661@niftyserve.or.jp)