三、某请求页式系统,用户空间为32个页面(每页4KB) ,若一个用户程序有7页长,操作系统采用固定分配局部置换策略为此进程分配3个页框(Page Frame),某时刻该进程的页表如下所示 设有虚地址0AC5H、4AC5H,3AC5H,6AC5H访问序列。系统采用最近最久未使用置换算法,请计算上述虚地址所对应的物理地址,并给出计算过程。
时间: 2023-07-16 19:11:45 浏览: 93
首先,根据题意可知该进程共有7页,因此它的页表中应该有7个页表项。但是,由于操作系统采用固定分配局部置换策略,为此进程只分配了3个页框,因此该进程只能同时装入3页,其余的4页需要在需要时进行页面置换。
现在我们来计算这些虚地址所对应的物理地址:
1. 对于虚地址0AC5H,它属于第2页。由于该页已经被装入内存中,因此可以直接访问该页的物理地址。该页的物理地址为:
物理页号 = 2 + 3 - 3 = 2
物理地址 = 2 * 4KB + 0AC5H mod 4KB = 8AC5H
2. 对于虚地址4AC5H,它属于第6页。由于该页没有被装入内存中,需要进行页面置换。由于采用最近最久未使用置换算法,因此需要找到最久未被使用的页面进行置换。根据页表可知,目前已经装入内存中的页面为第1页、第2页和第4页,它们的最近使用时间依次为1、2、0。因此,最久未被使用的页面为第4页,需要将其置换出去,并将第6页装入内存中。
此时,页表应该更新为:
页表项 内容
0 未分配
1 物理页号为3,最近使用时间为1
2 物理页号为2,最近使用时间为2
3 未分配
4 物理页号为1,最近使用时间为0
5 未分配
6 物理页号为0,最近使用时间为0
因此,虚地址4AC5H对应的物理地址为:
物理页号 = 1
物理地址 = 1 * 4KB + 4AC5H mod 4KB = 14AC5H
3. 对于虚地址3AC5H,它属于第1页。由于该页已经被装入内存中,因此可以直接访问该页的物理地址。该页的物理地址为:
物理页号 = 1 + 3 - 3 = 1
物理地址 = 1 * 4KB + 3AC5H mod 4KB = 13AC5H
4. 对于虚地址6AC5H,它属于第7页。由于该页没有被装入内存中,需要进行页面置换。根据页表可知,目前已经装入内存中的页面为第2页、第4页和第1页,它们的最近使用时间依次为2、0、1。因此,最久未被使用的页面为第2页,需要将其置换出去,并将第7页装入内存中。
此时,页表应该更新为:
页表项 内容
0 未分配
1 物理页号为1,最近使用时间为3
2 未分配
3 未分配
4 物理页号为0,最近使用时间为2
5 未分配
6 物理页号为3,最近使用时间为0
7 物理页号为2,最近使用时间为0
因此,虚地址6AC5H对应的物理地址为:
物理页号 = 2
物理地址 = 2 * 4KB + 6AC5H mod 4KB = 26AC5H
综上所述,四个虚地址所对应的物理地址分别为:8AC5H、14AC5H、13AC5H和26AC5H。
阅读全文