上一次复习我们讲到实存管理,就是把内容放到运行内存里面。目前我们用的手机,大部分运行内存是6GB、8GB、12GB等。但是目前随着科技的进步,视频像素也不断升高,有时候,我们一个视频就是十几GB,如果只有实存管理的话,那么我们一下子就要把整个视频放进去,这个时候就会导致卡顿,所以我们需要采用其它的技术——虚存管理。
虚存管理的基本概念
局部性原理(Locality)
- 时间局部性:刚刚访问过的指令或数据,不久又会被再次访问。
- 空间局部性:刚刚访问过的指令或数据,其邻近单元不久会被访问。
- 顺序局部性(程序的顺序执行)
通常情况下,CPU跟踪程序的执行是按照在主存中的连续地址进行的。只有在遇到转移指令时,才发生跳转。
虚存管理器
- 定义:从用户角度,将系统可提供的比实际大很多的内存容量,称为虚拟存储器。
- 实现方式:请求分页系统、请求分段系统
- 硬件支持:页/段表扩充,缺页/段中断,地址变换
虚存的特征
- 虚拟性
- 离散性:采用离散分配方式
- 多次性:一个作业分成多次调入主存运行;
- 对换性:将得不到运行的程序、数据调至外存交换区
虚存的优势
- 比物理内存大的程序可以运行,编程人员无需考虑内存的限制;
- 可以让更多的程序同时运行,系统吞吐量提高;
- 更容易实现文件共享;
- 加载或交换程序到内存所需的I/O更少,程序运行更快;
请求分页Demand Paging
基本思想
- 页面仅在需要的时候加载进入内存。
- 惰性交换器:Lazy swapper——进程驻留在外存,执行时所需要的页面交换到内存。
- 调页程序: pager
① 哪些页面调入内存?
② 何时调入?
③ 硬件支持
分页Paging
- 基本思想:逻辑地址空间在内存中可