令和3年  春  問19  解説がわからない

お馬鹿さんさん  
(No.1)
質問です。
ページフォールトについての問題ですが、

解説文章で「ページフォールトは、必要なページが主記憶上に存在しないときに起こるので、必ずそれに伴いページインが発生します。」とあります。
ページフォールトが発生して、主記憶上のページを仮想記憶に移動させるページアウトの処理も行うのであれば、理解できるのですが、何故、全く関係のない仮想記憶から、ただでさえ容量が足りてない主記憶にページを持ってくのですか?
さらにページフォールトが加速すると思います。

よろしくお願いします。
2024.03.31 10:54
krakenさん 
AP ブロンズマイスター
(No.2)
>ページフォールトが発生して、主記憶上のページを仮想記憶に移動させるページアウトの処理も行う
そうとは限りません。
例えば、最初はページはまっさらなので、ページアウトは起こりません。
2024.03.31 11:12
勉強中さん 
(No.3)
投稿者さんはページング方式を少し間違った解釈をしていませんか?
ページング方式のページとは"空き容量"のことではなく"記憶の断片"のようなものです。
ページフォールトは主記憶にページがないときにおこる。つまり主記憶に必要となる記憶がない状態の事です。

主記憶に必要な記憶がないならば必要な記憶を主記憶に持ってこなければなりません。そこで仮想記憶から必要な記憶を主記憶に持ってくるのです。これがページインです。

ページアウトは主記憶の空き容量がないときにページフォールトが場合、必要な記憶を入れるスペースを作る動作の事です。主記憶から必要ない記憶を取り除き、そこに必要な記憶を入れます。

なのでページフォールトとページインはセットなのです。
主記憶の空き容量がMAXの場合必ずページフォールトが発生しページインが発生しますが、主記憶には十分な空き容量があるのでページアウトは発生しません。
2024.03.31 11:25
jjon-comさん 
AP プラチナマイスター
(No.4)
この投稿は投稿者により削除されました。(2024.03.31 11:48)
2024.03.31 11:48
jjon-comさん 
AP プラチナマイスター
(No.5)
応用情報 令和3年 春期 午前 問19
https://www.ap-siken.com/kakomon/03_haru/q19.html

基本概念の把握が間違っている可能性がありますので、次の比喩でリンク先の解説文を読んでみてはどうでしょう。

ページ…人
仮想記憶…トイレの個室の外
主記憶…トイレの個室。適当な数(例えば8室)と仮定
ページフォールト…トイレの個室の外にいるある人が便意を催した
ページイン…  トイレの個室に入る
ページアウト…トイレの個室から出る

個室がすべて満室だから別のトイレに移動するとか、個室の外で漏らしてしまう、などの例外を認めないのであれば、

ページフォールト=ページイン≧ページアウト
便意を催した人数=個室に入った人数≧個室から出た人数

になるイメージがしやすくなるかもしれません。
2024.03.31 11:49
お馬鹿さんさん  
(No.6)
からけんさん

そうとは限らないのですね。難しいです
ありがとうございました。
2024.03.31 11:58
お馬鹿さんさん  
(No.7)
勉強中さん

ご返信ありがとうございます。
かなり理解できました。空き容量ではなく記憶の断片なのですね

ありがとうございました。
2024.03.31 12:02
お馬鹿さんさん  
(No.8)
jjon-comさん

ご返信ありがとうございます。
具体例を用いていただき、理解するのにかなり役立ちました。
基本概念がそもそも違っていたのが原因でした。

ありがとうございました。
2024.03.31 12:05

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop