分段式虚拟存储系统.pptVIP

  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文档。上传文档
查看更多
分段式虚拟存储系统

4.5.3 分段式虚拟存储系统 分段式虚拟存储系统把作业的所有分段的副本都存放在辅助存储器中,当作业被调度投入运行时,首先把当前需要的一段或几段装入主存,在执行过程中访问到不在主存的段时再把它们装入。 段式虚拟存储管理的段表扩展 l 特征位: 00(不在内存);01(在内存);11(共享段); l??存取权限: 00(可执行);01(可读);11(可写); l? 扩充位: 0(固定长);1(可扩充); l??标志位: 00(未修改);01(已修改);11(不可移动); 4.5.4段页式存储管理 段式存储是基于用户程序结构的存储管理技术,有利于模块化程序设计,便于段的扩充、动态链接、共享和保护,但往往会生成段内碎片浪费存储空间; 页式存储是基于系统存储器结构的存储管理技术, 存储利用率高,便于系统管理,但不易实现存储共享、保护和动态扩充。 如果把两者优点结合起来, 在分页式存储管理的基础上实现分段式存储管理这就是段页式存储管理, 段页式存储管理的基本原理。 1、虚地址以程序的逻辑结构划分成段,这是段页式存储管理的段式特征。 2、实地址划分成位置固定、大小相等的页框(块) ,这是段页式存储管理的页式特征 3、将每一段的线性地址空间划分成与页框大小相等的页面,于是形成了段页式存储管理的特征 段号(s) 段内页号 (p) 页内位移(d) 4、逻辑地址形式为: 对于用户来说,段式虚拟地址应该由段号s和段内位移d’组成,操作系统内部再自动把d’解释成两部分:段内页号p和页内位移d,也就是说,d’=p×块长+d。 数据结构 段页式存储管理的数据结构包括作业表、段表和页表三级结构。 作业表中登记了进入系统中的所有作业及该作业段表的起始地址, 段表中至少包含这个段是否在内存,以及该段页表的起始地址, 页表中包含了该页是否在主存(中断位)、对应主存块号。 动态地址转换 从逻辑地址出发,先以段号s和页号p作索引去查快表,如果找到,那么立即获得页p的页框号p’,并与位移d一起拼装得到访问主存的实地址,从而完成了地址转换。若查快表失败,就要通过段表和页表来作地址转换了,用段号s作索引,找到相应表目,由此得到s段的页表的起始地址s’,再以p作索引得到s段p页对应的表目,由此得到页框号p’;这时一方面把s段p页和页框号p’置换进快表,另一方面用p’和d生成主存的实地址,从而完成地址转换。 4.6实例研究:Intel Pentium Intel的Pentium和Pentium Pro既可以作为分段系统,又可以作为分页系统,也可以作为一个段页式存储管理系统来运行 4.6.1Pentium虚拟存储器的核心数据结构——描述符表 局部描述符表LDT(local descriptor table)和全局描述符表GDT(global descriptor table)。 每个进程都有一个自己的LDT,它描述局部于每个进程的段,包括代码段、数据段、堆栈段的基地、大小和有关控制信息等; 系统的所有进程共享一个GDT, 它描述系统段,包括操作系统自己的基地、大小和有关控制信息等。 4.6.2段选择符和段描述符 选择符是一个16位数,如图4-32所示。选择符中的一位指出这个段是局部的还是全局的,其他13位是LDT和GDT的入口号。 l基地址共32位(分三处合并),生成内存段的首址,加上32位偏移形成内存地址。对于286程序,基地址的24—31位不用,恒为0;所以,286只能处理24位基址。 l长度位共20位,限定段描述符寻址的内存段的长度,注意段长度的计量单位可以是字节或页。 lG位用于描述颗粒大小,即段长度的计量单位。G=0表示长度以字节为单位;G=1表示长度以页为单位,在Pentium中页的长度是固定的,为4KB。于是段的长度分别为220字节或220?4KB=232字节。 lD位:当D=1时,为32位段;当D=0时,为16位段。 lP位表示内存段是否在物理主存中,若P=1,表示段在内存中,若P=0,表示段不在内存中。 lDpl位(2位)表示特权级(0—3),用于保护。0为内核级;1为系统调用级,2为共享库级,3为用户程序级。Windows 95只用两级:0级和3级,即系统级和用户级。 lS位为段位,当S=1时,表示当前段为应用程序;当S=0时,表示描述符将引用内存段外的系统信息(如OS的特别数据结构)。 ltype类型字段(3位),表示内存段类型,如可执行代码段、只读数据段、调用门等等。 l?A位为访问位,表示是否访问过内存段,为淘汰作准备 4.6.3 虚拟存储运行模式选择 当设置G控制位1,系统运行于段页模式,此时每个进程可有8192个段,每个段220个页,每个

文档评论(0)

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

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

1亿VIP精品文档

相关文档