2. ページングの問題点
■ ページテーブルの大きさ
■ メモリアクセスの増大
ペー
ジ番
仮想空間
0 A
1 B
2 C
3 D
4 E
5 F
6 G
7 H
ページ
フレー
主記憶
0 D
1 A
2 F
3 E
ページテーブル
V
ページフレ
ーム番号 P C
0 1 1
1 0
2 0
3 1 0
4 1 3
5 1 2
6 0
7 0
内部断片化
仮想アドレス
0 100
ページ番号 ページ内オフセット
物理アドレス
1 100
ページフレーム番号 ページ内オフセット
V 存在ビット
P アクセス制御
C 変更ビット
主記憶
物理アドレス
10010110
ページングをソフトウェアで実装すると,
遅くて実用的でない.
→ハードウェア支援
復習
5. ページテーブルはプロセスの数だけある
ページ番
号
仮想空間
0 A
1 B
2 C
3 D
4 E
5 F
6 G
7 H
ページテーブル
V
ページ番号
P C
01 1
10
20
31 0
40
50
60
70
ページ番
号
仮想空間
0 ア
1 イ
2 ウ
3 エ
4 オ
5 カ
ページテーブル
V
ページ番号
P C
01 2
10
20
31 3
40
50
ページフレ
ーム番号
実空間
0 D
1 A
2 ア
3 エ
プロセスA プロセスB
14. ページ化とページテーブル
プログラム
データ
ページ番
号
仮想空間
0 A
1 B
2 C
3 D
4 E
5 F
6 G
7 H
ページフレ
ーム番号
実空間
0 D
1 A
2 F
3 E
ページテーブル
V
ページ番号
P C
01 1
10
20
31 0
41 3
51 2
60
70
内部断片化
仮想アドレス
0 100
ページ番号 ページ内オフセット
実アドレス
1 100
ページフレーム番号 ページ内オフセット
V 存在ビット
P アクセス制御
C 変更ビット
再掲
15. ページ化とページテーブル
プログラム
データ
ページ番
号
仮想空間
0 A
1 B
2 C
3 D
4 E
5 F
6 G
7 H
ページフレ
ーム番号
実空間
0 D
1 A
2 F
3 E
ページテーブル
V
ページ番号
P C
01 1
10
20
31 0
41 3
51 2
60
70
内部断片化
仮想アドレス
0 100
ページ番号 ページ内オフセット
実アドレス
1 100
ページフレーム番号 ページ内オフセット
V 存在ビット
P アクセス制御
C 変更ビット
ページテーブルレジスタ
ページテーブルの先頭アドレス
を格納するためのレジスタ
ページテーブルレジスタ
16. ページテーブルはプロセスの数だけある
ページ番
号
仮想空間
0 A
1 B
2 C
3 D
4 E
5 F
6 G
7 H
ページテーブル
V
ページ番号
P C
01 1
10
20
31 0
40
50
60
70
ページ番
号
仮想空間
0 ア
1 イ
2 ウ
3 エ
4 オ
5 カ
ページテーブル
V
ページ番号
P C
01 2
10
20
31 3
40
50
ページフレ
ーム番号
実空間
0 D
1 A
2 ア
3 エ
プロセスA プロセスB
17. ページテーブルの大きさ
■ 仮想アドレス 32ビット
‣ ページサイズ 12ビット
- 4KB
‣ 仮想ページ番号 20ビット
■ ページテーブルの大きさ
220 (1+20+1+1)=23MB
■ 1プロセスごとに23MB!
■ ページテーブルは空きが多い.
‣ ページサイズを小さくできる
- 多段ページング
仮想ペー
ジ番号
仮想空間
0 A
1 B
2 C
3 D
4 E
5 F
6 G
7 H
ページテーブル
V
ページ番号
P C
01 1
10
20
31 0
41 3
51 2
60
70
仮想アドレス
0 100
ページ番号 ページ内オフセット
32ビット
20ビット 12ビット
ページフレーム番号 ページ内オフセット
ページテーブル
V ページ番号 P C
0
1
2
220-1
18. 多段ページングテーブル
仮想アドレス(32ビット)
10ビット 10ビット 12ビット
L1 ページ番号 L2 ページ番号 ページ内オフセット
L2 ページテーブル
V
ページフレ
ーム番号 R M
0
1
2
210-1
L1 ページテーブル
ページテーブ
0
1
2
210-1
V
ページフレ
ーム番号 R M
0
1
2
210-1
実アドレス(32ビット)
20ビット 12ビット
ページフレーム番号 ページ内オフセット
仮想アドレス(32ビット)
20ビット 12ビット
ページ番号 ページ内オフセット
ページテーブル
V ページ番号 R M
0
1
2
220-1
多段にするという考
え方は同じですが,
いろんな言い方があ
る.
L1/L2
プライマリ/セカンダリ
outer/iner
19. 多段ページングテーブルの利点
■ 必要なテーブルだけをメモリに置けば良い.
‣ L1ページテーブル
‣ 使っているL2ページテーブル
仮想アドレス(32ビット)
10ビット 10ビット 12ビット
L1ページ番号 L2ページ番号 ページ内オフセット
L2ページテーブル
V ページ番号 R M
0
1
2
210-1
L1ページテーブル
ページテーブ
0
1
2
210-1
V ページ番号 R M
0
1
2
210-1
L1ページテーブル
0
1
2
210-1
L2ページテーブ
0
1
2
210-1
0
1
2
210-1
0
1
2
210-1