- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 存储管理 5.5 段式与段页式管理 5.5.1 段式管理的基本思想 共享子程序和数据问题 分区式管理 页式管理:页的划分和程序段无关——一个页面中可能装有两个不同子程序段的指令代码 基本思想 对进程:把程序按内容或过程(函数)关系分成段,每段有自己的名字。 一个用户作业或进程所包含的段对应于一个二维线性虚拟空间,也就是一个二维虚拟存储器。 对内存:段式管理程序以段为单位分配内存,然后通过地址映射机构把段式虚拟地址转换成实际的内存物理地址。 进程装入:把那些经常访问的段驻留内存,而把那些在将来一段时间内不被访问的段放入外存,待需要时自动调入的方法实现二维虚拟存储器。 5.5.2 段式管理的实现原理 1. 段式虚存空间 每个段定义一组逻辑上完整的程序或数据 进程的虚地址空间设计成二维结构,即段号s 与段内相对地址w 对段式虚地址空间的访问包括两个部分: 段名和段内地址 每个段是一个首地址为零的、连续的一维线性空间。段的长度是不固定,根据需要,段长可动态增长 2. 段式管理的内存分配与释放 段式管理中以段为单位分配内存 每段分配一个连续的内存区 各段长度不等,所以这些存储区的大小不一 同一进程所包含的各段之间不要求连续 内存分配过程 段式管理的内存分配与释放在作业或进程的执行过程中动态进行 先分配部分内存,作为该进程的工作区和放置即将执行的程序段 随着进程的执行,根据需要调入新段和释放老段 进程对内存区的申请和释放可分为两种: 进程要求调入某一段时,内存中有足够的空闲区满足该段的内存要求 内存中没有足够的空闲区满足该段的内存要求 缺段中断 CPU所要访问的指令和数据不在内存时产生 段的淘汰或置换算法缺段中断处理过程的一部分。 3. 段式管理的地址变换 (1) 段表(segment mapping table) 段表功能:内存管理 (2) 动态地址变换 图5.31 段式地址变换过程 段式地址变换举例 4. 段的共享与保护 (1) 段的共享 (2) 段的保护 地址越界保护法: 利用段表中的段长项与虚拟地址中的段内相对地址比较,若段内相对地址大于段长,系统就会产生保护中断。 在允许段动态增长的系统中,段表中设置相应的增补位以指示该段是否允许该段动态增长。 存取方式控制保护法 5.5.3 段式管理的优缺点 (1)和动态页式管理一样,段式管理也提供了内外存统一管理的虚存实现。与页式管理不同的是,段式虚存每次交换的是一段有意义的信息,而不是像页式虚存那样只交换固定大小的页从而需要多次缺页中断才能把所需信息完整地调入内存 (2)段长可根据需要动态增长。 (3)便于对完整逻辑功能的信息段进行共享 (4)便于实现动态链接 (5)段式管理比其他几种方式要求有更多的硬件支持。 (6)碎片问题 (7)段的动态增长也会给系统管理带来一定的难度和开销 (8)每个段的长度受内存可用区大小的限制 (9)和页式管理一样,段式管理系统在选择淘汰算法时也必须十分慎重,否则也有可能产生抖动现象 5.5.4 段页式管理的基本思想 段式+页式 在段页式存储管理中,一个程序首先被划分成若干段,每段赋予不同的段号,然后,对每段又划分成固定大小的页。 程序的虚地址空间由三个部分组成:段号、页号与页内位移量。 内存可用区也被划分成若干个大小相等的页面。 每段的信息可以在内存中分开存放,因此,分段的大小不受内存区的限制,可以利用动态页面请求的方式实现虚拟存储。 5.5.5 段页式管理的实现原理 1. 虚地址的构成 对进程: 一个进程中所包含的具有独立逻辑功能的程序或数据划分为段,并有各自的段号s 对于段s中的程序或数据,则按照一定的大小将其划分为不同的页 进程的虚拟地址空间中的虚拟地址由三部分组成: 即段号s,页号p和页内相对地址d 对内存:划分成为若干个大小相等的页面,且每段所拥有的程序和数据在内存中可以分开存放。 2. 段表和页表 段表:管理内存分配与释放、缺段处理、存储保护和地址变换等 每个段建立一张页表:把段中的虚页变换成内存中的实际页面 3. 动态地址变换过程 在段页式管理系统中,要对内存中指令或数据进行一次存取,至少需要访问三次以上的内存: 第一次:由段表地址寄存器得到段表始址去访问段表,由此取出对应段的页表地址 第二次:访问页表得到所要访问的物理地址 第三次:访问真正需要访问的物理单元 改进:设置快速联想寄存器 特点: 段页式管理是段式管理的页式管理方案结合而成的,所以具有它们二者的优点。 但反过来说,由于管理软件的增加,复杂性和开销也就随之增加了 另外,需要的硬件以及占用的内存也有所增加。更重要的是,如果不采用联想寄存器的方式提高CPU的访内速度,将会使得执行速度大大下降。 5.6 局部性原理和抖动问题 怎样提
原创力文档


文档评论(0)