重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

メモリのページング(ページイン)について教えてください。

ページインとは二次記憶のデータをメモリに読み込むことだと認識しています。
また、物理メモリが少なく、ページアウトとページインが多量に発生する場合、
システムの処理が鈍くなると認識しています。

そこで疑問なのですが、未だ開いたことが無いファイル(テキストファイルなど)を開くときは
二次記憶からはじめて読み込むことになるので必ずページインすることになるのでしょうか?

手元のマシンでxlsとmdbのファイル(両方100MB程度)を開いてパフォーマンスカウンタを
確認したところxlsはページイン(pages input/sec)が発生せず、mdbはページインが発生しました。

私は基本がわかっていないため以下のことを確認したいと思っています。
1.基本的に開いたことが無いファイルを開くときは必ずページインが発生する?
  →私がxls開いたときの挙動がおかしい。mdbの挙動が正しい。
2.初めて開くファイルだからといってページインは必ずしも発生しない?
  →xlsの挙動もmdbの挙動も正しい。


以上、もしご存知の方がいらっしゃったら教えていただけないでしょうか。
よろしくお願いします。m(_ _)m

A 回答 (3件)

ページイン・ページアウトは、「本来、物理メモリがふんだんにあれば必要ないが、物理メモリがすくないためにやりくりの手段として、ストレージデバイス上のページファイルと物理メモリの間でデータを双方向に移動させる(今まさに要る物をページインして、しばらく要らないと思われる物をページアウト)」ということです。



ページイン・ページアウトはあくまで、仮想記憶の仕組みの中の話です。

一方、ストレージデバイス上にあるファイルからのメモリへのデータ読み込みの場合は、物理メモリがふんだんにあったとしても、必ずストレージデバイスから物理メモリへの読み込みが発生します。これは当たり前ですよね。その読み込みのことはページインとは言いません。仮想記憶と関係ないので。
物理メモリ上のデータのファイルへの書き出しも同じく、ページアウトとは言いません。

話をややこしくする技術として、「メモリマップトファイル」というのもありますが、初心者は知らなくていいです。
    • good
    • 0

そこには


> 仮想記憶(仮想メモリ)の方式の一つで、メモリ領域をページと呼ばれる一定の大きさの領域に分割し、物理的なアドレス(番地)とは別に仮想的なアドレスを割り当てて管理する方式。
とあります。
補助記憶装置を使用するかどうかは、ページングとは直接関係ありません。

大きなファイルを読み込むと、その内容をメモリ上に記憶するためにファイルと同等以上の領域が必要となり、結果としてページインが発生することはあります。
この場合でも、ページインの発生理由は「開いたことのないファイルを読み込んだから」ではなく、「メモリを大量に使用したから」です。
処理時のメモリ状態で問題無いなら、当然ページインは発生しません。
    • good
    • 0

>ページインとは二次記憶のデータをメモリに読み込むことだと認識しています。



この認識がそもそも間違っています。

この回答への補足

ッ!?

e-wordsで調べた限りでは、間違っているようには思わなかったのですが、
http://e-words.jp/w/E3839AE383BCE382B8E383B3E382 …

どこか必要な記載があるページがあれば教えていただけないでしょうか?

補足日時:2013/08/19 06:50
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!