- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
2007.7.2计算机组成原理*程序的每一个模块都可以作为一个段,模块的编号可以作为段的编号。为了对模块内的语句进行正确寻址,也需要有一个段内地址。因此,分段存储管理下,地址结构如图4-32所示。段号段内地址2007.7.2计算机组成原理*从上述分区过程中,我们不难看出,最佳适应法给作业分配的空间是最合适作业运行的空间,这就是“最佳”的原因,但是分配的速度较慢,在分配前系统要查找分区分配表的所有表项,然后才能找到最佳的分区,随着内存容量的增大、分区的增多,此查找过程所需要的时间将会很长;而最先适应算法分配空间的速度最快,不需要查找所有的表项,但是最先适应算法容易造成空间的浪费,如前所述,给作业3分配的分区为分区2,根据固定分区的思想,该分区的剩余空间不能在分配给其他作业,则作业2占用的空间为30KB,浪费的空间为7KB,如果再有一个28KB的作业进入系统,则势必将作业5分配给该作业,又再次造成7KB的空间浪费,降低了存储空间的利用率。因此,无论采用那种分配方式,固定分区都不能完全满足系统对速度和空间利用率的要求。2007.7.2计算机组成原理*(2)可变分区分配所谓可变分区分配是指先不给内存分区,给作业分配时,根据作业运行时对内存的需要再从剩余空间中分出一部分给该作业。经过一段时间的分配后内存也将分为若干区域,因此,在可变分区中也需要设置分区分配表。2007.7.2计算机组成原理*假设内存容量为256KB,有以下申请和释放内存的操作顺序:作业1申请20KB,作业2申请30KB,作业3申请40KB,作业4申请30KB,作业1释放20KB,作业3释放40KB。则其内存的分布情况如下所述。当4个作业申请完内存之后,内存分布情况如图4-22(a)所示,跟固定分区一样,为了对内存进行有效地管理,每次分区后也将对分区分配表进行修改,从而得到图4-22(b)所示的分区分配表。2007.7.2计算机组成原理*20KB(作业1)30KB(作业2)40KB(作业3)30KB(作业4)136KB2007.7.2计算机组成原理*分区序号起始地址(K)分区大小(KB)分配状态标志1020已分配作业122030已分配作业235040已分配作业349030已分配作业45120136未分配02007.7.2计算机组成原理*与固定分区时的分区情况相同,给作业分配空间后,内存都被分成了很多大小不同的分区。但是他们的区别是:每个分区的大小的确定方法不同。固定分区中每个分区的大小在给作业分配之前就已经确定好了,而可变分区中每个分区的大小是在分配时根据作业的大小确定。空闲分区不同。固定分区中,空闲区要按分区前的分区大小分成几个空闲区,而可变分区中,空闲分区可能是一个连续的区域。作业1和作业3释放空间后的内存分配情况和分区分配表如图4-23所示。2007.7.2计算机组成原理*20KB30KB(作业2)40KB30KB(作业4)136KB2007.7.2计算机组成原理*分区序号起始地址(K)分区大小(KB)分配状态标志1020未分配022030已分配作业235040未分配049030已分配作业25120136未分配02007.7.2计算机组成原理*图4-23(a)所示的分区情况如果不加以修改,则会出现以下两种情况:如果还有一个需要140KB的运行空间的作业5进入系统。此时剩余空闲区的总和为196KB,比作业所需要的空间大,但是因此时的空闲空间被分成了三个区,每个区都不足以给作业5分配,从而导致作业5无法运行。如果还有一个需要38KB的运行空间的作业6进入系统,则系统将会从40KB空闲空间中分出38KB分配给作业6,产生2KB的剩余空间,但是因为空间太小,这2KB的剩余空间可能无法满足任何作业的运行需求,从而成为“碎片”。系统进行多次内存分配后,碎片问题将会越来越严重,导致内存空间被浪费,降低内存的利用率。2007.7.2计算机组成原理*因此,在采用可变分区方式的系统中,常常会采用以下方法来解决上述两个问题:(1)移动。如果内存中,有多段不连续的空闲区域,则将分配区域向低地址方向或高地址方向移动,使得空闲区域构成一个连续的区域。移动后,图4-23所示的内存分配将变成图4-24所示的内存分配情况。2007.7.2计算机组成原理*30KB(作业2)30KB(作业4)20KB40KB136KB2007.7.2计算机组成原理*分区序号起始地址(K)分区大小(KB)
原创力文档


文档评论(0)