メモリ管理方式として、ページング方式が採用された初期の頃は、プロセスの全ページをメモリにロードしていたようです。
その後オンデマンドページング方式が発案され、現在はこちらが主流のようです。
仮想記憶という言葉には2つの意味があると思います。(ここすごく紛らわしいです。)
1、プロセスが持つ論理アドレス空間
2、スワップなどのHDD内にある記憶領域
スワッピングの機能は、仮想記憶2の方で、メモリ不足になった時に、プロセスが使用していない領域を補助記憶装置に戻しますよね。
(スワップアウト、スワップインの単位はページ単位とプロセス単位があるようです。OSによって異なるそうです。)
ここでは、ページ単位に絞ります。
スワップイン、スワップアウトがページ単位で行われる場合・・・
確認です。
ページインとスワップインは同じような意味ですよね?
ページアウトとスワップアウトは同じ意味ですよね?
よくメインメモリにかなりの容量(32GBなどなど)を搭載している方とかは、windowsでもlinuxでも仮想記憶(スワップ機能)を無効にしていると思います。自分も無効にしています。
(windowsではコントロールパネルから、linuxではスワップパーティションを持たないといことです。)
自分は、長い間、スワップ機能を無効にすると「スワップアウトの方だけが無効になる」と思っていましたが、
スワップイン・・・すなわちオンデマンドページング(ページイン)の方も無効になるのでしょうか?
(実際に、スワップ機能を無効にするとスワップアウトは無効になりますよね。)(こちらの理解は正しいはずです。)
メインメモリが大容量であるなら、オンデマンドページング方式でなくても、昔のプロセスの全ページをロードする方式でも問題ないので、スワップ機能を無効にするとオンデマンドなページインの方が無効になるのか気になりました。
用語が同じなので、前提の部分の理解が間違っているかもしれません。
ページングファイルとスワップファイルは同じでスワップ領域(HDD)のこと
ページ単位でのスワップアウトとスワップインを行う場合は、
ページイン=スワップイン、ページアウト=スワップアウトと考えていますが・・・
現在では、スワップイン、スワップアウトはプロセス単位で行うのが主流なのですか?
スワップ機能がプロセス単位だった場合、スワップインとページイン及びスワップアウトとページアウトはそれぞれ別物ですよね?
となるとページングファイルとスワップファイルも別物ということですよね?
長いのですが、分かる方教えてください。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/08 14:22
2017/06/08 14:39 編集
2017/06/08 14:39
2017/06/08 14:46
2017/06/08 14:53
2017/06/08 15:05
2017/06/09 01:00
2017/06/09 01:09
2017/06/09 01:19 編集
2017/06/09 01:27
2017/06/09 01:48 編集
2017/06/09 04:06
2017/06/09 06:20
2017/06/09 06:24
2017/06/09 06:48
2017/06/09 07:52