嵌入式系统设计师学习笔记十七:存储管理②——虚拟存储

虚拟存储器:

①具有部分装入和部分对换功能,能从逻辑上对内容容量进行大幅度扩充,使用方便的一种存储器系统
②实际上是为扩大主存而采用的一种设计技巧
③虚拟存储器的容量与主存大小无关
④虚拟存储器的实现对用户来说是透明的

虚拟存储器的实现方式:请求分页系统、请求分段系统、请求段页式系统

虚拟存储器:能够提供了一个大的,私有的一致性的空间,虚拟存储器为硬件异常、主存,磁盘文件,内核的完美交互,例如当出现缺页,超出页面长度时,虚拟地址物理地址的转换,它会发挥作用保护文件的地址不会被破坏。

虚拟存储器的特征
1、虚拟性:可以从逻辑上扩充容量,用户会感觉内存容量会大于实际内存,其实真正的实际内存并没有变化。
2、离散性:内存分配时采用离散的形式进行进行分配,避免内存空间的浪费。
3、多次性:作业被分为多次调入内存,一开始只是调用部分数据和程序,当使用时再从主存中进行调用。
4、对换性:允许在作业运行中进行换进换出,允许将暂时不用的数据或者程序暂时存在外存中的对换区,用的时候再对换进来。

最本质的特征是:虚拟性
原因:虚拟解决了数据在换进换出的过程中启用虚拟地址对数据进行保护

页面置换算法:

最佳置换算法(理论模型):其选择的被淘汰的页面将是以后永不使用的,或是在最长(未来)时间内不再被访问的页面。

由于其是理论算法,其存在的意义是为了评价其他算法的优越性。

先进先出置换算法(First In First Out,FIFO):该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。

最近最久未使用置换算法(Least Recently Used,LRU):赋予每一个页面一个访问字段,用于记录一个页面自上次被访问以来所经历的时间T,当需要淘汰一个页面时,选择一个T值最大的页面,即选择最近最久未使用的页面予以淘汰。

最近未用置换算法(Least Frequently Used,LFU):在内存中的每个页面设置一个移位寄存器,用来记录该页面被访问的频率,选择在最近十七使用最少的页面作为淘汰页。