当前位置:文档之家› 第六章虚拟存储器管理详解

第六章虚拟存储器管理详解

15
6.2.1 程序局部性原理
2. 虚拟存储器的引入
虚拟存储器中存储的进程执行时并不把其全部内容 装入内存,而只将其中一部分先装入内存。进程执 行过程中用到那些不在内存中的信息时,再把它们 换入内存。
虚拟存储器容量=物理内存容量+辅存中用于虚存 的容量
16
6.2.1 程序局部性原理
2. 虚拟存储器的引入
14
6.2.1 Байду номын сангаас序局部性原理
局限性还表现在下述两个方面:
(1) 时间局限性。如果程序中的某条指令一旦执行, 则不久以后该指令可能再次执行;如果某数据被访 问过,则不久以后该数据可能再次被访问。产生时 间局限性的典型原因是由于在程序中存在着大量的 循环操作。
(2) 空间局限性。一旦程序访问了某个存储单元,在 不久之后,其附近的存储单元也将被访问,即程序 在一段时间内所访问的地址,可能集中在一定的范 围之内,其典型情况便是程序的顺序执行。
17
6.2.2 虚拟存储器及其特征
1. 虚拟存储器的定义
虚拟存储器的基本思想是:
应用程序在运行之前仅将那些当前要运行的少数页面或段 先装入内存便可运行,其余部分放在磁盘上。程序在运行 时,如果它所要访问的页(段)已调入内存,便可继续执 行下去; 但如果程序所要访问的页(段)尚未调入内存(称为缺页 或缺段),此时程序应利用操作系统提供的请求调页(段 )功能,将它们调入内存,以使进程能继续执行下去。 如果此时内存已满,无法再装入新的页(段),则还须再 利用页(段)的置换功能,将内存中暂时不用的页(段) 调至磁盘上,在腾出足够内存空间后,将要访问的页(段 )调入内存,使程序继续执行。 18
11
6.1 覆盖与交换技术
1.交换空间的管理
在具有对换功能的操作系统中,通常把外存分为文件 区和对换区。前者用于存放文件,后者用于存放从内 存换出的进程。系统对文件区一般采取离散分配方式。 进程在对换区中驻留的时间是短暂的,频繁进行对换 操作,故对对换空间管理的主要目标是提高进程的对 换速度。
分页是一维的,各个模块在链接时必须组织成同一个 地址空间; 分段是二维的,各个模块在链接时可以每个段组织成 一个地址空间。
3
重点回顾
基本段页式存储管理方式
每个作业仍按逻辑分段,但对每一段不是按单 一的连续整体存放到存储器中,而是把每个段 再分成若干个页面,每一段不必占据连续的主 存空间,可把它按页存放在不连续的主存块中 。 地址变换如下:
重点回顾
分段:在分段存储管理方式中,作业的地址空间 按照用户编程时划分的自然段被分为若干部分。 每个段定义了一组逻辑信息,有自己的段名。
进程各段在内存中可以不连续存放,但每段要求 在内存中连续存放。内存中各段的长度由用户程 序中的段长决定,因此各段长度不等。 段表 基本分段地址变换机构
采用覆盖技术后,系统可运行比现有内存空间大的进 程。
8
6.1 覆盖与交换技术
9
6.1 覆盖与交换技术
覆盖技术要求操作员对作业有全面的了解,以便为系 统提供一个清晰的覆盖结构。 由于覆盖的划分依据主要来自各程序段之间的调用关 系,因此,一个进程究竟划分为多少段,其中哪些程 序段可以共享同—块存储区,只有程序设计人员最清 楚。如果操作员不是程序员,那么覆盖技术就难以实 现。 覆盖技术主要应用于系统程序,很少应用于用户程 序。
4
重点回顾
段表地址寄存器 段表长度 起始地址 虚拟地址 s p d s p p’ 联想存储器
段表 … …
S段的页表 … 页面 …
5
p’
P’+d 物理地址
第六章 虚拟存储管理
6
本章内容
6.1 覆盖与交换技术 6.2 虚拟存储管理 6.3 请求分页存储管理方式 6.4 请求分段存储管理方式 6.5 请求段页存储管理方式 6.6 存储管理方案总结
为了能对对换区中的空闲盘块进行管理,系统应配置 相应的数据结构来记录外存的使用情况。其与内存动 态分区分配方式中所用数据结构相似,常采用空闲分 区表或空闲分区链。
12
6.1 覆盖与交换技术
2.进程的换出与换入
每当一进程由于创建子进程而需要更多的内存空间时,如 此时系统无足够的空闲内存空间供该进程使用,系统可将 某进程暂时换出。其过程是系统首先选择处于阻塞状态且 优先级最低的进程作为换出进程,然后启动磁盘,将该进 程的程序和数据传送到磁盘的对换区上。若传送过程未出 现错误,便可回收该进程所占用的内存空间,并对该进程 的进程控制块做相应的修改。
1
重点回顾
2
重点回顾
分段与分页系统中的段与页的区别如下 : (1) 段是信息的逻辑单位,它是根据用户的需要划 分的;页是信息的物理单位,是为了管理主存 的方便而划分的。 (2) 页的大小固定不变,由系统决定。段的大小是 不固定的,它由用户完成的功能决定。 (3) 通常段比页大,因而段表比页表短,可以缩短 查找时间,提高访问速度。 (4) 逻辑地址表示:
换出的进程最终还要被换入内存。操作系统应定时查看系 统内所有进程状态,在系统允许的条件下,从磁盘中找出 处于就绪状态且换出时间最久的进程,把它从磁盘换入内 存,供调度程序调度执行。 13
6.2 虚拟存储管理
6.2.1 程序局部性原理
1. 程序局部性原理
程序局部性原理是指程序在执行时将呈现出局部性 规律,即在一较短的时间内,程序的执行仅局限于 某个部分;相应地,它所访问的存储空间也局限于 某个区域。
7
6.1 覆盖与交换技术
6.1.1 覆盖技术
覆盖技术是指程序运行过程中,把同一存储区在不同 时刻分配给不同程序段或数据段,它是实现存储区共 享的一种内存分配技术。可相互覆盖的程序段叫覆盖 段,可进行覆盖操作的内存区域叫做覆盖区。
覆盖段不能超过已有内存空间大小,每个覆盖段分先 后顺序进入系统分配的内存空间,后进入内存空间的 段将先进入内存空间的段覆盖。
10
6.1 覆盖与交换技术
6.1.2 交换技术
交换技术是系统根据需要把内存中暂时不能运行的进 程或暂时不用的部分程序和数据移到外存,以便腾出 足够的内存空间,把外存中已具备运行条件的进程或 部分程序和数据换入,使其运行。交换是提高内存利 用率的一种有效措施。 为了实现交换技术,系统必须能实现两方面的功能: 对换空间的管理、进程的换出与换入。
相关主题