第5章 存储管理3-分段+段页+局部原理.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章存储管理3-分段段页局部原理

The End * * * 可重入代码(Reentry code),也叫纯代码(Pure code)是一种允许多个进程同时访问的代码。 需访问内存二次,即首先是访问内存段表,再由段表找到物理地址后,第二次访问内存单元。可采用高速联想寄存器—快表来提高访问速度。 5.5.2 段式管理的实现原理 3.段式管理的地址变换 段表寄存器:存放段表的起始地址和段表的长度。 在进行地址转换时,系统将逻辑地址中的段号与段表长度进行比较,若段号超过段表长度,表示超界,产生越界中断;若未越界,根据段表起始地址和段号计算出该段对应段表项的位置,读出该段在内存的起始地址,然后再检查段内地址是否超过该段的段长,若超过则同样发出越界中断信号;若未越界,则将该段在内存的起始地址与段内位移相加,从而得到要访问的物理地址。 5.5.2 段式管理的实现原理 3.段式管理的地址变换 硬件支持:一对寄存器 段表始址寄存器: 用于保存正在运行进程的段表的始址。 段表长度寄存器: 用于保存正在运行进程的段表的长度。 5.5.2 段式管理的实现原理 3.段式管理的地址变换 相联/联想寄存器 介于内存与寄存器之间的存储机制,它又叫快表。 为了提高内存访问速度。 快表项目: 段号 始址 长度 状态位 访问位 淘汰位 作业:某段式存储管理中采用下表所示的段表 (1)简述地址变换过程; (2)计算[0,430],[1,10],[2,500],[3,400],[4,20],[5,100]的内存地址,其中方括号内的第一元素为段号,第二元素是段内地址。 (3)存取主存中的一条指令或数据至少需要几次访问内存。 段号 段的长度 内存起始地址 0 660 219 1 14 3330 2 100 90 3 580 1237 4 96 1952 5.5.2 段式管理的实现原理 4.段的共享与保护 段式存在管理可以方便地实现内存信息共享和进行有效的内存保护,因为段是按逻辑意义划分,且可按段名访问。 5.5.2 段式管理的实现原理 4.段的共享与保护 (1)段的共享 在多窗口系统中,被共享的程序和数据的个数和体积往往超过用户程序长度的许多倍,若每个用户进程或作业都在内存保留一个副本,就会极大地浪费内存空间,故内存只保留一个副本供多个用户使用,称为共享。 假定一个多用户系统可容纳40个用户,某应用程序包括160KB的TextEditor代码区和40KB的数据区(共200K),则需8M内存支持;若代码是可重入的(Reentrant),则代码区可共享,因而其所需内存空间为1760KB (=160+40x40)。 分页、分段系统中共享editor的示意图 分段系统中共享editor的示意图 段式系统中共享内存副本 只要用户使用相同的段名,就可在自己的段表中,填入已存在于内存中的共享段,并设置适当的读写控制权,即可做到共享一个逻辑上完整的内存段信息。 5.5.2 段式管理的实现原理 4.段的共享与保护 (1)段的保护 地址越界保护:段起址≤物理地址<段起址+段长 段式管理中,地址越界引发的中断称为越段中断。但如果系统允许段动态增长,则应修改段表中的段长表项值。此时的段表数据结构如表所示。 段号 段长度 始址 允许动态增长 内外 访问位 … 5.5.2 段式管理的实现原理 4.段的共享与保护 (1)段的保护 设置段的存取保护位:可读、可写、可执行等 相比较页的存取保护,段的存取保护更易于实现,解决了分页管理中由于页在逻辑上不具备逻辑完整性,当一页的内容涉及多个逻辑模块时,该页的存取控制难以实现的难题。 5.5.3 段式管理的优缺点 段式存储管理的优点 实现了虚拟存储,但缺段中断率要比缺页中断率少得多 段长可以根据需要动态增长 段在逻辑上的完整性使得段共享更易于实现 便于实现动态链接 5.5.3 段式管理的优缺点 段式存储管理的缺点 要求有较多的硬件支持,提高了机器成本。 碎片问题及消除碎片的合并等问题较分页式差 段的动态增长为系统管理增加难度和开销 每个段长受内存可用区大小限制 若淘汰算法选取不当,可能会产生抖动现象 分页与分段比较 相同点:不要求作业要连续存放; 区别: 页是不完整的信息物理单位,分页是为了实现非连续分配,以解决碎片问题,是系统管理的需要;段是完整的信息逻辑单位,分段是为了更好地实现共享,是用户的需要。 页的大小固定且由系统决定,将逻辑地址转换为页号和页内地址是由硬件实现的。而段的长度可能不同,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时根据信息的性质来划分。 分页的作业地址空间是一维的,分段的地址空间是二维的。 5.5 段式与段页式管理 5.5.4 段页式管理的基本思想 段页式产生的背景: 通过上面的分析知道,页式能有效提高内存的利用率,而段式能反映程序的逻辑结构并

文档评论(0)

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

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

1亿VIP精品文档

相关文档