缺页中断与缺页异常

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

缺页异常的情况:


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

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

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

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

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

6.页面访问权限不足

*


缺页中断


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

步骤:

保护cpu现场

分析中断原因

转入缺页中断处理函数

恢复cpu现场,继续执行

LRU算法 最近最久未使用


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

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

相关文章
|
5月前
|
NoSQL 测试技术
内存程序崩溃
【10月更文挑战第13天】
172 62
|
5月前
|
存储 SQL 安全
理解堆栈和内存溢出
【10月更文挑战第05天】
59 3
|
6月前
|
Java C++
Java内存区域于内存溢出异常
这篇文章详细解释了Java虚拟机的内存区域划分、各区域的作用以及可能遇到的内存溢出异常情况。
74 0
|
7月前
|
存储 Java 编译器
Java内存区域与内存溢出异常 - 运行时数据区
【8月更文挑战第2天】Java运行时数据区包括:1) 程序计数器:记录线程执行字节码的行号,线程私有;2) Java虚拟机栈:描述方法执行的内存模型,线程私有,深度过大抛出`StackOverflowError`;3) 本地方法栈:服务于Native方法,线程私有;4) Java堆:所有线程共享,对象实例在此分配内存;5) 方法区:存储类信息、常量等数据;6) 运行时常量池:方法区的一部分,存放字面量和符号引用。不当使用如无限创建对象或过度递归调用会导致各种内存溢出错误。
|
8月前
|
缓存 算法 Java
JVM内存溢出(OutOfMemory)异常排查与解决方法
JVM内存溢出(OutOfMemory)异常排查与解决方法
|
调度
中断异常和系统调用
中断异常和系统调用
176 0
|
10月前
|
存储 Java
什么情况下会产生StackOverflowError(栈溢出)和OutOfMemoryError(堆溢出)怎么排查
什么情况下会产生StackOverflowError(栈溢出)和OutOfMemoryError(堆溢出)怎么排查
|
存储 缓存 内存技术
【CSAPP】虚拟内存 | 地址空间 | 页表内存保护 | 页错误引发异常逐出 (evicted)
【CSAPP】虚拟内存 | 地址空间 | 页表内存保护 | 页错误引发异常逐出 (evicted)
101 0
|
Java
Java线程未捕获异常处理 UncaughtExceptionHandler
当一个线程在执行过程中抛出了异常,并且没有进行try..catch,那么这个线程就会终止运行。
198 0
|
Java
Java内存溢出OutOfMemoryError的产生与排查
在java的虚拟机异常中,有两个异常是大家比较关心的,一个是StackOverflowError,另一个是OutOfMemoryError。今天我们就来看看OutOfMemoryError是怎么产生的,以及如何去排查这个异常。
794 0
Java内存溢出OutOfMemoryError的产生与排查