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