怎么判断缺页 什么是缺页中断?
什么是缺页中断?
缺页中断意味着要访问的页不在主存中,需要在操作系统将其调用到主存后才能访问。缺页率:内存访问时,如果被访问的页已经在主存中,则表示访问成功;如果被访问的页不在主存中,则表示访问失败,并生成缺页中断。如果程序P的总页面访问次数为s,而缺页中断次数为f,则缺页率为f/s。解决方法:根据给定的页面趋势,采用FIFO消去算法的页面替换情况如下:这里的页面趋势是系统要调用的页码。页面方向
1
2 1
3 1 2
4 2 1 3 4物理块1 3 3 3 2 1 4物理块2 2 1 4缺页从上面的页面替换图可以看出:页面引用数为11,缺页数为9,因此缺页率为9/11。如果采用后一种页面消除策略,则页面替换情况如下:页面转到121 3 1 2 4 2 1 3 4物理块111 3 4物理块222 2 4 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 4物理块122 1 1 3 4缺页:缺页。从上面的页面替换图可以看出,页面引用数是11,缺页数是8,所以缺页率是8/11。
缺页中断处理的详细过程?
1)硬件被困在内核中,程序计数器存储在内核堆栈中。大多数机器将当前指令的各种状态信息存储在专门的CPU寄存器中。
2)启动汇编代码例程以保存常规寄存器和其他易失性信息,以免被操作系统损坏。此例程将操作系统作为函数调用。
3)当操作系统发现缺页中断时,它会尝试查找需要哪个虚拟页。通常,硬件寄存器包含此信息。如果没有,操作系统必须检索程序计数器,取出指令,并用软件分析指令,以查看发生缺页中断时它在做什么。
4)一旦知道缺页中断的虚拟地址,操作系统将检查地址是否有效以及访问和保护是否一致。如果没有,则向进程发送信号或终止它。如果地址有效且未发生保护错误,系统将检查是否存在空闲页框。如果没有空闲页框,则执行页替换算法查找要消除的页。
5)如果所选页面框为“脏”,则计划将页面写回磁盘,并发生上下文切换。导致缺页中断的进程被挂起,其他进程被允许运行到磁盘传输结束。在任何情况下,页面框都被标记为“忙”,以避免由于其他原因被其他进程占用。
6)一旦页面框“干净”(立即或写回磁盘后),操作系统就会在磁盘上找到所需页面的地址,并通过磁盘操作加载该地址。加载页之后,导致缺页中断的进程仍然挂起,如果有其他用户进程可以运行,则会选择另一个用户进程运行。
7)当磁盘中断发生时,表示页面已加载,页面表已更新以反映其位置,页面框标记为正常。
8)恢复缺页中断指令之前的状态,程序计数器再次指向该指令。
9)计划导致缺页中断的进程,操作系统返回调用它的汇编语言例程。
10)例程恢复寄存器和其他状态信息
在一条指令的过程中可能会发生多个缺页中断,例如双目操作,两个操作数不在内存中,因此在计算过程中会出现两个缺页中断,而每一个缺页中断都需要转移到内存中,然后指令被重新执行,所以答案是B,被中断的那一个。如果选择C,则将跳过此指令,这与预期不一致。
作业在执行中发生了缺页中断,经操作系统处理后,应让其执行( )指令?
缺页次数怎么算?
!]!
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。