令和4年免除 問17
だいちさん
(No.1)
解説の(5)にもっとも昔に参照されたページは4なので、と記載があるのですが、4が最も昔に参照されたの理屈がわかりません。
まず1~4がページインされ、その後、1をページアウトし5をページインしたのなら、次にページアウトされるのは2ではないのでしょうか。
まず1~4がページインされ、その後、1をページアウトし5をページインしたのなら、次にページアウトされるのは2ではないのでしょうか。
2025.07.14 21:53
まきさん
(No.2)
投稿者さんの考え方はおそらくFIFOになっている気がします(?)
ポイントは自分で順番をメモしながら読むことです。
※前提条件:番地とページはセットで更新すること
「1ページ(4000番地)、2(5000)、3(6000)、4(7000)」
▼解説
「1〜4」が順当にそれぞれ格納あとに、5番目に「2」が参照されます。「2」はすでに格納されているので最新に更新するだけです。
つまり、LRUで(古)「1、3、4、2」(新)の順に変わります。
次に6番目の「5」が初めて参照されます。
「5」は初めてなのでこの時点で一番古い「1」が追い出されて「5」がきます。
※1」が追い出されて4000番地は空室なので、そこに「5」が入るイメージ
つまり、(古)「3、4、2、5」(新)
次に7番目の「3」が参照されます。「3」は格納済みなので最新に更新するだけです。
つまり、(古)「4、2、5、3」(新)
次に8番目の「1」が参照されます。「1」は6番目で追い出されちゃったので、また新しく追加します。
つまり、(古)「2、5、3、1」(新)
次に9番目の「6」が新しく追加。
つまり、(古)「5、3、1、6」(新)
次に10番目の「5」を最新に更新。
つまり、(古)「3、1、6、5」(新)
最後に「4」を追加。一番古い「3」を追い出す。
つまり、(古)「1、6、5、4」(新)
この時、「3」は6000番地に格納されているので6000が答え。
ポイントは自分で順番をメモしながら読むことです。
※前提条件:番地とページはセットで更新すること
「1ページ(4000番地)、2(5000)、3(6000)、4(7000)」
▼解説
「1〜4」が順当にそれぞれ格納あとに、5番目に「2」が参照されます。「2」はすでに格納されているので最新に更新するだけです。
つまり、LRUで(古)「1、3、4、2」(新)の順に変わります。
次に6番目の「5」が初めて参照されます。
「5」は初めてなのでこの時点で一番古い「1」が追い出されて「5」がきます。
※1」が追い出されて4000番地は空室なので、そこに「5」が入るイメージ
つまり、(古)「3、4、2、5」(新)
次に7番目の「3」が参照されます。「3」は格納済みなので最新に更新するだけです。
つまり、(古)「4、2、5、3」(新)
次に8番目の「1」が参照されます。「1」は6番目で追い出されちゃったので、また新しく追加します。
つまり、(古)「2、5、3、1」(新)
次に9番目の「6」が新しく追加。
つまり、(古)「5、3、1、6」(新)
次に10番目の「5」を最新に更新。
つまり、(古)「3、1、6、5」(新)
最後に「4」を追加。一番古い「3」を追い出す。
つまり、(古)「1、6、5、4」(新)
この時、「3」は6000番地に格納されているので6000が答え。
2025.07.14 22:59
まきさん
(No.3)
長々と解説しましたが、、、
番地→部屋番号が今回は4つ
ページ→「1〜6」という名前の人
として、「入居者待ち多数の4部屋限定アパートで、部屋の更新をしない人から追い出して新しい住人を済ませる。」と身近な状況に例えるとイメージしやすいと思います。個人的な感想ですが><
番地→部屋番号が今回は4つ
ページ→「1〜6」という名前の人
として、「入居者待ち多数の4部屋限定アパートで、部屋の更新をしない人から追い出して新しい住人を済ませる。」と身近な状況に例えるとイメージしやすいと思います。個人的な感想ですが><
2025.07.14 23:06
jjon-comさん
★FE プラチナマイスター
(No.4)
基本情報 令和4年 免除 問17
https://www.fe-siken.com/kakomon/04_menjo/q17.html
上記リンク先の解説文における次の箇所のように
・しかし「該当ページがもっとも新たに参照された」という状態は変わる。
という、この状態を異なる記号で書き分けて処理の流れをつかめるか、が要点です。
私は、主記憶の4つのページを縦に並べ、時間の流れを左→右とし、
・○付きの数字は「ページイン発生、または、既存ページの新たな参照」
・○無しの数字は「既存ページがそのままページ枠に居座っているだけ」
という書き分けで図解する方法を薦めます。
この方法では、上記リンク先のページ遷移は次のように図解されます。
①→1→1→1→1→⑤→5→5→5→⑤→5
□→②→2→2→②→2→2→2→⑥→6→6
□→□→③→3→3→3→③→3→3→3→④
□→□→□→④→4→4→4→①→1→1→1
○付きの数字だけを左から右へと読んでいくと、
質問者は、解説(5)の理屈がわからないとのこと。
解説文(1)~(5)に対応する主記憶の様子を上記の図解から抜き出してみます。
(1) (2) (3) (4) (5)
1→1→⑤→5→5
2→②→2→2→2
3→3→3→③→3
④→4→4→4→①
解説(5)は主記憶上に存在しないページ1をページインするため、
もっとも長い間 参照されていないページを選ばないといけない箇所です。
上図の○付き数字を、右から左へと時間を遡って確認してください。
もっとも最近 参照されたのが③、その一つ昔が⑤、さらに一つ昔が②。
そしてもっとも長い間 参照されず、4→4→4 と○無し表記が続いているのは④だと分かります。
https://www.fe-siken.com/kakomon/04_menjo/q17.html
上記リンク先の解説文における次の箇所のように
(2) 2は主記憶に存在するのでページアウトは発生しません。
(4) 3は主記憶に存在するのでページアウトは発生しません。
(7) 5は主記憶に存在するのでページアウトは発生しません。
・該当ページは主記憶に存在するから、主記憶のページの内容は変わらない。(4) 3は主記憶に存在するのでページアウトは発生しません。
(7) 5は主記憶に存在するのでページアウトは発生しません。
・しかし「該当ページがもっとも新たに参照された」という状態は変わる。
という、この状態を異なる記号で書き分けて処理の流れをつかめるか、が要点です。
私は、主記憶の4つのページを縦に並べ、時間の流れを左→右とし、
・○付きの数字は「ページイン発生、または、既存ページの新たな参照」
・○無しの数字は「既存ページがそのままページ枠に居座っているだけ」
という書き分けで図解する方法を薦めます。
この方法では、上記リンク先のページ遷移は次のように図解されます。
①→1→1→1→1→⑤→5→5→5→⑤→5
□→②→2→2→②→2→2→2→⑥→6→6
□→□→③→3→3→3→③→3→3→3→④
□→□→□→④→4→4→4→①→1→1→1
○付きの数字だけを左から右へと読んでいくと、
ページ番号の順が,1→2→3→4→2→5→3→1→6→5→4のとき,
という問題文の記述になっていることが分かります。質問者は、解説(5)の理屈がわからないとのこと。
解説文(1)~(5)に対応する主記憶の様子を上記の図解から抜き出してみます。
(1) (2) (3) (4) (5)
1→1→⑤→5→5
2→②→2→2→2
3→3→3→③→3
④→4→4→4→①
解説(5)は主記憶上に存在しないページ1をページインするため、
もっとも長い間 参照されていないページを選ばないといけない箇所です。
上図の○付き数字を、右から左へと時間を遡って確認してください。
もっとも最近 参照されたのが③、その一つ昔が⑤、さらに一つ昔が②。
そしてもっとも長い間 参照されず、4→4→4 と○無し表記が続いているのは④だと分かります。
2025.07.15 00:06
jjon-comさん
★FE プラチナマイスター
(No.5)
念のため。No.4で述べた、
は次の箇所に登場しています。
(1) (2) 解説文
1→1
2→②
3→3
④→4
(3) (4) 解説文
⑤→5
2→2
3→③
4→4
(6) (7) 解説文
5→⑤
⑥→6
3→3
1→1
> ・該当ページは主記憶に存在するから、主記憶のページの内容は変わらない。
> ・しかし「該当ページがもっとも新たに参照された」という状態は変わる。
> という、この状態を異なる記号で書き分けて処理の流れをつかめるか、が要点です。
は次の箇所に登場しています。
(1) (2) 解説文
1→1
2→②
3→3
④→4
(3) (4) 解説文
⑤→5
2→2
3→③
4→4
(6) (7) 解説文
5→⑤
⑥→6
3→3
1→1
2025.07.15 00:18
boyonboyonさん
★FE シルバーマイスター
(No.6)
ページ番号と番地をセットで動かすと分かりやすいと思います。
*は、既にページインされているページの参照で、下に行くほど新しいと思ってください。
下から4つが最新の状態です。
1 4000
2 5000→*1へ移動
3 6000→*2へ移動
4 7000
2 5000*1
5 4000→*3へ移動
3 6000*2
1 7000
6 5000
5 4000*3
4 6000
*は、既にページインされているページの参照で、下に行くほど新しいと思ってください。
下から4つが最新の状態です。
1 4000
2 5000→*1へ移動
3 6000→*2へ移動
4 7000
2 5000*1
5 4000→*3へ移動
3 6000*2
1 7000
6 5000
5 4000*3
4 6000
2025.07.15 00:37
radaaさん
(No.7)
No2さんの通りFIFOとLRUの区別がついてるか、それぞれの意味をしっかり理解してるかどうかかと。
適当なWebサイト6種類用意・附番をしてアクセス後の履歴を記録し、状況によって最も過去のものを消すといった流れを問題通りにしてみたらいいかも。
適当なWebサイト6種類用意・附番をしてアクセス後の履歴を記録し、状況によって最も過去のものを消すといった流れを問題通りにしてみたらいいかも。
2025.07.15 18:40
だいちさん
(No.8)
まきさん、jjon-comさん、boyonboyonさん、radaaさん
回答いただきありがとうございました。
おかげで理解することができました。大変助かりました。
回答いただきありがとうございました。
おかげで理解することができました。大変助かりました。
2025.07.15 22:03
広告
返信投稿用フォーム
スパム防止のためにスレッド作成日から40日経過したスレッドへの投稿はできません。
広告