操作系统 第十讲.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统 第十讲

操作系统 第十讲 段式存储管理 段页式存储管理 覆盖技术及交换技术 四、段式存储管理方案 1. 基本思想 用户程序划分 按程序自身的逻辑关系划分为若干个程序 段,每个程序段都有一个段名,且有一个 段号。段号从0开始,每一段也从0开始编 址,段内地址是连续的 逻辑地址 段号 段内地址 .. .. .. .. .. .. .. .. .. .. 0 . S 工作区段[B] 主程序段[M] 0 . E . P 子程序段[X] 0 K . CALL [X] [E] . CALL [Y] [F] . CALL [A] 116 . 0 . F . L 子程序段[Y] 0 116 N . 12345 数组[A] K 3200 P 1500 L 6000 N 8000 S 5000 操作系统 A B 0 N 0 S M X Y 逻辑段号 0 0 K 0 1 P 0 2 L 3 4 作业1的地址空间 1000 3200 5000 6000 8000 P K S L N 主存 长度 段地址 . 0 1 2 3 4 基本思想(续) 内存划分 内存空间被动态的划分为若干个长度不 相同的区域,称为物理段,每个物理段 由起始地址和长度确定 内存分配 以段为单位分配内存,每一个段在内存 中占据连续空间(内存随机分割,需要 多少分配多少),但各段之间可以不连 续存放 2. 管理 段表 记录了段号,段的首(地)址和长度之 间的关系 每一个程序设置一个段表,放在内存系统区 属于进程的现场信息 结合所学的分区和页式管理方式,请设计如何实现段式管理? 段表的项目: 逻辑段号 物理段起始地址(段首址) 物理段长度 段首址 段长度 58K 20K 100K 110K 260K 140K 段号 0 1 2 管理(续) 空闲块管理 空闲块表 内存分配算法(三种) 思考:及可变分区存储管理方案的相同点 及不同点? 3. 硬件支持 系统设置一对寄存器 段表始址寄存器: 用于保存正在运行进程的段表的始址 段表长度寄存器: 用于保存正在运行进程的段表的长度 相联存储器——快表 快表项目:段号;段始址;段长度;标识(状 态)位;访问位(淘汰位) 分段系统的地址变换过程 l b S l b . . . 段表 快表 物理地址 段表始址寄存器 Cb + 逻辑地址 段号S 段内地址d 地址越界 d=1 比较 比较 d=1 地址映射及存储保护机制 S= Cl 地址越界 地址越界 b + d 段表长度寄存器 Cl 比较 结合前面学过的存储管理模式,试分析: 段式存储管理系统中是如何实现存储保护的? 段式管理的存储保护主要有两种。一种是地址越界保护法,另一种是存取方式控制保护法。具体的措施有: 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#,…,等等。 分页系统中共享editor的示意图 分段系统中共享edito

您可能关注的文档

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档