操作系统——页式地址变换 例题详解

一、概念

页式地址变换指:通过页表,将逻辑地址转换为物理地址

页表:是记录程序虚页与其在主存中块得到对应关系的数据结构。包含页号,页面对应的块号

 1.逻辑地址结构

分为:页号    ,    页内位移量(页内地址)

记页号为p,               p=逻辑地址/页面大小     

记页内位移量为d,    d=逻辑地址 - p*页面大小

2.物理地址结构

分为:块号    ,    块内位移量(块内地址)

分别记为      ,       

3.虚地址结构

页式系统的地址映射必要的数据结构是页表,另外还与计算机所采用的地址结构有关。

地址结构与选择的页面尺寸有关。

例如:当CPU虚地址长度为32位,页面大小位4KB时,在分页系统中虚地址结构如图所示:
操作系统——页式地址变换 例题详解_第1张图片

 这个地址中的高20位(第12~31位)表示该地址所在的页号,而低12位(第0~11位)表示该地址在这页内的相对位移。将这种地址结构称为分页机构。

二、页内地址转换

例1.已知某分页系统,主存容量为64K,页面大小为1K,对一个4页大的作业,其0,1,2,3页分别被分配到主存的5,10,4,7块中。请将十六进制逻辑地址0A5CH转换成物理地址
 解

 1.首先,将十六进制逻辑地址:LA = 0A5CH转换成二进制:000101001011100 

再除以 2^10 (即除以页面大小1K:1024)  得:页号为:2  页内地址为:1001011100

                操作系统——页式地址变换 例题详解_第2张图片操作系统——页式地址变换 例题详解_第3张图片  

 2.对应页表,页号2的块号为4  得物理地址PA=块号*页面大小+页内地址=4*(2^10) + 1001011100

得PA = 1001001011100  转换为十六进制为:125CH

操作系统——页式地址变换 例题详解_第4张图片

例2.已知某分页系统,主存容量为64K,页面大小为4K,对一个4页大的作业,其0,1,2,3页分别被分配到主存的5,10,4,7块中。请将十六进制逻辑地址0A5CH转换成物理地址

 解:此题与上一题唯一不同的是页面大小为4K

同理:将十六进制逻辑地址0A5CH转换成二进制000101001011100 

LA = 000101001011100 / (2^12) = 0000 101001011100  (此处除以2^12次方,即4KB

操作系统——页式地址变换 例题详解_第5张图片操作系统——页式地址变换 例题详解_第6张图片

 

页号为0, 对应块号为5

PA = 5*(2^12) + 101001011100 = 101 101001011100 转换为十六进制为:5A5CH

  我们可以发现一个规律:逻辑地址页号转换成对应物理地址块号页内地址不变

你可能感兴趣的:(笔记,linux)