Linux教程

冷月手撕408之操作系统(16)-虚拟内存管理

本文主要是介绍冷月手撕408之操作系统(16)-虚拟内存管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

操作系统的虚拟内存管理,是内存管理中逻辑扩充内存的一个重点,必须掌握其原理和经典的页面置换算法。

主要的重点冷月做出了标识,知识点如下图(pdf版或xmind源文件请关注公众号:学长冷月,回复操作系统)。

file

冷月点睛

虚拟内存管理

基本概念

驻留性原理

时间局部性 当前访问的数据、指令在不久的将来可能会再次访问

空间局部性 当前访问的存储单元附近的存储空间在不久的将来可能会再次访问

高速缓存技术 把使用更加频繁的数据放到更高速的存储器中

传统存储管理方式特征

一次性 作业必须一次性全部装入内存

驻留性 作业在整个运行期间必须常驻内存

虚拟存储方式特征

程序无需全部装入内存即可运行,根据需要动态调入数据。如内存不够,则换出内存

特征

多次性 无需一次性装入,运行分多次调入内存

对换性 作业根据需要换入、换出

虚拟性 逻辑上扩充了内存的容量

虚拟内存技术的实现

请求调页功能 访存的信息不在内存中,则从外存调入

页面置换功能 内存不够时,则从内存调出

请求分页管理方式

页表机制

在基本分页的基础上,增加了几个表项

缺页中断机制

找到页表项后检查是否在内存中,若不在产生缺页中断;然后将目标页面调入内存,有必要时还要调出页面

缺页中断产生在CPU内部,属于内中断,也就是故障

一条指令执行可能产生多次缺页中断

页面置换算法

最佳置换算法(OPT):优先淘汰以后永不访问的页面;理想算法,无法实现

先进先出页面置换算法(FIFO):优先淘汰最先进入的页面;Belady现象:分配的物理块越大,中断次数不减反增

最近最久未使用置换算法(LRU):优先淘汰最长时间未使用的页面;需要寄存器和栈的支持

时钟置换算法(CLOCK)

这篇关于冷月手撕408之操作系统(16)-虚拟内存管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!