目录

分页存储管理方式的地址转换机构详解

目录

分页存储管理方式的地址转换机构详解

结合操作系统(汤子瀛版)和王道版操作系统,对内存管理中,分页存储管理方式的地址转换进行整理总结(即根据逻辑地址寻找物理地址)

一、基本概念

1.逻辑地址:(工具书中的解释)

(1)在有地址变换功能的计算机中,访问指令给出的地址 (操作数) 叫逻辑地址,也叫 。

(2)把用户程序中使用的地址称为相对地址即逻辑地址。

注 :逻辑地址包含页号和页内偏移两部分,通过页内偏移的位数可以知道页面的大小。(在题目中,有时会给出十进制的数)

2.物理地址:在 里以 为单位存储信息,为正确地存放或取得信息,每一个字节单元给以一个唯一的 。

注 :物理地址包含页帧号和页内偏移两部分,根据逻辑地址查找页表即可找到在内存中的页帧号,物理地址中的页内偏移同逻辑地址中的相同。

3.页、页帧(页框)、块

分页的思想:把主存空间分为大小相等且固定的块,块相对较小,作为主存的基本单位。进程中的块称为页,内存中称为页帧(页框),外存中直接称为块。

4.页表、页表项

(1)为了方便找到每个页号在内存中对应的物理块,系统为 每一个进程 建立一张页表。 注意是为每个进程建立一张页表。

(2)页表中的每一项叫做页表项。

注: 根据页号的位数可以算出页表项数,根据页表项的大小和页表项数可以算出页表的大小。

例:若页号有20位,页表项大小为4B,则页表大小为2的20次方*4B=4MB。题目中页表项大小一般会给出。

注: 注意区分页表长度和页表项长度

(1)页表长度:页表中共有多少页

(2)页表项长度:在页表中页地址占多大的存储空间

5.页表寄存器

在系统中通常设置一个页表寄存器,存放页表在内存中的始址F和页表长度M。进程未执行时,页表的始址和长度存放在进程控制块中,当进程执行时,才将页表始址和长度存入页表寄存器。

二、地址转换(根据逻辑地址求出在内存中的物理地址)

1.根据逻辑地址可找出页号

(1 )若逻辑地址由二进制表示,根据页号位数(或逻辑地址位数-页内偏移位数)即可确定。

(2)若逻辑地址由十进制表示,需要根据页号位数算出页号

例:若逻辑地址为4000,当页内偏移为10位时,页号为4000/1k=3,当页内偏移为11位时,页号为4000/2k=1。

2.判断是否越界

比较页号和页表寄存器中的页表长度,若页号不在查找的页表中,越界中断。

3.在页表中找出页号对应的物理块号

页号对应的页表项地址=页号*页表项长度+页表起始地址

4.求出在内存中的物理地址

(1)在页表中找到页号对应的块号

(2)块内偏移=页内偏移

三、题目求解

1.页面大小

通过页内偏移的位数可以知道页面的大小

2.页表大小

页表长度*页表项大小

3.根据十进制的逻辑地址求出页号在页表中的物理地址

(1)页号的求法见上面(二、1)

(2)页号求出后加上页表起始地址即可

4.求物理地址

参考二(地址转换)

5.未完待续。。。