虚拟存储器及其管理技术是现代操作系统的重要特征之一,它将外存资源与内存资源进行统一管理,解决了用较小容量的内存运行大容量的软件问题。本节将给出虚拟存储器的概念,并讨论虚拟存储器管理的三种方法:分页存储管理、分段存储管理和段页存储管理。
5.6.1 虚拟存储器
从操作系统的角度看,计算机系统的资源分为两大类:一类是硬件资源,包括微处理器、存储器和输入输出设备;另一类是软件资源,即程序和数据。这些资源构 成了系统程序和用户作业赖以活动的物质基础和工作环境。针对这些资源,操作系统的资源管理程序分为4个部分:处理器管理、存储器管理、外部设备管理和文件 管理。
早期开发的操作系统只支持单任务、单用户系统,对存储器的管理比较简单。如MSDOS就是在8086/8088环境下开发的磁 盘操作系统,只支持单任务、单用户操作;它可管理的内存空间最大为1MB,其中供用户程序占用的空间只有640KB,并且在内存管理上采用静态分配方式, 不支持虚拟存储器;在运行程序时,必须把用户程序一次调入内存。而目前使用的Windows操作系统突破了DOS内存1MB的限制,内存最大可达 4096MB,支持多任务、多用户操作,采用动态内存分配管理方式,并且具有虚拟存储器管理功能。
虚拟存储器(简称虚存)实际上是一 种由操作系统的存储管理软件对内存和外存资源进行统一分配和程序调度的存储器管理技术。它将内存和外存统一编址,形成一个比内存空间大许多的存储空间,称 为虚拟存储空间。虚拟地址空间的大小由CPU存储管理体系结构决定,并由外部存储器支持。虚拟存储器的地址称为虚拟地址或逻辑地址(用户在编制程序时使用 的地址)。用户在编制程序时可以不受内存空间大小的限制,在虚拟存储空间内自由编程,使得具有较小内存空间的系统能够运行大容量程序。
虚拟存储器的工作原理是:在执行程序时,允许将程序的一部分调入内存,其他部分保留在外存。即由操作系统的存储管理软件先将当前要执行的程序段(如主程 序)从外存调入内存,暂时不执行的程序段(如子程序)仍保留在外存,当需要执行存放在外存的某个程序段时,由CPU执行某种程序调度算法将它们调入内存。
5.6.2 分页存储管理
1.分页存储管理的基本原理
分页存储管理的基本原理是:将内存空间和虚存空间分别等分为大小相等的若干页,页的大小为2n个字节,如210(1KB)、211(2KB)、 212(4KB)等,并且为每个页按顺序指定一个页号,即0页、1页、2页……为了叙述方便,这里把内存的页(物理页或绝对页)称为页面。例如,若内存空 间为8KB,虚存空间为16KB,页的大小为1KB,则内存空间可分为8个页面,其页面号为0~7;虚存空间可分为16个页,其页号为0~15。当运行程 序时,以“页”为单位进行地址映射。即操作系统以页为单位把逻辑页从外存调入内存,存放在物理页面上,供CPU执行。
2.分页存储管理的地址转换
在分页存储管理中,需要解决的关键问题是:选择哪一个物理页存放调入的逻辑页如何将逻辑地址转换为物理地址为了解决这些问题,系统为每一个页建立一个页 表,保存在内存中,存放页的若干信息,如页号、容量、是否装入内存、存放在内存的哪一个页面上等。CPU访问某页时,首先要查找页表,判断要访问的页是否 在内存,若在内存为命中,否则为未命中;然后将未命中的页按照某种调度算法由外存调入内存,并根据逻辑页号和存放的物理页面号的对应关系,将逻辑地址转换 为物理地址。分页存储管理的地址转换示意图。
存储单元的物理地址由页面号和页内地址两部分组成,如(a)所示。8KB内存的页内地址 由地址线A9~A0提供,可寻址1KB的页内存储空间,地址范围为0~1023;页面号由高3位地址线A12~A10提供,8个页面的页面号为0~7。由 此可以看出,页面存储单元的物理地址为:页的大小×页面号+页内地址。
虚拟地址(逻辑地址)的确定方法与物理地址的确定方法完全相 同,也是由页号和页内地址两部分组成,如(b)所示。16KB虚存空间可分为16页,页内地址由虚拟地址线A9~A0提供,其页号0~15由虚拟在进行地 址转换时,由于逻辑页和物理页的大小相等,它们的页内地址是相同的,所不同的是页号,只要将逻辑地址的页号转换为物理地址的页面号即可。在中,给出1号逻 辑页中某条指令访问数据的逻辑地址为1024×1+4521476,它存入内存7页面上所对应的物理地址为1024×7+4527620。
本站内容如无特别说明,均来自网络和网友投稿!如侵犯了您的权利,请联系我们删除。
- 计算机5.7.180x86存储管理的特点
- 现代微机系统采用高速缓冲存储器技术
- 中断技术引入计算机系统
- 存储器的构成原理是什么
- 计算机6.2.180x86中断结构及类型
- 硅谷能辉煌成果其背后有些什么?
- 电视信号的传输过程
- 计算机的安全防护怎么进行