虚拟内存缺页异常
2021-04-04 12:51:01 0 举报
虚拟内存缺页异常
作者其他创作
大纲/内容
VA
3、虚拟地址重新发送到MMU进行翻译
场景一:一台4G内存的电脑先打开了占用4G的PS,然后再打开占用3G英雄联盟。一共需要5G但是却能打开,并且打开英雄联盟的时候明显慢了很多。
虚拟地址
拷贝到主存
那么应该如何选择物理内存中要替换的页呢?1、MIN策略/OPT策略2、FIFO策略3、Second Chance策略4、LRU策略5、MRU策略6、时钟算法策略
2、异常处理将会在物理内存中查找一个页进行替换,这里替换的是PA4
PA0
PA1
PA2
PA3
1、查找的虚拟地址不在主存中,触发了缺页异常
PA4
缺页异常:1、访问的虚拟地址不在虚拟地址空间。2、访问的虚拟地址在虚拟地址空间中但是未与物理地址建立映射关系。
磁盘
物理内存
页号
页内偏移量
0
null
1
2
3
4
场景一中之所以4G的电脑能够运行5G的应用,主要是系统进行了换页操作。换页:当物理内存不足的时候就会选择一部分页写到类似磁盘这种大容量的存储器中,然后回收这些页继续使用。当切换到PS的时候,会有很多需要访问的页不在主存中,所以发生了缺页中断。缺页中断:访问的页不在主存中,需要从外存中加载。
页表
PA
场景二:编写了一个程序但不知道程序需要多大的运行内存,所以刚开始向系统申请了足够大的一块内存,但大部分内存不会被使用,操作系统应该如何处理?
0 条评论
下一页