计算机组成原理[袁春风]chap4-3.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.7 虚拟存储器 操作系统概述 作业调度 存储器管理 交换 分区 分页 虚拟存储器 4.7.4 虚拟存储器 基本思想: 采用一种“请求分页(按需调页) ”的策略。 “请求分页”:当系统需要用到某个进程时,只是将其当前要用的那一页调进。而不是将该进程的所有页都调入。 “请求分页”的好处: ①避免浪费:在进程被挂起前一小段时间内,根据程序访问的局部性原理,往往只有少量页被调用。若调入许多页的话,则造成资源浪费。 ②使程序不受主存容量的限制:按需调页就不需一次将进程的所有页都调入主存,否则,程序员还需知道内存有多大,以避免进程大于内存而调不下,也即:“程序员可在一个比主存空间大得多的虚拟存储空间(逻辑地址空间)里写程序”----这正是我们的目的! 虚拟存储器概念图 虚拟存储器中的三种地址 三种地址空间: 虚拟地址(空间):也称逻辑地址空间,是应用程序员用来编写程序的地址空间。 主存地址(空间):也称物理地址空间。是计算机系统实际拥有的内存容量和内存寻址范围。 辅存地址(空间):外存储器(指硬盘等)的存储容量。它是虚拟存储器的实际存放空间。 虚拟存储器系统 虚拟存储器系统 内部地址变换 外部地址变换 三种虚拟存储器管理模式 对于操作系统编制者,则需考虑: 主存与辅存的空间如何分区管理; 虚实之间如何映像 虚实地址如何转换 主存与辅存之间如何进行内容调换等。 与Cache所用策略相似。 在高档微处理器中,已将有关的存储管理硬件集成在CPU芯片之内,可以支持操作系统选用以下三种方式之一:页式、段式、段页式。 4.7.4.1 分页式系统 主、辅存间的基本信息传送单位是固定长。 分页组织 分页式系统的优缺点 优点: 实现简单,开销少。因为只有进程的最后一个零头不能利用全部页空间,故浪费很小。 缺点: 由于页不是逻辑上独立的实体,因此可能会出现如“一条指令跨页”等问题,使处理、管理、保护和共享等都不方便。 下面介绍的“分段方式”可解决上述问题。 4.7.4.2 分段式系统 段的概念 段是利用程序的模块化性质,按照程序的逻辑结构划分而成的多个相对独立的部分。 例如,过程、子程序、数据表、阵列等 通常带有段名或基地址,便于程序员编写,也便于编译程序变换和操作系统调度管理。 段可作为独立的逻辑单位被其他程序段调用,以形成段间连接,产生规模较大的程序。 4.7.4.2 分段式系统 分段系统的实现 主存空间按实际程序中的段来划分,每个段在主存中的位置记录在段表中,并附以“段长”项。 段表本身也是主存中的一个可再定位段。 因为段本身是程序的逻辑结构所决定的一些独立部分,因而分段对程序员来说是不透明的(而分页对程序员来说是透明的) 。 程序员或操作系统将程序模块或数据模块分配给不同的主存段,一个大程序有多个代码段和多个数据段构成。 段式虚拟存储器的地址映像 段式虚拟存储器的地址变换图 分段系统的优缺点 优点: 段的分界与程序的自然分界相对应,因而段具有逻辑独立性,使其易于编译、管理、修改和保护,也便于多道程序共享;另外,某些类型的段(堆栈、队列)具有动态可变长度,允许自由调度以有效利用主存空间。 缺点: 段的长度各不相同,段的起点和终点不定,变化很大,给主存分配带来麻烦,而且容易在段间留下许多空余的零碎空间,不好利用,造成浪费。 (例如:一个长段被调出后,调进一个短段,就会造成碎区) 4.7.4.3 段页式系统 基本思想 将段式和页式结合起来。程序按模块分段,段内再分页,进入主存仍以页为基本传送单位。 逻辑地址由段地址、页地址和偏移量三个字段构成。 用段表和页表(每段一个)进行两级定位管理。根据段地址到段表中查阅与该段相应的页表指针,转向页表,然后根据页地址从页表中查到该页在主存中的页框地址,由此再访问到页内某数据。 段页式虚拟存储器的地址变换 4.7.4.4 快表(TLB) 虚存系统中一次访问至少有两次物理存取 获取页表项 获取数据 简单的虚存机制会使存储时间加倍,所以许多虚存系统使 用特殊的Cache用于存放页表项,以减少对主存的存取。 为提高访问速度往往将页表中最活跃的部分放在一个快表(TLB)中。 TLB是Translation Lookaside Buffer的缩写 中文译名除了“快表”之外,还有地址变换后行缓冲器、地址转换后备缓冲器和变换旁视缓冲器等。 4.7.5 存储保护 什么是存储保护? 为避免主存中多道程序相互干扰,防止某程序出错而破坏其他程序的正确性,或某程序不合法地访问其他程序或数据区,应对每个程序进行存储保护。 以下情况发生存储保护错: 地址越界(转换得到的物理地址不属于可访问范围) 访问越权(访问操作与所拥有的访问权限不符) 访问属性的设定 数据段可指定R/M或RO;程序段可指定R/E或RO。 最基本的保

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档