首页 习题正文

45.(7分)假定题44给出的计算机M采用二级分页虚拟存储管

45.(7分)假定题44给出的计算机M采用二级分页虚拟存储管理方式,虚拟地址格式如下∶ 页目录号(10位)|页表索引(10位)|页内偏移量(12位) 请针对题43的函数fl和题44中的机器指令代码,回答下列问题。 (1)函数fl的机器指令代码占多少页? (2)取第1条指令(push ebp)时,若在进行地址变换的过程中需要访问内存中的页目录和页表,则会分别访问它们各自的第几个表项(编号从0开始)? (3)M的I/O采用中断控制方式。若进程P在调用f1之前通过scanf()获取n的值,则在执行scanf( )的过程中,进程P的状态会如何变化?CPU是否会进入内核态?



【参考答案及解析】
(1)函数 f1的代码段中所有指令的虚拟地址的高 20位相同,因此 f1的机器指令代码在同一页中,仅占用1页。(1分)页目录号用干寻找页目录的表项,该表项包含页表的位置。页表索引用于寻找页表的表项,该表项包含页的位置。 (2)push ebp指令的虚拟地址的最高 10位(页目录号)为 00 0000 0001,中间10位(页表索引)为000000 0001,所以,取该指令时访问了页目录的第1个表项,(1分)在对应的页表中访问了第1个表项。(1分) (3)在执行 scanf()的过程中,进程 P因等待输入而从执行态变为阻塞态。(1分)输入结束时,P被中断处理程序唤醒,变为就绪态。(1分)P被调度程序调度,变为运行态。(1分)CPU 状态会从用户态变为内核态。(1分)

正在整理中,欢迎在文下评论区提供答案解析,谢谢!
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接:https://scpro.cn/v/5dfe432ce3f84396.html