changeset 20:4955324fa739

Description Paging
author tobaru
date Wed, 29 May 2019 14:55:22 +0900
parents 17ad42799e3c
children df06f7c00062
files slide/sig-os2019.md
diffstat 1 files changed, 15 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/slide/sig-os2019.md	Wed May 29 11:49:36 2019 +0900
+++ b/slide/sig-os2019.md	Wed May 29 14:55:22 2019 +0900
@@ -76,11 +76,25 @@
 - コンピュータ上では仮想メモリなしでは、仮想アドレスは直接メモリバスを置けない。
 	- バス(Bus)はメモリなどの信号を流す共通の信号回路
 
+
 ## MMU
 - 仮想メモリが使われる時、仮想アドレスは直接メモリバスへは行かず、MMU(メモリ管理ユニット)に行く。
-- 
 <div align="center"><img src="./images/fig3_8.svg" style="center"></div>
 
+## MMU の動きの例
+- プログラムがアドレス0にアクセスしようとした時
+	- MOV REG, 0
+- MMU はこの仮想アドレスが Page0で失敗してないか確認し Page Frame2(8192~12287)にマッピングする
+- アドレス0を8192に変換し、バスに出力する。
+- メモリはMMUについて何も知らず、アドレス8192を読み書きする要求だけを見る。
+- 従って、MMU は 0から4095までの仮想アドレスを物理アドレス8192から12287に効果的にマッピングする。
+- プログラムがマップされてないアドレスを参照しようとするとOSにCPUをトラップさせる(Page Fault)
+
+
+## Page と Page Frame
+- 仮想アドレス空間では Page と呼ばれる固定サイズ単位を扱う。
+- 物理メモリ内での対応する単位は Page Frames と呼ばれる。
+- Page と Page Frames は同じサイズを生成する。
 
 
 ## Segmentation with Paging: The intel x86
@@ -135,7 +149,6 @@
 
 
 
-
 ## 図 
 
 <div align="center"><img src="./images/Conversion_of_a_selector_offset_pair_to_a_linear_address.svg" style="center"></div>