问题 问答题

页式存储管理,允许用户编程空间为32个页面(每页1KB),主存为16KB,如有一用户程序有10页长,且某时刻该用户程序页表见表3-9。

表3-9 用户程序员表

逻辑页号 物理块号
0 8
1 7
2 4
3 10
如果分别遇有以下三个逻辑地址:0AC5H、1AC5H、3AC5H处的操作,试计算并说明存储管理系统将如何处理。

答案

参考答案:页面大小为1KB,所以低10位为页内偏移地址;用户编程空间为32个页面,即逻辑地址高5位为虚页号;主存为16个页面,即物理地址高4位为物理块号。
逻辑地址0AC5H转换为二进制为000101011000101B,虚页号为2(00010B),映射至物理块号4,故系统访问物理地址12C5H(01001011000101B)。
逻辑地址1AC5H转换为二进制为001101011000101B,虚页号为6(0011OB),不在页面映射表中,会产生缺页中断,系统进行缺页中断处理。
逻辑地址3AC5H转换为二进制为011101011000101B,页号为14,而该用户程序只有10页,故系统产生越界中断。

解析: 题中在对十六进制地址转换为二进制时,我们可能会习惯性地写为16位,这是容易犯错的细节。如题中逻辑地址是15位,物理地址为14位。逻辑地址OAC5H的二进制表示为000101011000101B,对应物理地址12C5H的二进制表示为01001011000101B。这一点应该注意。

多项选择题
填空题