缺页中断与缺页异常

简介: 缺页中断与缺页异常

缺页异常的情况:


1线性地址不在虚拟地址空间

2线性地址在虚拟地址空间中,但没有访问权限

3接上一条,没有与物理地址建立映射关系

4fork等系统调用时并没有映射物理页,写数据->缺页异常->写时拷贝

5映射关系建立了,但在交换分区中

6.页面访问权限不足

*


缺页中断


在请求分页的过程中,如果访问的页面不再内存中,会产生一次缺页中断,在外存中找到所缺的一页将其调入内存。

步骤:

保护cpu现场

分析中断原因

转入缺页中断处理函数

恢复cpu现场,继续执行

LRU算法 最近最久未使用


中断时一条指令处理完成后响应中断,异步。(通常不可预知)
异常是一条指令执行时就可以相应,同步。(通常可以预知)

新创建一个公众号 Rockey小何同学 想相互交流的同学可以关注一下哈! 感谢支持!

相关文章
|
2月前
|
SQL 安全 程序员
C++:异常
C++:异常
35 7
|
9月前
|
运维 编译器 C语言
异常(C++)
异常(C++)
54 1
|
2月前
|
安全 Java 编译器
异常的讲解
异常的讲解
27 1
|
2月前
|
C语言 C++
C++异常
C++异常
36 0
|
12月前
|
安全 Java 程序员
c++异常
c++异常
73 0
|
2月前
|
C++
C++中的异常
C++中的异常
|
2月前
|
程序员 编译器 Shell
C++『异常』
C++『异常』
48 0
|
9月前
|
安全 Java 程序员
|
安全 Java C语言
【C++】异常,你了解了吗?(二)
在之前的C语言处理错误时,会通过assert和错误码的方式来解决,这导致了发生错误就会直接把程序关闭,或者当调用链较长时,就会一层一层的去确定错误码,降低效率,所以c++针对处理错误,出现了异常,一起来学习!
59 0
|
Java 程序员 编译器
15 异常
15 异常
61 0