B-Free メイリングリストの皆さん、こんにちは。
>> On Wed, 08 Feb 1995 12:49:00 +0900, JBA03350@niftyserve.or.jp said:
> 内藤 隆一 さま
> | 3) ページアウトされている以外に仮想メモリとして割り当てているが、ま
> | だ物理ページを割り当てていない場合。
> ・・・・
> |このような場合、ITRON で物理メモリを割り当ててしまうのが効率がいいと思
> |います。しかし、そうなると REGION だけでなく個々の仮想ページの情報も
> どっちみち、スワップアウトされるページが発生する場合には、ファイルマ
> ネージャとの連携が必要になりますから、メモリマネージャにまかせてもあま
> り効率の面では変わらないかも知れません。
ちょっと、補足します。
つまり、私の言いたいのはユーザプロセスが論理メモリを新しくアロケートし
たような場合です。
新しくアロケートした領域については、スワップエリアにはそのページの内容
がありません(新しく割り当てたのだから当然ですが)。
ユーザプロセスがそのような領域をアクセスしてページフォールトを起した場合、
メモリマネージャにいちいち聞きにいくよりは、そのページをまだ使っていな
いという印をつけておき物理メモリを割り当ててしまった方がいいのではない
でしょうか?
つまり、メモリマネージャに対してページフォールトを起したというメッセー
ジを送るのはすでに使ったページについてのみに限定することになります。
そうすると、メモリマネージャの動きというのはずいぶん単純になります。
基本的に、メモリマネージャは、ページインとページアウトのときにしか必要
がなくなります。
メモリマネージャは、自分でページアウトしたページのみ情報を記憶しておき、
ページフォルトを起したときにそのページをページインすることになります。
逆に ITRON は、各仮想ページごとに、ページフォールトを起したときに、メ
モリマネージャにお伺いをたてるのか、それとも新しい物理メモリを割り当て
るのかという情報が必要になります。
> また、どの論理アドレスにも実メモリが割り当てられていないというケース
> (つまり、実メモリがどこにも属していないケース)は、
> 1.仮想記憶を使用していない状態(実メモリで間に合っている)
> 2.メモリがパージされた直後の過渡的な状態(プロセスの終了とかメモ
> リブロックの解放とか)
> にしか発生しませんから、ITRON だけで実メモリが割り当てられる可能性は低
> いと思われます。
ということで、この文はちょっと私の言った(つもり)のこととは、ちょっと違っ
ています :-)。
-- 内藤隆一 (ggc00661@niftyserve.or.jp)