第七节虚拟存储器 7.1虚拟存储器的基本概念 1.么是应存储器 虚拟存储器只是一个容量非常大的存储器的逻辑模型, 不是任何实际的物理存储器。 它借助于磁盘等辅助存储器来扩大主存容量,使之为更 大或更多的程序所使用。 它指的是主存-外存层次。以透明的方式给用户提供了 个比实际主存空间大得多的程序地址空间
第七节 虚拟存储器 7.1 虚拟存储器的基本概念 1.什么是虚拟存储器 虚拟存储器只是一个容量非常大的存储器的逻辑模型, 不是任何实际的物理存储器。 它借助于磁盘等辅助存储器来扩大主存容量,使之为更 大或更多的程序所使用。 它指的是主存-外存层次。以透明的方式给用户提供了一 个比实际主存空间大得多的程序地址空间
注意: 物理地址由CPU地址引脚送出,用于访问主存的 地址。 虚拟地址由编译程序生成的,是程序的逻辑地址,其 地址空间的大小受到辅助存储器容量的限制。 主存-外存层次和 Icache-主存层次用的地址变换映射 方法和替换策略是相同的,都基于程序局部性原理
注意: 物理地址由CPU地址引脚送出,用于访问主存的 地址。 虚拟地址由编译程序生成的,是程序的逻辑地址,其 地址空间的大小受到辅助存储器容量的限制。 主存-外存层次和cache-主存层次用的地址变换映射 方法和替换策略是相同的,都基于程序局部性原理
主存外存层次和che-主存层次用的地址变换映射方法 和替换策略它们遵循的原则是: ①把程序中最近常用的部分驻留在高速的存储器中。 ②一旦这部分变得不常用了,把它们送回到低速 的存储器中。 ③这种换入换出是由硬件或操作系统完成的,对用户 是透明的。 ④力图使存储系统的性能接近高速存储器,价格接 近低速存储器
主存-外存层次和cache-主存层次用的地址变换映射方法 和替换策略它们遵循的原则是: ①把程序中最近常用的部分驻留在高速的存储器中。 ②一旦这部分变得不常用了,把它们送回到低速 的存储器中。 ③这种换入换出是由硬件或操作系统完成的,对用户 是透明的。 ④力图使存储系统的性能接近高速存储器,价格接 近低速存储器
2.主存外存层次的基本信息传送单位 段、页或段页。 段:按照程序的逻辑结构划分成的多个相对独立部分,作 为独立的逻辑单位。 优点是段的逻辑独立性使它易于编译、管理、修改和 保护,也便于多道程序共享;某些类型的段具有动态可变长 度,允许自由调度以便有效利用主存空间。 缺点是因为段的长度各不相同,起点和终点不定,给主 存空间分配带来麻烦,而且容易在段间留下许多空余的零碎 存储空间,造成浪费
2. 主存-外存层次的基本信息传送单位 段、页或段页。 段 : 按照程序的逻辑结构划分成的多个相对独立部分,作 为独立的逻辑单位。 优点是段的逻辑独立性使它易于编译、管理、修改和 保护,也便于多道程序共享;某些类型的段具有动态可变长 度,允许自由调度以便有效利用主存空间。 缺点是因为段的长度各不相同,起点和终点不定,给主 存空间分配带来麻烦,而且容易在段间留下许多空余的零碎 存储空间,造成浪费
页:主存物理空间中划分出来的等长的固定区域。 优点是页面的起点和终点地址是固定的,方便造页 表,新页调入主存也很容易掌握,比段式空间浪费小。 缺点是处理、保护和共享都不及段式来得方便。 段页式管理:采用分段和分页结合的方法。 程序按模块分段,段内再分页,进入主存以页为基 本信息传送单位,用段表和页表进行两级定位管理
页: 主存物理空间中划分出来的等长的固定区域。 优点是页面的起点和终点地址是固定的,方便造页 表,新页调入主存也很容易掌握,比段式空间浪费小。 缺点是处理、保护和共享都不及段式来得方便。 段页式管理:采用分段和分页结合的方法。 程序按模块分段,段内再分页,进入主存以页为基 本信息传送单位,用段表和页表进行两级定位管理
7.2页式虚拟存储器 页式虚拟存储系统中,虚拟空间分成页,称为逻辑页; 主存空间也分成同样大小的页,称为物理页。 虚存地址分为两个字段:高字段为逻辑页号, 低字段为页内行地址 实存地址也分两个字段:高字段为物理页 号,低字段为页内行地址 页表中每一个虚存逻辑页号有一个表目录,表目录内容 包含该逻辑页所在的主存页面地址(物理页号,用它作为实存 地址的高字段,与虚存地址的页内行地址字段相拼接,产生 完整的实主存地址,据此来访问主存
7.2 页式虚拟存储器 页式虚拟存储系统中,虚拟空间分成页,称为逻辑页; 主存空间也分成同样大小的页,称为物理页。 虚存地址分为两个字段:高字段为逻辑页号, 低字段为页内行地址。 实存地址也分两个字段:高字段为物理页 号,低字段为页内行地址。 页表中每一个虚存逻辑页号有一个表目录,表目录内容 包含该逻辑页所在的主存页面地址(物理页号),用它作为实存 地址的高字段,与虚存地址的页内行地址字段相拼接,产生 完整的实主存地址,据此来访问主存
快表:为了避免页表已保存或已调入主存储器时对主存 访问次数的增多,把页表的最活跃部分存放在高速存储器 中组成快表 快表由硬件组成,比页表小得多,查表时,由逻辑页 号同时去查快表和慢表,当在快表中有此逻辑页号时,就 能很快地找到对应的物理页号送入实主存地址寄存器,从 而做到虽采用虚拟存储器但访主存速度几乎没有下降。 快表与慢表实现内部地址变换的方式演示
快表: 为了避免页表已保存或已调入主存储器时对主存 访问次数的增多, 把页表的最活跃部分存放在高速存储器 中组成快表。 快表由硬件组成,比页表小得多,查表时,由逻辑页 号同时去查快表和慢表,当在快表中有此逻辑页号时,就 能很快地找到对应的物理页号送入实主存地址寄存器,从 而做到虽采用虚拟存储器但访主存速度几乎没有下降。 快表与慢表实现内部地址变换的方式演示
7.3.式虚拟存储器 在段式虚拟存储系统中,段是按照程序的逻辑结构划 分的,各个段的长度因程序而异。 虚拟地址由段号和段内地址组成为了把虚拟地址变 换成实主存地址,需要一个段表。 段表也是一个段,可以存在外存中,但一般是驻留在主存中 虚存地址向实存地址的变换过程演示
7.3. 段式虚拟存储器 在段式虚拟存储系统中,段是按照程序的逻辑结构划 分的,各个段的长度因程序而异。 虚拟地址由段号和段内地址组成,为了把虚拟地址变 换成实主存地址,需要一个段表。 段表也是一个段,可以存在外存中,但一般是驻留在主存中 虚存地址向实存地址的变换过程演示
74段页式虚拟存储器 段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的 结 它把程序按逻辑单位分段以后,再把每段分成固定大小的页。 程序对主存的调入调出是按页面进行的,但它又可以按段 实现共享和保护,兼备页式和段式的优点。 缺点是在映象过程中需要多次查表。 在段页式虚拟存储系统中,每道程序是通过一个段表 和一组页表来进行定位的。段表中的每个表目录对应一个 段,每个表目录有一个指向该段的页表起始地址及该段的 控制保护信息。由页表指明该段各页在主存中的位置以及 是否已装入、已修改等状态信息
7.4 段页式虚拟存储器 段页式虚拟存储器是段式虚拟存储器和页式虚拟存储器的 结合。 它把程序按逻辑单位分段以后,再把每段分成固定大小的页。 程序对主存的调入调出是按页面进行的,但它又可以按段 实现共享和保护,兼备页式和段式的优点。 缺点是在映象过程中需要多次查表。 在段页式虚拟存储系统中,每道程序是通过一个段表 和一组页表来进行定位的。段表中的每个表目录对应一个 段,每个表目录有一个指向该段的页表起始地址及该段的 控制保护信息。由页表指明该段各页在主存中的位置以及 是否已装入、已修改等状态信息
如果有多个用户在机器上运行,多道程序的每一道需要 个基号,由它指明该道程序的段表起始地址。 虚拟地址格式如下: 基号 段号 页号 页内地址
如果有多个用户在机器上运行,多道程序的每一道需要 一个基号,由它指明该道程序的段表起始地址。 虚拟地址格式如下: 基号 段号 页号 页内地址