一回も披露したことのない豆知識

割込みとページフォールト
ページフォールトについてwikipediaで見てみると、ハードウェアから発生するとあるのですが、ハードディスクから発生するなら、ページフォールトは外部割込みだとおもうのですが、違うようです。なぜなんでしょうか?

A 回答 (2件)

>割込みとページフォールト


>ページフォールトについてwikipediaで見てみると、
>ハードウェアから発生するとあるのですが、
>ハードディスクから発生するなら、ページフォールトは外部割込みだと
>おもうのですが、違うようです。なぜなんでしょうか?

「ハードディスクから発生する」とは書かれてないのでしょ?

80386時代の知識ですが、現在でも同様かと思いますので参考に書きます。
管理機構を内蔵したCPUは、OSレベルのソフトウェアによって
「そのユーザの領域は今メモリ上にない」というような設定をしてから
そのメモリ領域をHDDに追い出したりします。

その状態であるソフトウェアがその領域をアクセスしようとすると、
CPU内蔵の管理機構によって「その領域は今そこにない」という事が
ハード的に解るので、
割り込み(というよりエクセプション)を発生します。
OSレベルのソフトウェアは、その処理としてHDDからメモリに読んでくる、
その前に使用頻度の少ない領域をHDDに追い出す...などを行います。

「ハード的に解る」とは、その間ソフトウェアが介在せずに、という意味です。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
ちょっと質問がおかしいですね。出直します。

お礼日時:2010/07/24 22:09

「ページフォールトを発生させるハードウェアを一般にメモリ管理ユニットと呼ぶ」って該当のWikipediaに書かれてますが、ちゃんと読みました?


そもそも、(仮想メモリによる)ページフォルト発生時は「メモリにアクセスしようとしたが、そのページは現在仮想メモリ上にいる」という状況でHDDにはまだ何のアプローチも取っていません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
ハードディスクではなくてハードウェアでした。間違えました。

お礼日時:2010/07/24 21:53

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