某虚拟存储器的用户空间共有32个页面,每页1KB,主存16KB。假定某时刻系统为用户的第0、1、2、3页分配的物理块号为3、7、2、6,而该用户作业的长度为6页,试将16进制的虚拟地址05AC、103C、1A5C转换成物理地址。
时间: 2024-05-26 15:13:17 浏览: 327
模拟请求分页虚拟存储管理中的硬件地址变换过程.pdf
根据题意,该作业的页表如下:
| 页号 | 物理块号 |
|------|----------|
| 0 | 3 |
| 1 | 7 |
| 2 | 2 |
| 3 | 6 |
由于每页大小为1KB,即2^10字节,因此一个页面可以表示2^10个字节。而每个物理块的大小也是1KB,因此一个物理块可以表示2^10个字节。因此每个页面可以映射一个物理块。
现在来看如何将虚拟地址转换为物理地址。假设虚拟地址为V,物理地址为P,对于每个虚拟地址,需要进行以下步骤:
1. 将V的高20位作为页号
2. 将V的低10位作为页内偏移量
3. 从页表中获取对应页号的物理块号
4. 将物理块号左移10位,得到物理地址的高20位
5. 将页内偏移量添加到物理地址的低12位
以虚拟地址05AC为例:
1. 高20位为0x0,页号为0
2. 低10位为0x5AC,页内偏移量为0x5AC
3. 页表中第0项对应的物理块号为3
4. 左移10位得到物理地址的高20位为0x3000
5. 将页内偏移量0x5AC添加到低12位,得到物理地址的低12位为0x5AC
6. 因此虚拟地址05AC对应的物理地址为0x305AC
类似地,可以得到虚拟地址103C和1A5C对应的物理地址分别为0x7103C和0x205C。
阅读全文