在请求分页系统中,某用户的编程空间为16个页面,每页1K,分配的内存空间为8K。假定某时刻该用户的页表为{(0,3),(1,7),(2,4),(3,1),(4,12),(5,9),(6,61),(7,20)},试问: (1)画图说明地址变换过程。 (2)逻辑地址104B(H)对应的物理地址是多少?(用十六进制表示) (3)逻辑地址6000(十进制)对应的物理地址是多少?(用十进制表示) (4)当该用户进程欲访问2DDB(H)单元时,会出现什么现象?
时间: 2023-09-27 14:10:42 浏览: 378
操作系统作业-内存管理-请求分页分配方式模拟.zip
好的,我明白了。针对你的问题,我的回答如下:
(1)根据页表可以得到以下地址变换过程:
逻辑地址 = 页号 × 页长 + 页内偏移量
其中,页号就是页表中的第一列,页长为1K,页内偏移量为逻辑地址除以页长的余数。
以逻辑地址104B(H)为例,首先需要确定其所在的页号,即104B(H)÷1K=1,因此页号为1。然后,计算页内偏移量,即104B(H)÷1=104B(H)。由此可知,逻辑地址104B(H)对应的物理地址为:
物理地址 = 基址 + 页内偏移量
其中,基址即为页表中的第二列,对应的值为7,因此:
物理地址 = 7 × 1K + 104B(H) = 2008B(H)
以逻辑地址6000(十进制)为例,首先需要确定其所在的页号,即6000÷1K=5,因此页号为5。然后,计算页内偏移量,即6000÷1=174B(H)。由此可知,逻辑地址6000(十进制)对应的物理地址为:
物理地址 = 基址 + 页内偏移量
其中,基址即为页表中的第五列,对应的值为9,因此:
物理地址 = 9 × 1K + 174B(H) = 237E(H)
(4)当该用户进程欲访问2DDB(H)单元时,会出现缺页中断的情况,因为在页表中没有找到对应的页号。此时,操作系统会将该页从磁盘中调入内存,并更新页表,然后再次执行地址变换过程,找到对应的物理地址。如果内存空间已满,则需要进行页面置换。
阅读全文