某操作系统采用请求页式存储管理机制,用户进程总共有10个页面,页面大小为1K,页表状态如下所示,进程将依次连续访问以下三个逻辑地址:0X7CB,0X17DE,0X1EAB。请给出上述逻辑地址对应的页内偏移地址,块号,物理地址。
时间: 2024-04-02 15:33:53 浏览: 335
根据题目给出的信息,用户进程总共有10个页面,每个页面大小为1K,所以每个页面包含1024个字节。进程的页表状态如下所示:
| 页号 | 物理块号 |
|------|----------|
| 0 | 2 |
| 1 | 1 |
| 2 | 5 |
| 3 | 3 |
| 4 | - |
| 5 | - |
| 6 | - |
| 7 | - |
| 8 | - |
| 9 | - |
接下来依次访问逻辑地址 0X7CB,0X17DE,0X1EAB,对应的页号分别为 7,23,30。具体的计算方法如下:
1. 对于逻辑地址 0X7CB,其二进制表示为 0111 1100 1011,前 10 位为页号,后 22 位为页内偏移地址,即
页号 = 0111 1100 10 = 0x7C
页内偏移地址 = 1011 = 0xB
2. 对于页号 7,该页已经在物理内存中,因此直接计算物理地址:
物理块号 = 2
页内偏移地址 = 0xB
物理地址 = 0000 0010 1111 1100 1011 = 0x02FCB
3. 对于逻辑地址 0X17DE,其二进制表示为 0001 0111 1101 1110,前 10 位为页号,后 22 位为页内偏移地址,即
页号 = 0001 0111 11 = 0x17D
页内偏移地址 = 1110 = 0xE
4. 对于页号 23,该页不在物理内存中,需要进行页面置换。由于现在物理内存中没有空闲块,因此需要选择一个页面进行置换。可以使用最简单的 FIFO 置换算法,选择最先进入物理块的页面进行置换,即页面 0,其对应的物理块号为 2。将页号为 23 的页面映射到物理块号为 2 的物理块中,得到物理地址:
物理块号 = 2
页内偏移地址 = 0xE
物理地址 = 0000 0010 0001 0111 1110 = 0x0217E
5. 对于逻辑地址 0X1EAB,其二进制表示为 0001 1110 1010 1011,前 10 位为页号,后 22 位为页内偏移地址,即
页号 = 0001 1110 10 = 0x1E
页内偏移地址 = 1011 = 0xB
6. 对于页号 30,该页不在物理内存中,需要进行页面置换。由于现在物理内存中没有空闲块,因此需要选择一个页面进行置换。可以使用最简单的 FIFO 置换算法,选择最先进入物理块的页面进行置换,即页面 1,其对应的物理块号为 1。将页号为 30 的页面映射到物理块号为 1 的物理块中,得到物理地址:
物理块号 = 1
页内偏移地址 = 0xB
物理地址 = 0000 0001 0001 1110 1011 = 0x011EB
因此,逻辑地址 0X7CB 对应的页内偏移地址为 0xB,块号为 2,物理地址为 0x02FCB;逻辑地址 0X17DE 对应的页内偏移地址为 0xE,块号为 2,物理地址为 0x0217E;逻辑地址 0X1EAB 对应的页内偏移地址为 0xB,块号为 1,物理地址为 0x011EB。
阅读全文