首页 >> 知识 >> 页式存储中的逻辑地址与物理地址之间的解析过程

页式存储中的逻辑地址与物理地址之间的解析过程

分页分段以及段页式存储管理中逻辑地址到物理地址的转换过程解析

 

首先要知道,页式存储中的逻辑地址与物理地址之间的变换规则。

物理地址=块号+页内地址

逻辑地址=页号+页内地址

所以物理地址和逻辑地址后面部分是相同的,即都为页内地址。

下面以一个例子说明如何由逻辑地址求物理地址

(1)分页存储

草莓视频污版免费一: 某虚拟存储器的用户编程空间共64个页面,每页为1KB,内存为16KB。假定某时刻一用户页表中已调入内存的页面的页号和物理块号的对照表如下:

页号                物理块号

0                     3

1                     7

2                    9

3                    5

则逻辑地址0A5C(H)所对应的物理地址是什么?要求:写出主要计算过程。 

用户编程空间共64个页面,2ˆ6=64得知页号部分占6位,由“每页为1KB”,1K=2^10,可知内页地址占10位。

由“内存为16KB”,2^4=16得知块号占4位。

       逻辑地址0A5C(H)所对应的二进制表示形式是:0000101001011100,后十位1001011100是页内地址,0 000010为为页号,页号化为十进制是2,在对照表中找到2对应的物理块号是9,9转换二进制是1 0 01,即可求出物理地址为10 011001011100,化成十六进制为265C;

即则逻辑地址0A5C(H)所对应的物理地址是265C;  

草莓视频污版免费二:

某计算机系统页面大小为4K,若进程的页面变换表如下所示,逻辑地址为十六进制1D16H。该地址经过变换后,其物理地址应为十六进制( )。(2014年上半年)

A.1024H

B.3D16H

C.4D16H

D.6D16H

答案 B

解析

页式存储中的逻辑地址与物理地址之间的变换需要掌握变换的规则。

逻辑地址的构成是:逻辑页号+页内地址。

物理地址的构成是:物理块号+页内地址。

从构成可以看出逻辑地址与物理地址的页内地址是一样的,不同的是逻辑页号与物理块号。而这两者的关系,正是通过题目已给出的表来进行映射的。如逻辑页号1就对应着物理块号3。所以题目告诉草莓视频在线观看APP“逻辑地址为十六进制1D16H”时,草莓视频在线观看APP先要把逻辑地址中的页号与页内地址分离。通过什么条件分离呢?题目中的“计算机系统页面大小为4K”,从这句话可以看出,页内地址是二进制的12位(4K=2^12)。二进制?12位对应十六进制3位。所以D16是页内地址。页号也就是1了。通过页表查询到物理块号:3。所以物理地址是:3D16。

(2)页表的硬件实现

上一小节中写到页表是逻辑地址转化到物理地址的关键所在。那么页表如何存储?

每个操作系统都有自己的方法来保存页表。绝大多数都会为每个进程分配一个页表。现在由于页表都比较大,所以放在内存中(以往是放在一组专用寄存器里),其指针存在进程控制块(PCB)里,当进程被调度程序选中投入运行时,系统将其页表指针从进程控制块中取出并送入用户寄存器中。随后可以根据此首地址访问页表。

页表的存储方式是TLB(Translation look-aside buffer, 翻译后备缓冲器)+内存。TBL实际上是一组硬件缓冲所关联的快速内存。若没有TLB,操作系统需要两次内存访问来完成逻辑地址到物理地址的转换,访问页表算一次,在页表中查找算一次。TBL中存储页表中的一小部分条目,条目以键值对方式存储。

 

(3)页表的数据结构

Hierarchical Paging(层次化分页),实际上就是将页号分为两部分,第一部分作为索引,第二部分作为页号的偏移,是为了解决页表越来越大的问题而提出的。

分页存储有内部碎片。

接下来是分段存储segmentation 为什么要引入分段存储呢,简单地说分页管理方式是从计算机的角度考虑设计的,以提高内存利用率,提高计算机的性能,且分页通过硬件机制实现,对用户完全透明;而分段管理方式的提出则是考虑了用户和程序员,以满足方便编程,信息保护和共享,动态增长以及动态

网站地图