文档介绍:第9章虚拟存储管理
分页存储管理
分段存储管理
段页式存储管理
页的置换算法
主存共享、快表一致性问题
虚拟存储系统的基本概念
虚拟存储器
指一种实际上并不以物理形式存在的虚假的存储器
虚拟地址
一个运行进程访问的地址
实地址
处理器可直接访问的地址
虚拟存储技术
在逻辑上把内存的容量扩大,利用硬盘空间作为虚拟内存。
虚拟存储系统的基本概念
局部性原理(principle of locality):
指程序在执行过程中的一个较短时期,所执行的指令地址和指令的操作数地址,分别局限于一定区域。还可以表现为:
时间局部性:一条指令的一次执行和下次执行,一个数据的一次访问和下次访问都集中在一个较短时期内;
空间局部性:当前指令和邻近的几条指令,当前访问的数据和邻近的数据都集中在一个较小区域内。
虚拟存储系统的基本概念
局部性原理的具体体现
程序在执行时,大部分是顺序执行的指令,少部分是转移和过程调用指令。
过程调用的嵌套深度一般不超过5,因此执行的范围不超过这组嵌套的过程。
程序中存在相当多的循环结构,它们由少量指令组成,而被多次执行。
程序中存在相当多对一定数据结构的操作,如数组操作,往往局限在较小范围内。
虚拟存储系统的基本概念
虚拟存储原理
在程序装入时,不必将其全部读入到内存,而只需将当前需要执行的部分页或段读入到内存,就可让程序开始执行。
在程序执行过程中,如果需执行的指令或访问的数据尚未在内存(称为缺页或缺段),则由处理器通知操作系统将相应的页或段调入到内存,然后继续执行程序。
另一方面,操作系统将内存中暂时不使用的页或段调出保存在外存上,从而腾出空间存放将要装入的程序以及将要调入的页或段。只需程序的一部分在内存就可执行。
虚拟存储系统的基本概念
引入虚拟存储技术的好处
大程序:可在较小的可用内存中执行较大的用户程序;
大的用户空间:提供给用户可用的虚拟内存空间通常大于物理内存(real memory)
并发:可在内存中容纳更多程序并发执行;
易于开发:与覆盖技术比较,不必影响编程时的程序结构
虚拟存储系统的基本概念
虚拟存储技术的特征
不连续性:物理内存分配的不连续,虚拟地址空间使用的不连续(数据段和栈段之间的空闲空间,共享段和动态链接库占用的空间)
部分交换:与交换技术相比较,虚拟存储的调入和调出是对部分虚拟地址空间进行的;
大空间:通过物理内存和快速外存相结合,提供大范围的虚拟地址空间
总容量不超过物理内存和外存交换区容量之和
分页存储管理
在简单页式存储管理的基础上,增加请求调页和页面置换功能。
分页系统中的地址转换
硬件支持
分页存储管理
分页系统中的地址转换(直接地址转换)
页表始址
页表长度
页表寄存器
2
页号
页内偏移量
100
+
2
0
4
1
5
2
3
页架
页号
页表
+
10340
物理地址
2
4
5
内存空间
分页存储管理
分页系统中的地址转换(多级页表)
当内存增大时,页表也会很大,如果页表全部放进主存,也要占用很大的空间
对页表分页,为了管理这些页表,设置一个页表目录(顶级页表)
随着内存的增大,也可以使用三级、四级页表