假定题44给出的计算机M采用二级分页虚拟存储管理方式,

假定题44给出的计算机M采用二级分页虚拟存储管理方式,虚拟地址格式如下:

页目录号(10位)
页表索引(10位)
页内偏移量(12位)

请针对题43的函数f1和题44中的机器指令代码,回答下列问题。

(1)函数f1的机器指令代码占多少页?

(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位(页表索引)为00 0000 0001,所以,取该指令时访问了页目录的第1个表项,(1分)在对应的页表中访问了第1个表项。(1分)

(3)在执行scanf( )的过程中,进程P因等待输入而从执行态变为阻塞态。(1分)输入结束时,P被中断处理程序唤醒,变为就绪态。(1分)P被调度程序调度,变为运行态。(1分)CPU状态会从用户态变为内核态。(1分)

答案
暂无答案

题目信息

题号:7243
题型:简答题
难度:普通