HOME»応用情報技術者試験掲示板»ページ内変位の役割について
投稿する
ページ内変位の役割について [1526]
犬さん(No.1)
参考書を見てみると、実記憶のアドレスとページ内変位を足して
m----------------
↑ n
↓
------------------
みたいに図が書かれているのですが(図が下手くそですいません・・・)
この「n」の距離の意味はなんですか?普通に「m」ではだめなんでしょうか?
m----------------
↑ n
↓
------------------
みたいに図が書かれているのですが(図が下手くそですいません・・・)
この「n」の距離の意味はなんですか?普通に「m」ではだめなんでしょうか?
2019.03.27 23:43
助け人さん(No.2)
★AP ゴールドマイスター
この投稿は投稿者により削除されました。(2019.03.28 21:56)
2019.03.28 21:56
助け人さん(No.3)
★AP ゴールドマイスター
犬さんの図がよくわからないので、ページ内変位について書いてみます。
例えば、ページサイズが100バイト、仮想ページ番号が0~4(全部で100バイト×5=500バイト)、物理ページ番号が0~2(全部で100バイト×3=300バイト)、ページテーブルが以下のようになっているとします。
仮想ページ番号 存在ビット 物理ページ番号
0 1 1
1 0
2 0
3 1 2
4 1 0
仮想アドレス320番地にアクセスしたいとき、320番地は、仮想ページ番号3のページ内変位20番地ですから、仮想ページ番号3に対応する物理ページ番号2にページ内変位20番地を加算して、主記憶上の220番地にアクセスします。
仮想記憶のページ内変位に関する問題として、以下のものがあります。
ソフトウェア開発技術者 平成19年秋期 午前問23
https://www.ap-siken.com/kakomon/19_aki/q23.html
平成26年春期 午前問18
https://www.ap-siken.com/kakomon/26_haru/q18.html
例えば、ページサイズが100バイト、仮想ページ番号が0~4(全部で100バイト×5=500バイト)、物理ページ番号が0~2(全部で100バイト×3=300バイト)、ページテーブルが以下のようになっているとします。
仮想ページ番号 存在ビット 物理ページ番号
0 1 1
1 0
2 0
3 1 2
4 1 0
仮想アドレス320番地にアクセスしたいとき、320番地は、仮想ページ番号3のページ内変位20番地ですから、仮想ページ番号3に対応する物理ページ番号2にページ内変位20番地を加算して、主記憶上の220番地にアクセスします。
仮想記憶のページ内変位に関する問題として、以下のものがあります。
ソフトウェア開発技術者 平成19年秋期 午前問23
https://www.ap-siken.com/kakomon/19_aki/q23.html
平成26年春期 午前問18
https://www.ap-siken.com/kakomon/26_haru/q18.html
2019.03.28 22:01
犬さん(No.4)
詳しい解説ありがとうございます。
ページ内変位というのはメモリが例えば4kバイトに区画されているとして
プログラムのページ枠が2kバイトに分割されていたときはページ内変位の値は2となる
ということでしょうか?
ページ内変位というのはメモリが例えば4kバイトに区画されているとして
プログラムのページ枠が2kバイトに分割されていたときはページ内変位の値は2となる
ということでしょうか?
2019.03.28 23:55
助け人さん(No.5)
★AP ゴールドマイスター
違います。
例えば、上記No.3では、ページサイズが100バイトで、仮想アドレス320番地は、仮想ページ番号3のページ内変位20番地です。
ページサイズをN、仮想アドレスをL、仮想ページ番号をP、ページ内変位をOとすると、
P=L / N (小数以下切捨て)
O=L mod N
です。
例えば、上記No.3では、ページサイズが100バイトで、仮想アドレス320番地は、仮想ページ番号3のページ内変位20番地です。
ページサイズをN、仮想アドレスをL、仮想ページ番号をP、ページ内変位をOとすると、
P=L / N (小数以下切捨て)
O=L mod N
です。
2019.03.29 00:34
犬さん(No.6)
すいません。間違えてました。
あと一つだけ質問です。
なぜか仮想アドレスはページの先頭を指示さないのでしょうか?
あと一つだけ質問です。
なぜか仮想アドレスはページの先頭を指示さないのでしょうか?
2019.03.29 22:09
助け人さん(No.7)
★AP ゴールドマイスター
仮想アドレス0番地(仮想ページ番号0のページ内変位0番地)から命令を順番に実行してきて、仮想アドレス10番地(仮想ページ番号0のページ内変位10番地)の命令を実行したとします。その結果、仮想アドレス320番地にジャンプすることになった場合、仮想ページ番号3のページ内変位20番地にアクセスしなければなりません。
2019.03.29 22:24