• 締切済み

デマンドページングの動きについて

「ページフォルト」が起こると割り込みが発生しますよね。 だから割り込み処理プログラムが必要だと思うのですが、 そこではどんな処理をしているのですか?  割り込み以外の部分では何をしているんですか?  ページ追い出し処理はどうすれば、またどこにあればいい のですか? 

  • randy
  • お礼率44% (4/9)

みんなの回答

  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.4

CPUアーキテクチャ、システムアーキテクチャ、OSの組み合わせによって大きく違います。 多くの場合ページフォルトはソフトウェア割り込みですからスーパーバイザモードで管理しているのですが…。 ・「VAX アーキテクチャ・ハンドブック」 (共立出版 ISBN4-320-02212-2) ・「VAX/VMSソフトウェア システム・ソフトウェア概要 第2版」 (共立出版 ISBN4-320-02419-2) ・「UNIX4.3BSDの設計と実」 (丸善 ISBN4-621-03607-6) などにページング処理の実装が解説されています。 あくまでも“アーキテクチャ依存”であることをお忘れなく。

回答No.3

一般のプログラムにはページフォールトが起きたことを知る手段は ありません。検出からページ入れ替えまで、すべてOSが処理します。 質問の意図は、ページフォールトの割込みが起きると、OS内部の割 込み処理ルーチンが何をしているか知りたいということでしょうか? 割込み以外の部分とは、何でしょうか?OSの割込み処理ルーチン以 外の部分は何のためにあるかという意味ですか? 追い出し処理がどこにあればいいとはどういうことでしょう?OS内 部というだけでは不足という意味でしょうか?

  • KOH_da
  • ベストアンサー率31% (161/506)
回答No.2

必ずしも間違いとはいえないかもしれませんが、 普通のソフト的な割り込みプログラムが必要と思っているなら、 勘違いしています。 メモリの管理は自動的に行なわれるので、 ソフトウエアから見れば割り込みは起こっていません。 CPUの内部から見れば割り込みかもしれませんが、 それを割り込みと呼ぶ人は、CPUの設計者くらいでは? コンピュータの規模も書いてもらえると答えやすいです。

  • coolguys
  • ベストアンサー率18% (351/1917)
回答No.1

割り込み処理っていうのは 「FIFO」や「LRU」のことではないんでしょうか?

randy
質問者

補足

はい、LRUのことです。

関連するQ&A

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

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

  • ページフォールトを発生させるメモリ管理ユニットとはCPUの中の部品なん

    ページフォールトを発生させるメモリ管理ユニットとはCPUの中の部品なんですか? ページフォールトについてwikipediaで見てみると、「ハードウェアが発生する割り込み」とあります。ハードウェア"から"発生するなら、ページフォールトは外部割込みだと思いました。しかし基本情報技術者の過去問によると違うようです。ページフォールトを発生させるメモリ管理ユニットとはもしかしてCPUの中の部品なんですか? ちなみにH18春問21です。

  • 割り込み処理(H14春22)

    以下の基本情報処理問題の解答を見ても理解し切れません。 ご助言お願いします。 【問22】割込みが発生すると,あるアドレスが退避され,割込み処理が実行される。割込み処理が完了すると,退避されていたアドレスが復帰され,割込み直前に実行していたプログラムの実行が再開される。退避されていたアドレスはどれか。 ア 割込みが発生したときに実行していた命令のアドレス イ 割込みが発生したときに実行していた命令の次の命令のアドレス ウ 割込み処理の最後の命令のアドレス エ 割込み処理の先頭の命令のアドレス 【答】イ 割込みが発生すると実行されていたプログラムが中断され、割込み処理が実行される。 割込み処理が完了すると退避されていたアドレスが復帰され、割込み直前に実行していた元のプログラムの実行が再開される。 その場合、割込みが発生したときに実行していた命令の次の命令のアドレスが実行される。 【コメント】 下のような流れになると思っています。 なぜ「次の命令のアドレス」が出てくるのか、教えて頂けませんか。 (1)処理実行中 (2)割り込み発生 (3)(1)を中断し、どこかに退避 (4)(2)を実行 (5)(2)が完了したので、(1)を元に戻す (6)(1)を実行(割り込み前に戻る)

  • OSの割り込みについて

    以下の各々の割り込みについて。 必要な処理を、なぜ他の方法ではなく、割り込みを通してOSに行ってもらうのか? よくわからなかったので、どなたか教えてください。 ・ハードウェアの誤り検出 ・入出力処理終了の報告 ・タイマ ・外部信号割り込み ・ソフトウェアの誤り検出 ・ページフォールト/アドレス変換例外 ・システムコール/カーネルコール

  • 基本情報処理技術者試験 質問

    プログラムを実行中に、スーパーバイザコールなどの割込みが入ったとき、「プログラムカウンタの値やレジスタの値が一時退避し、割り込みの処理が終わったらその値は戻ってくる」とテキストに書いてありました。 割り込み発生時のプログラムカウンタやレジスタの値の退避先ってどこになるんでしょうか?

  • マルチプログラムの多重度に関する質問

    セキュアドのH19AM2で以下のような問題が出題されました。 ----------------------------------------------------------------------------------- マルチプログラムの多重度の設定を過度に小さくした場合に発生する現象として, 適切なものはどれか。 ア CPUの使用率が上がる。 イ 各プロセスの処理時間が長くなる。 ウ 主記憶の使用率が下がる。 エ ページフォールトの発生回数が多くなる。 ----------------------------------------------------------------------------------- 正解がウであるということは、私も理解できているのですが、 マルチプログラムの多重度はWinXpであればどのように設定できるのでしょうか? 小さくするなんてことはOSの設定でできるのでしょうか? それともプログラム側で制御するのでしょうか? 実際どうやって制御するのだろうという部分に疑問を持ってしまいまして、 もしよろしければ、ご教示お願い致します。

  • ページフォールト

    Windows XP Embeddedを使用しています。仮想メモリは無しとしています。アプリケーション を動作させると、異常なメモリリーク(初期は10MBから90MBまで増加)が発生し、動作も 不安定になりました。いまのところ原因の特定に至っていません。 タスクマネージャで見るとアプリケーションにページフォールトが発生しています。 これは正常なのでしょうか? 正常とすれば、スワップファイルを持たないのにページフォールトが処理されているのでしょうか?

  • ページング記憶の問題

    大学でのOSの学期末レポートの問題なのですが、以下の問がどうしてもわかりません。 解答と解説、教えて頂きたいです。 ------------------------------------------------------------------------ グローバルLRUアルゴリズムによってページ置き換えを行うページング記憶において、 番号が 0,1,2,3,0,4,2,0,1,2,3,4 のページ を順に参照したとき、 (1)LRUスタックの変遷の様子を図示せよ。 (2)主記憶容量の(i.e.主記憶に置けるページ数)m=1,2,3,4,5の各々の場合に対して、ページフォールト回数は各々何回になるか? ------------------------------------------------------------------------ よろしくお願いします。

  • PIC16F1827の外部割込み

    PIC16F1827のRB0を 外部割込みとして入力の立上りで割込みを発生するように 設定します。 1.割込み禁止 2.プログラムAスタート 3.RB0に立上り入力あり 4.プログラムA終了 5.割込み許可 ・・・のような場合 5.以降に割込みが発生するでしょうか? ご教授お願いします。

  • ページング

    いろいろ参考にしてページングについて考えているのですが、なかなか正常に動作しません。 1ページに10件のデータを表示させる ページング処理をASPとMYSQLを使用して考えています。 どなたかご教授ください。 よろしくお願いします。