第六章 段页式存储管理.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统 第十讲 段式存储管理 段页式存储管理 覆盖技术与交换技术 分段系统的地址变换过程 结合前面学过的存储管理模式,试分析: 段式存储管理系统中是如何实现存储保护的? 段式管理的存储保护主要有两种。一种是地址越界保护法,另一种是存取方式控制保护法。具体的措施有: 1)利用段表及段长来实现段的保护,防止程序执行的时地址越界 2)存取权限保护法,在段表中设有“存取权”一项,可对程序的访问权限进行各种必要的限制 3)存取保护键保护:由于I/O通道对存储器的访问是不通过段表的,因此有的机器还采用存储保护键来保护 试分析: 如何实现多个作业对一个信息段的共享? 如果多个用户进程或作业需要共享某段程序或者数据,可以使用不同的段名,在各自的段表中填入已在内存中的共享段的地址,并设置适当的读写控制权,就可以做到共享一个内存段的信息。 有关信息共享 分段系统的一个突出优点,是易于实现段的共享,即允许若干个进程共享一个或多个分段,且对段的保护也十分简单易行。在分页系统中,虽然也能实现程序和数据的共享,但远不如分段系统来得方便。 我们通过一个例子来说明这个问题。例如,有一个多用户系统,可同时接纳40个用户,他们都执行一个文本编辑程序(Text Editor)。如果文本编辑程序有160 KB的代码和另外40 KB的数据区,则总共需有 8 MB的内存空间来支持40个用户。如果160 KB的代码是可重入的(Reentrant),则无论是在分页系统还是在分段系统中,该代码都能被共享,在内存中只需保留一份文本编辑程序的副本,此时所需的内存空间仅为1760 KB(40×40+160),而不是8000 KB。 假定每个页面的大小为4 KB,那么,160 KB的代码将占用40个页面,数据区占10个页面。为实现代码的共享,应在每个进程的页表中都建立40个页表项,它们的物理块号都是21#~60#。在每个进程的页表中,还须为自己的数据区建立页表项,它们的物理块号分别是61#~70#、71#~80#、81#~90#,…,等等。 09年考研真题 一个分段存储管理系统中,地址长度为32位,其中段号占8位,则段长最大? A.2的8次方字节??B.2的16次方字节??C.2的24次方字节??D.2的32次方字节? 段式管理的优缺点 分段是支持用户内存观点的一种内存管理模式 优点: 便于动态申请内存 管理和使用统一化 便于共享和保护√ 便于动态链接 缺点 有碎片问题 试设计: 利用段表和页表实现地址映射 试画出下图: 段页式系统中的地址变换机构 在段页式系统中,为了获得一条指令或数据,须三次访问内存。第一次访问是访问内存中的段表,从中取得页表始址;第二次访问是访问内存中的页表,从中取出该页所在的物理块号,并将该块号与页内地址一起形成指令或数据的物理地址;第三次访问才是真正从第二次访问所得的地址中,取出指令或数据。   显然,这使访问内存的次数增加了近两倍。为了提高执行速度,在地址变换机构中增设一个高速缓冲寄存器。每次访问它时,都须同时利用段号和页号去检索高速缓存,若找到匹配的表项,便可从中得到相应页的物理块号,用来与页内地址一起形成物理地址;若未找到匹配表项,则仍须再三次访问内存。 试比较覆盖技术与交换技术 共同点 进程的程序和数据主要放在外存,当前需要执行的部分放在内存,内外存之间进行信息交换 都是利用外存来逻辑扩充内存,两种技术的发展导致了虚拟技术的出现 不同点 控制交换的方式不同 与覆盖技术相比,交换技术不要求用户给出程序段之间的逻辑覆盖结构;而且,交换发生在进程或作业之间,而覆盖发生在同一进程或作业内。此外,覆盖只能覆盖那些与覆盖段无关的程序段 交换技术(续1) 交换技术实现中的几个问题 选择原则 即:将哪个进程换出/内存? 例子:分时系统,时间片轮转法或基于优先数的调度算 法,在选择换出进程时,要确定换出的进程是要长时间 等待的 需要特殊考虑的是:任何等待I/O的进程中存在的问题 解决: 从不换出处于等待I/O状态的进程 有些I/O进程因DMA而不能换出内存或换出前需要操作 系统的特殊帮助 交换技术(续2) 交换时机的确定 何时需发生交换? 例子: 只要不用就换出(很少再用) 只在内存空间不够或有不够的危险时换出 交换时需要做哪些工作? 需要一个盘交换区:必须足够大以存放所有 用户程序的所有内存映像的拷贝;必须对这些 内存映像的直接存取 交换技术(续3) 换入回内存时位置的确定 换出后再换入的内存位置一定要在换出前的原 来位置上吗? 受地址“绑定”技术的影响,即绝对地址产生时机的限制: 如果进程中引用的地址都是绝对地址,则必须换入原来的位置 如果进程中引用的地址是相对地址,则不必换入原来的位置,可通过地址重定位。 * * 四、段式存储管理

文档评论(0)

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

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

1亿VIP精品文档

相关文档