传统存储方式的特点和缺点
一次性:作业必须依从性全部装入内存才能开始运行,会造成两个问题:1. 作业很大的时候无法全部装入内存,会导致大作业无法运行 2.当大量作业要求运行,由于内存无法容纳所有作业,因此只有少量作业可以运行,多道程序的并发度下降
驻留性:一旦作业呗装入内存,就会一直驻留在内存中,直到作业停止运行。导致内存中大量的用不到的数据驻留,浪费宝贵的内存空间
局部性原理
时间局部性
如果执行了程序中的某条指令,那么不久后这条指令可能再次执行,如果某个数据被访问过,不久之后该数据可能会再次被访问(程序中有大量循环)
空间局部性
一旦程序访问了某个存储单元,不久之后,其附近的存储单元也有可能被访问(很多数据在内存中都是连续存放的)
虚拟内存的定义和特征
基于局部性原理,在程序装入时,可以将程序中很快会用到的部分装入内存,暂时用不到的留在外存,就可以让程序开始执行
在执行程序的过程中,当我访问的信息不再内存中时,由操作系统负责将所需信息从外存掉入内存,然后继续执行程序
若内存空间不足,由操作系统负责将内存中暂时用不到的信息换到外存
在操作系统的管理下,在用户看来似乎有一个比实际内存大的多的内存叫做虚拟内存
多次性:无需在作业运行时依从性全部装入内存,但是允许被分成多次掉入内存
对换性在作业运行时,无需一直常驻内存,而是允许在作业运行过程中,将作业换入换出
虚拟性:从逻辑上扩充了内存的容量
如何实现虚拟内存技术
用连续分配方式会不方便实现,因此虚拟内存的实现建立在离散分配内存管理方式的基础上
在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需的信息掉入内存
如果内存空间不够,由操作系统负责将用不到的信息换出到外存