- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3.2章 存储管理
分页与分段技术的比较 都采用非连续存储,由地址映射实现地址变换。 不同主要表现在: (1)??? 页是信息的物理单位,大小固定。段是信息的逻辑单位,各段的长度不固定。每一段都具有一定逻辑含义。 (2)??? 分页的地址空间是一维的,逻辑地址的划分由机器硬件实现,对用户透明。分段的地址空间是二维或多维的,程序员知道段名和段内偏移量。 (3)分页活动源于系统管理物理内存的需要,在系统内部进行,由系统实施,用户看不见。分段活动源于用户进行模块化程序设计的需要,在系统外部进行,由用户实施,用户是知道的。 简单段页式存储管理 基本思想:采用分段方法组织用户程序,采用分页方法分配和管理内存。 即,用户程序可以用模块化思想进行设计,一个用户程序由若干段构成。系统将内存划分成固定大小的页框,并将程序的每一段分割成若干页以后装入内存执行时。 逻辑地址 在段页式系统中,进程的每一段被进一步分割成页面,段内代码和数据地址不再连续。 逻辑地址由3部分组成:段号、段内页号、页内偏移量,如图 段号 段内页号 页内偏移量 图3.25 段页式系统的逻辑地址结构 数据结构 用于管理的数据结构:段表、页表,如图 图3.26 段页式系统的数据结构 段0 段1 段2 用户程序 段表 0 3 页表首址 页表长度 段号 1 2 内存 OS 0 页号 页框号 1 2 页号 页框号 页表 段表寄存器 段表寄存器:加速地址变换,用于存放执行进程段表的起始地址。 地址变换 首先,从段表寄存器从获得进程段表的起始地址,根据该地址,查找进程的段表。 然后,根据逻辑地址指定的段号检索段表,找到对应段的页表起始地址。 再根据逻辑地址中指定的页号检索该页表,找到对应页所在的页框号。 最后,用页框号加上逻辑地址中指定的页内偏移量,形成物理地址。 图3.27 段页式系统的地址变换过程 段表 页表首址 段号 页内偏移量 逻辑地址 段内页号 + + 物理地址 页框号+页内偏移量 页表 页框号 + 偏 移 量 内存 页框 页框 页框 段表寄存器 段表起始地址 快表 第一次,访问段表,从中获得该段的页表首址; 第二次,访问页表,从中取出逻辑地址指定的页面所在的页框号,并将该页框号和页内偏移量相加,形成指令或数据的物理地址; 第三次访问内存,根据前面计算的物理地址,取出对应存储单元的指令或数据。 可以在地址变换机构中增设一个高速缓冲寄存器,其中保存最近使用过的页号及其所属的段号。 具有快表的地址转换 首先,利用段号和页号检索该高速缓冲寄存器。 若找到匹配的表项,则可以从中获得相应页面的页框号,加上页内偏移量,形成物理地址。 若该高速缓冲寄存器中未包含对应表项,则需要访问段表及页表,计算出物理地址以后,从相应存储单元获取指令或数据。 对段页式存储管理方式的评价 综合了分段和分页技术的优点,既能有效地利用存储空间,又能方便用户进行程序设计。 但是,实现段页式存储管理系统需要增加硬件成本,系统的复杂度和管理开销也大大增加。 因此,段页式存储管理技术适合于大、中型计算机系统,不太适合小型、微型计算机系统。 页号 页框号 0 0 1 1 2 2 3 3 进程P1页表 页号 页框号 0 - 1 - 2 - 进程P2页表 页号 页框号 0 7 1 8 2 9 3 10 4 11 5 12 进程P3页表 页号 页框号 0 4 1 5 2 6 3 13 4 14 进程P4页表 图3.16 进程P1、P2、P3、P4的页表 数据结构:页框表 空闲页框表:登记系统中剩下的空闲页框情况 图3.17 空闲页框表 15 14 13 地址变换 硬件机制,实现逻辑地址到物理地址的转换 分页系统中的地址变换过程如下: (1)??? 根据逻辑地址,计算出页号和页内偏移量; (2)??? 用页号检索页表,查找指定页面对应的页框号; (3)??? 根据页框号和页内偏移量,计算出物理地址。 页表寄存器 页表寄存器:实现快速地址映射,存储执行进程的页表起始地址。 页表寄存器设置在处理机硬件中。 当进程被创建时,其页表起始地址记载于进程PCB中。 当进程被调度执行时,页表的起始地址将从该进程的PCB中取出,并填入页表寄存器中。 进行地址变换时,处理机从页表寄存器中查找页表的地址。 页号 偏移量 逻辑地址 物理地址 页框号 偏移量 页表寄存器 页表起始地址 内存 页框号 页表 地址转换 程序 + 偏 移 量 图3.18 分页系统的地址变换过程 页框 大页表 大逻辑地址空间,页表非常大,需要占用相当大的内存空间。 比如,32位逻辑地址空间,假设页面大小为4KB(212),则4GB(232)的逻辑地址空间将被划分成220个页面。 大页表 若采用一级页表,则其内将包含1兆(2
文档评论(0)