ZKX's LAB

缺页中断返回后 简述缺页中断和一般中断的区别

2020-10-14知识19

缺页中断处理的详细过程1)硬件陷入内核,在内核堆栈中保存程序计数器。大多数机器将当前指令的各种状态信息保存在特殊的CPU寄存器中。2)启动一个汇编代码例程保存通用寄存器和其他易失的信息,以免被操作系统破坏。这个例程将操作系统作为一个函数来调用。3)当操作系统发现一个缺页中断时,尝试发现需要哪个虚拟页面。通常一个硬件寄存器包含了这一信息,如果没有的话,操作系统必须检索程序计数器,取出这条指令,用软件分析这条指令,看看它在缺页中断时正在做什么。4)一旦知道了发生缺页中断的虚拟地址,操作系统检查这个地址是否有效,并检查存取与保护是否一致。如7a64e4b893e5b19e31333337393566果不一致,向进程发出一个信号或杀掉该进程。如果地址有效且没有保护错误发生,系统则检查是否有空闲页框。如果没有空闲页框,执行页面置换算法寻找一个页面来淘汰。5)如果选择的页框“脏”了,安排该页写回磁盘,并发生一次上下文切换,挂起产生缺页中断的进程,让其他进程运行直至磁盘传输结束。无论如何,该页框被标记为忙,以免因为其他原因而被其他进程占用。6)一旦页框“干净”后(无论是立刻还是在写回磁盘后),操作系统查找所需页面在磁盘上的地址,通过。

缺页中断返回后 简述缺页中断和一般中断的区别

OS问题,求详细解答,问题如下 页号是页的编号页框号可以理解为物理块号因为一个页面大小是4K=2^12所以这个物理块号需要12位来表示。关于逻辑地址到物理地址的计算,逻辑地址由页号和页内地址组成例如:对于地址2362H,后12位(即362)作为物理地址的后半部分2是页号,找到相应的页2,它的物理块号作为物理地址的前半部分即物理地址:254362H关于第二问,需要做完第一问,把页表更新了才能做

缺页中断返回后 简述缺页中断和一般中断的区别

缺页中断是如何发生的?发生缺页中断后如何处理? 缺页中断发生时的事件顺序如下: 1)硬件陷入内核,在堆栈中保存程序计数器。大多数机器将当前指令的各种状态信息保存在特殊的CPU寄存器中。2)启动一个汇编代码例程保存通用。

缺页中断返回后 简述缺页中断和一般中断的区别

vmalloc() 分配内存何时发生缺页中断

缺页中断处理程序要完成的功能是什么 中断处理程序,本质上就相当于一个函数。当硬中断发生时系统会自动调用,包括时钟等等需要系统硬件固定执行的程序,以及一些异常处理程序(比方说被0除等等);。

操作系统如果产生缺页中断,会访问几次内存?

简述缺页中断和一般中断的区别

#中断处理#缺页中断#地址

随机阅读

qrcode
访问手机版