在一个请求分页虚拟存储系统中,用户编程空间 32 个页,页长 1KB,内存空间 16KB。 如果应用程序有 10 页长,若已知逻辑地址页号 0,1,2,3 已分得物理块 4,7,8,10,试 把虚拟地址 0AC5H、1AC5H 转换为物理地址
时间: 2024-06-07 19:08:40 浏览: 185
请求分页虚拟存储系统的基本原理-操作系统课件
首先,计算出用户程序可以使用的虚拟页号范围为 0~31,而应用程序的页号范围为 0~9。
由于物理块数目比应用程序的页数目少,因此需要使用页面置换算法。这里我们使用最简单的 FIFO 算法进行演示。
假设应用程序中的页号 0,1,2,3 已经被映射到物理块 4,7,8,10 上,那么当应用程序访问页号为 4 的页面时,需要通过页面置换算法将一个页面替换出来,然后将页号 4 映射到该物理块上。
现在来看如何将虚拟地址转换为物理地址。假设虚拟地址为 0AC5H,可以分解为:
- 页号:0AH
- 页内偏移量:0C5H
由于应用程序的页号范围为 0~9,因此页号 0AH 超出了应用程序的范围,属于非法访问,应该抛出异常。
同理,对于虚拟地址 1AC5H,可以分解为:
- 页号:1AH
- 页内偏移量:0C5H
由于页号 1AH 属于应用程序的范围,因此可以进行转换。假设页号 1AH 映射到的物理块号为 5,那么物理地址的计算方法为:
物理地址 = 物理块号 × 页长 + 页内偏移量
= 5 × 1024 + 0C5H
= 5381H
因此,虚拟地址 1AC5H 对应的物理地址为 5381H。
阅读全文