存储管理——页式存储
程序编写完成后,在执行过程中,需要有内存的支持,例如给进程分配内存,程序引进的一个地址叫逻辑地址,内存当中是物理地址,页式存储的方案是把逻辑地址和物理地址分离出来,提高内存利用率,程序在运行过程中把逻辑地址转换为物理地址,然后放在内存中。
页式存储就是把程序所需的存储空间转换成页,内存的空间变成块,大小是一样的,一页对应一块,一页由两个部分组成,页号和页内地址,装载到内存中时,需要通过操作系统中的页表把页号和内存的物理块号做对应的转换,而页内地址保持不变,从而实现逻辑地址和物理地址之间的转换,这一这个程序就可以在内存当中运行、装载。
例如一个页的大小为4K,4K=2¹²,就代表业内地址是12位的。
例如题目告诉我们一个逻辑地址为2D18H,首先把逻辑地址转变成二进制数,那么从右数的1到12位为业内地址,高位的4位就是逻辑页号,在去查找页表,把页号和块号找到对应的关系,在用物理的块号加上业内地址就可以得出物理地址。
优点:利用率高碎片小,分配及管理接单
缺点:增加了系统开销;可能产生抖动现象。
列题
某计算机系统页面大小为4K,进程的页面变换表如下所示,若进程的逻辑地址为2D16H,物理地址是什么?
页号 | 物理块号 |
---|---|
0 | 1 |
1 | 3 |
2 | 4 |
3 | 6 |
A:1024H
B:3D16H
C:4D16H
D:6D16H
正确答案:C
解析:根据题意,页面大开销为4K,逻辑地址为十六进制1D16H,其页号为2,页内地址为D16H,查页表后可知物理块号为4,该地址经过变换后,其物理块号加上页内地址D16H,即为十六进制4D16H。