在一个采用请求式调页的虚拟存储系统中,存放在外存上的程序代码调入内存的时机是( )。

admin2013-07-12  36

问题 在一个采用请求式调页的虚拟存储系统中,存放在外存上的程序代码调入内存的时机是(    )。

选项 A、在进程创建填写进程表时
B、在进程创建分配内存时
C、在进程被调度占用处理机执行时
D、在每次产生缺页中断时

答案D

解析 本题考查虚拟存储系统中程序调入内存的时刻。在一个采用请求式调页的虚拟存储系统中,当一个程序需要执行时,首先由进程创建模块为新进程找到一张空白的进程表,将该进程的基本信息填入这张表,例如进程号,父进程,进程组,优先级,状态字等,然后分配该进程虚拟内存空间(此时不做任何实际的分配),打开文件获得句柄,链接到用户活动文件数据表中,分配设备等,做完这些工作,进程表将被放入就绪队列(假设所有资源均可用,只等CPU调度),等待操作系统的调度模块调度。调度模块按照规定的调度算法,从就绪队列中选择一个进程(对于单核处理机),将运行状态赋予该进程,然后切换CPU,使得CPU的程序计数器指向该进程起首执行处,开始运行。通常,新创建的进程是仅有虚拟地址空间的,所以,当第一次执行该进程时,代码不在物理内存,于是产生一次缺页中断。缺页中断机构把对应的页面从外存调入内存,返回到中断点继续运行。对于请求式调页,每次产生缺页中断一般仅调入相关的一页,若运行过程中所需的页面不在内存,那么随时可以产生缺页中断,调入内存。若在进程运行过程中,所需的页面已经在内存了,那么就不需要再将代码调入内存。因此,真正将程序代码和数据调入内存的是缺页中断处理过程,其它过程不会对内外存的活动进行操作。
转载请注明原文地址:https://jikaoti.com/ti/uVajFFFM
0

最新回复(0)