第六章虚拟存储器管理详解.ppt

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

* * * 总剩余空间大于进程所需空间,仍然无法执行 进程中某些程序段并非经常执行,常驻内存效率低 * 总剩余空间大于进程所需空间,仍然无法执行 进程中某些程序段并非经常执行,常驻内存效率低 * 扩充页表加入改变位 外存中应有进程全部副本,为改变的无须写回外存 页面置换算法解决上述问题 * * * * * * * 总剩余空间大于进程所需空间,仍然无法执行 进程中某些程序段并非经常执行,常驻内存效率低 * 总剩余空间大于进程所需空间,仍然无法执行 进程中某些程序段并非经常执行,常驻内存效率低 * * * * * * * * * * * * * * * * * * * * * * * * * * 2.地址变换机构 请求分段系统中的地址变换机构是在分段系统地址变换机构的基础上形成的。 因为被访问的段并非全在内存,所以在地址变换时,若发现所要访问的段不在内存,必须先将所缺的段调入内存,并修改段表,然后才能再利用段表进行地址变换。 为此,在地址变换机构中又增加了某些功能,如缺段中断的请求及处理等。下图示出了请求分段系统的地址变换过程。 图 请求分段系统的地址变换过程 开始 段号段表长度 是 段内地址段长 是 访问权限检查 合法 此段是否在内存 返回 是 修改段表中的相关字段 形成物理地址 调用越界中断处理程序 否 调用越界中断处理程序 否 调用分段保护中断处理程序 不合法 否 调用缺段中断处理程序 3.缺段中断机构 在请求分段系统中,每当发现运行进程所要访问的段尚未调入内存时,便由缺段中断机构产生一缺段中断信号,进入OS后由缺段中断处理程序将所需的段调入内存。 缺段中断机构与缺页中断机构类似,它同样需要在一条指令的执行期间,产生和处理中断,以及在一条指令执行期间,可能产生多次缺段中断。 缺段中断的处理过程如下图所示。由于段不是定长的,这使对缺段中断的处理要比对缺页中断的处理复杂。 图 请求分段系统中的中断处理过程 虚段不在内存 返回 唤醒请求进程 修改段表及空闲表(链) 内存中有合适 的空闲区吗? 阻塞请求进程 空闲区容量 总和满足吗 否 淘汰一个或几个实段, 以形成一个合适空闲区 否 空区拼接,以形成 一个合适的空闲区 是 从外存读入段 是 4.分段的共享与保护 (1)共享段表 为了实现分段共享,可在系统中配置一张共享段表,所有各共享段都在共享段表中占有一表项。 表项中记录了共享段的段号、段长、内存始址、存在位等信息,并记录了共享此分段的每个进程的情况。 图4-34 共享段表项 (1) 共享段表 (1) 共享进程计数count。共享段是为多个进程所需要的,当某进程不再需要而释放它时,系统并不回收该段所占内存区,仅当所有共享该段的进程全都不再需要它时,才由系统回收该段所占内存区。为了记录有多少个进程需要共享该分段,特设置了一个整型变量count。 (2) 存取控制字段。对于一个共享段,应给不同的进程以不同的存取权限。例如,对于文件主,通常允许他读和写;而对其它进程,则可能只允许读,甚至只允许执行。 (3) 段号。对于一个共享段,不同的进程可以各用不同的段号去共享该段。 共享段的分配与回收 1) 共享段的分配 在为共享段分配内存时,对第一个请求使用该共享段的进程,由系统为该共享段分配一物理区,再把共享段调入该区,同时将该区的始址填入请求进程的段表的相应项中,还须在共享段表中增加一表项,填写有关数据,把count置为1; 之后,当又有其它进程需要调用该共享段时,由于该共享段已被调入内存,故此时无须再为该段分配内存,而只需在调用进程的段表中增加一表项,填写该共享段的物理地址; 在共享段的段表中,填上调用进程的进程名、存取控制等,再执行count :=count+1操作,以表明有两个进程共享该段。 共享段的分配与回收 2) 共享段的回收 当共享此段的某进程不再需要该段时,应将该段释放,包括撤消在该进程段表中共享段所对应的表项,以及执行count :=count-1操作。 若结果为0,则须由系统回收该共享段的物理内存,以及取消在共享段表中该段所对应的表项,表明此时已没有进程使用该段;否则(减1结果不为0),只是取消调用者进程在共享段表中的有关记录。 (2) 分段保护 在分段系统中,由于每个分段在逻辑上是独立的,因而比较容易实现信息保护。目前,常采用以下几种措施来确保信息的安全。 1) 越界检查 在段表寄存器中放有段表长度信息;同样,在段表中也为每个段设置有段长字段。 在进行存储访问时,首先将逻辑地址空间的段号与段表长度进行比较,如果段号等于或大于段表长度,将发出地址越界中断信号; 其次,还要检查段内地址是否等于或大于段长,若大于段长,将产生地址越界中断信号,从而保证了每个进程只能在自己的地址空间内运行。 (2) 分段保护 2) 存

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档