• ベストアンサー

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

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

質問者が選んだベストアンサー

  • ベストアンサー
noname#114832
noname#114832
回答No.1

>割込みとページフォールト >ページフォールトについてwikipediaで見てみると、 >ハードウェアから発生するとあるのですが、 >ハードディスクから発生するなら、ページフォールトは外部割込みだと >おもうのですが、違うようです。なぜなんでしょうか? 「ハードディスクから発生する」とは書かれてないのでしょ? 80386時代の知識ですが、現在でも同様かと思いますので参考に書きます。 管理機構を内蔵したCPUは、OSレベルのソフトウェアによって 「そのユーザの領域は今メモリ上にない」というような設定をしてから そのメモリ領域をHDDに追い出したりします。 その状態であるソフトウェアがその領域をアクセスしようとすると、 CPU内蔵の管理機構によって「その領域は今そこにない」という事が ハード的に解るので、 割り込み(というよりエクセプション)を発生します。 OSレベルのソフトウェアは、その処理としてHDDからメモリに読んでくる、 その前に使用頻度の少ない領域をHDDに追い出す...などを行います。 「ハード的に解る」とは、その間ソフトウェアが介在せずに、という意味です。

ghfjri
質問者

お礼

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

その他の回答 (1)

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.2

「ページフォールトを発生させるハードウェアを一般にメモリ管理ユニットと呼ぶ」って該当のWikipediaに書かれてますが、ちゃんと読みました? そもそも、(仮想メモリによる)ページフォルト発生時は「メモリにアクセスしようとしたが、そのページは現在仮想メモリ上にいる」という状況でHDDにはまだ何のアプローチも取っていません。

ghfjri
質問者

お礼

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