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

内藤 隆一 (GGC00661@niftyserve.or.jp)
Sun, 09 Apr 1995 00:59:00 +0900

隆一です。

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

>> On Wed, 05 Apr 1995 00:37:00 +0900, 木元さん said:

> In-Reply-To: Your message of "Tue, 04 Apr 1995 23:07:00 +0900"
>  内藤 隆一 さま

> |> ありません。もっとも、仕様上は一度に読みとらなくてもよいことにしておき、
> |> 実装としては一度に読み込むようにすれば、両立はします(^^;;;。
> |
> |心配なのは、実メモリの空きサイズよりも大きな、実行ファイルを読みとろう
> |とすると、ページアウトが発生します。
> |そうすると、ページアウトの処理と実行ファイルを読み取る処理とで競合が発
> |生しないか心配です。

>  以下のような仕様ではいかがでしょうか。

> < プロセスの空間をメモリ(論理アドレス)とスワップパーティションにま
> <ず割り当てます。そして、スワップパーティションにメモリが退避されてい
> <るかのように情報を操作し、スワップパーティションに実行プログラムのイ
> <メージを生成します。なお、ページフォールトが発生したときにスワップパー
> <ティションをアクセスせず、実行ファイルをアクセスするような実装をして
> <もよいものとします。

実行ファイルのコード部分を実際のファイルとスワップ領域の両方に置くとい
うことでしょうか。
このような仕様にしても、ページフォールト時にスワップ領域からコード部を
読み取るような実装にした場合には、ページアウトの処理で競合が発生します
から、あまり問題の解決になっていないのではないでしょうか?
それと、実装として実行ファイルにアクセスするようなことを許すのはいいと
思いますが、その場合には、スワップ領域に実行ファイルがページアウトされ
ているように情報を操作する必要はあるのでしょうか?

# そこまでやると、処理が簡単になるから一度に実行ファイルを読み取ると
# いう意味がなくなるくらい、処理が複雑になってしまうような気がします。

最初の話題に戻りますが、メモリの処理を簡単にするためには木元さんが
#196 に書いたように実行ファイルを実メモリ中にすべて読み込む方法がいい
。多分、これが処理を簡単にするという意味で一番最適な解でしょ
う。

ただ、将来的に仮想メモリを実装するときには、実行ファイルのコード部はス
ワップ領域ではなく、実行ファイルから直接読み取るべきだと考えます。

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