操作系统内存管理二(1)虚拟内存基本概念
根据王道2024
一、传统存储管理方式的特征
-
一次性:作业必须一次性装入内存后才能开始运行
作业很大不能被全部装入内存时,作业无法运行
大量作业要求运行时,内存没有足够空间,只能使少数作业先运行,导致多道程序度下降
-
驻留性:作业被装入进内存后,一直驻留在内存中,不会被换出直到作业运行结束
程序运行中不用或暂时不用的程序占据了大量的内存空间
二、局部性原理
快表、页高速缓存及虚拟内存技术都属于高速缓存技术→依赖局部性原理
虚拟内存技术实际上建立了内存-外存的两级存储器结构,利用局部性原理实现高速缓存
局部性原理的表现:
-
时间局部性:指令可能被重复执行;数据可能被重复访问
通常将最近使用的指令和数据保存到高速缓存中,使用高速缓存的层次结构实现 -
空间局部性:程序在一段时间内访问的地址,可能集中在一定范围之内
通常使用较大的高速缓存,将预取机制集成到高速缓存控制逻辑中
三、虚拟存储器的定义和特征
局部性原理:
-
部分装入:程序装入时,仅需装入少数页面或段到内存,即可运行;
-
请求调入:运行时可将所需部分请求调入内存
-
置换功能:可以将内存中暂时不用的内容调出到外存,让出内存空间
虚拟内存概念:利用局部性原理,OS提供了一个比实际内存容量大得多的存储器
虚拟存储器特征
-
多次性(最重要的特征):无须一次性全装入内存,可以多次调入内存
-
对换性:运行时无须常驻内存,可以将暂时不使用的调出到外存的对换区,需要时再调入内存
-
虚拟性:从逻辑上扩充了内存的容量
四、虚拟内存技术的实现
建立在离散分配的内存管理方式基础上
方式:
-
请求分页存储管理
-
请求分段存储管理
-
请求段页式存储管理
所需硬件支持:
-
一定容量的内存和外存
-
页表机制(段表机制)作为数据结构
-
中断机构→用户要访问的部分不在内存中时,产生中断
-
地址变换机构→逻辑地址到物理地址的变换