操作系统-存储管理_虚拟内存管理

本总结参考MOOC华中科技大学苏曙光老师的操作系统课程

1.页式虚拟内存管理概念

物理内存(即实内存)管理
操作系统-存储管理_虚拟内存管理_第1张图片
虚拟内存目标
操作系统-存储管理_虚拟内存管理_第2张图片
虚拟内存的实现思路:在程序运行时,只把当前必要的很小的一部分代码和数据装入内存中。其余代码和数据需要时再装入。不再运行的代码和数据及时从内存删除
程序运行的局部性
1,程序在一个有限的时间段内访问的代码和数据往往集中在有限的地址范围内;
2,把程序的一部分装入内存在较大概率上也足够让其运行一小段时间。
典型的虚拟内存管理方式:
1.页式存储管理;
2.段式存储管理;
3.段页式存储管理。

页式存储管理:把进程空间(虚拟)和内存空间划分成等大小的小片;
页和页框大小相等
进程的小片——页(虚拟页或页面)
内存的小片——页框(物理页)

操作系统-存储管理_虚拟内存管理_第3张图片
内存装入和使用内存的原则:
内存以页框为单位分配使用;
进程以页为单位装入内存:
操作系统-存储管理_虚拟内存管理_第4张图片

2.页表和页式地址映射

页式系统中的地址
虚拟地址(VA)可以分解为页号P和页内偏移W
计算过程要懂
操作系统-存储管理_虚拟内存管理_第5张图片
页面映射表
记录页与页框之间的对应关系,也叫页表
即页表是记录页和页框之间的对应关系,通过它可以知道进程中对应的页在页框中对应的号码;
操作系统-存储管理_虚拟内存管理_第6张图片
操作系统-存储管理_虚拟内存管理_第7张图片
页式地址映射:
功能:虚拟地址->物理地址
过程(三步)
1.从VA中分离出页号P和页内偏移W
2.查页表:以P为索引值查页框号P’
3.计算物理地址MA:
MA = P’ * 页大小 + W

操作系统-存储管理_虚拟内存管理_第8张图片

3.快表技术和页式共享技术

快表机制(Cache)
块表的概念:
慢表:页表放在内存中;
快表:页表放在Cache中;
快表的特点:
(1) 容量小,访问快,成本高;
(2) 快表是慢表的部分内容的复制;
(3) 地址映射时优先访问快表
若在快表中找到所需数据,则成为“命中”
没有命中,需要访问慢表,同时更新快表

(4)合理的页面调度策略能使快表具有较高命中率
快表机制下地址映射过程
操作系统-存储管理_虚拟内存管理_第9张图片
没有快表执行访存命令时,总共需要访问几次内存?
最好情况:查询的页面在快表中,然后通过快表给出的地址直接访问内存。(1次)(只用访问物理地址)
最坏情况:查询的页面内不在快表中,需要访问内存得到需要访问页面的地址,然后更具地址再次访问内存的到数据。(2次)。(因为此时页表和物理地址都在内存中)
第一次是获取段表、页表里面的块号、页号算出物理地址;第二次访问物理地址得到数据。
假定CPU一次访问内存时间为1μs(微秒),访问快表时间忽略不计;如果快表的命中率为85%,那么一次内存读写的平均时间是多少,
1μs0.85 + 1μs0.15*2 = 1.15μs

页面共享
操作系统-存储管理_虚拟内存管理_第10张图片
页面共享原理:在不同进程的页表中填上相同的页框号,即(物理存储位置相同)多个进程能访问相同的内存空间,从而实现页面共享。
共享页面在内存中只有一份真实存储,节省内存
操作系统-存储管理_虚拟内存管理_第11张图片

4.缺页中断

操作系统-存储管理_虚拟内存管理_第12张图片
页表扩充:即之前留下来的其他特性加上具体的内容;
带中断位的页表,扩充有中断位的辅存地址的页表
操作系统-存储管理_虚拟内存管理_第13张图片
操作系统-存储管理_虚拟内存管理_第14张图片
以上为两种扩充页表的方法;

缺页中断:
定义:在地址映射过程中,当所要访问的目的页不存在内存中时,则系统产生异常中断——缺页中断;
缺页中断处理程序:中断处理程序把所缺的页从页表之处的辅存地址调入内存的某个个页框中,并更新页表中该页对应的页框号以及中断位I为0;
缺页率
操作系统-存储管理_虚拟内存管理_第15张图片
MMU:MMU是Memory Management Unit的缩写,中文名是内存管理单元,有时称作分页内存管理单元(英语:paged memory management unit,缩写为PMMU)。它是一种负责处理中央处理器(CPU)的内存访问请求的计算机硬件。它的功能包括虚拟地址到物理地址的转换(即虚拟内存管理)、内存保护、中央处理器高速缓存的控制,在较为简单的计算机体系结构中,负责总线的仲裁以及存储体切换(bank switching,尤其是在8位的系统上;

5.页面淘汰策略

淘汰策略:选择淘汰哪一页的规则称为淘汰策略
页面抖动:页面在内存和辅存之间频繁交换的现象,“抖动”会导致系统效率下降;
好的淘汰策略:具有较低的缺页率(高命中率);页面抖动较少。
常用的淘汰算法:
OPT:理论最佳,实践中无法实现
FIFO:淘汰在内存中停留时间最长的页面;
LRU:淘汰最长时间未被使用的页面;
LFU:选择到当前时间为止访问次数最少的页面。

6.缺页因素与页式系统缺点

缺页因素:淘汰算法,分配给进程的页框数,页本身的大小
操作系统-存储管理_虚拟内存管理_第16张图片
操作系统-存储管理_虚拟内存管理_第17张图片
操作系统-存储管理_虚拟内存管理_第18张图片
页式系统的不足:
页面划分无逻辑含义;
页的共享不灵活
页内碎片;

段式存储管理

操作系统-存储管理_虚拟内存管理_第19张图片
操作系统-存储管理_虚拟内存管理_第20张图片
操作系统-存储管理_虚拟内存管理_第21张图片
操作系统-存储管理_虚拟内存管理_第22张图片
操作系统-存储管理_虚拟内存管理_第23张图片
操作系统-存储管理_虚拟内存管理_第24张图片

你可能感兴趣的:(操作系统)