内存管理
为了实现较小的内存空间运行较大的程序。采用以下两种策略
1 覆盖策略
需要程序员在程序中实现程序的模块化,并且程序中要实现模块覆盖部分的代码。每次换出的为进程的一部分代码
2 交换策略
操作系统实现交换,程序员不需要考虑,以进程为交换单位,即每次换出的内存为一个进程的所有内容
不足
为了解决以上两者的不足,提出
虚存技术
虚存技术的目的
1 像 覆盖技术那样,不把程序的所有内容全部放到内存,并且还要实现操作系统自动完成覆盖,无需程序员考虑
2 像 交换技术那样,能够实现进程在内存与外存间交换,并且还要实现,进程的部分内容在内存与外存之间作交换。
基本概念
基本特征
虚存技术的要求程序具有良好的局部性原理
程序的局部性原理
指程序在执行过程的一个较短时期,所执行的指令地址和指令操作数地址,分别局限在一定区域
时间局部性
一条指令的执行和下一次执行,一个数据的访问和下一次访问都集中在一个较短的时期内
空间局部性指
当前指令和邻近的指令,当前指令访问的数据,和邻近的指令访问的数据都集中在一个较小的区域内
磁盘中的文件 与 内存中的页之间的映射关系
SWAP分区 的作用
应用程序在运行过程中,产生的数据,没有所映射的磁盘文件,那么当发生页面置换的时候,这些数据被置换出内存时,就会放到SWAP分区。