- 1、本文档共69页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
三、动态分区分配1.分区分配中使用的数据结构。4.3连续分配方式352KB空闲分区链头指针空闲分区链三、动态分区分配为了将一个作业装入内存,按照一定的分配算法从空闲分区中选出一个满足作业需求的分区分配给作业,同时修改空闲分区表(链)中相应的信息。4.3连续分配方式(1)首次适应算法(2)循环首次适应算法(3)最佳适应算法(4)最坏适应算法三、动态分区分配(1)首次适应算法/最先适应算法空闲分区(链)按地址递增的次序排列。在进行内存分配时,从空闲分区表/链首开始顺序查找,直到找到第一个满足其大小要求的空闲分区为止。按照作业大小,从该分区中划出一块内存空间分配给请求者,余下的空闲分区仍留在空闲分区表(链)中。4.3连续分配方式区号大小起址132k20k28k60k3160k100k4331k280k空闲分区表解:按首次适应算法,申请100k,分配3号分区,剩下分区为60k,起始地址200K;申请30k,分配1号分区,剩下分区为2k,起始地址50K;申请7k,分配2号分区,剩下分区为1k,起始地址67K;其内存分配图及分配后空闲分区表如下例:系统中的空闲分区表如下,现有三个作业分别请求内存空间100K、30K及7K。给出按首次适应算法的内存分配情况及分配后空闲分区表。4.3连续分配方式280K区号大小起址12k50k21k67k360k200k4331k280k分配后的空闲分区表内存分配图0K20K52K68K260K611K50K67K200K(1)首次适应算法4.3连续分配方式特点:优先利用内存低地址部分的空闲分区,从而保留了高地址部分的大空闲区。但由于低地址部分不断被划分,致使低地址端留下许多难以利用的很小的空闲分区(碎片或零头),而每次查找又都是从低地址部分开始,增加了查找可用空闲分区的开销。三、动态分区分配(2)循环首次适应算法/下次适应算法由首次适应算法演变而来。在为作业分配内存空间时,不再每次从空闲分区表/链首开始查找,而是从上次找到的空闲分区的下一个空闲分区开始查找,直到找到第一个能满足其大小要求的空闲分区为止。按照作业大小,从该分区中划出一块内存空间分配给请求者,余下的空闲分区仍留在空闲分区表/链中。4.3连续分配方式空闲分区表解:按循环首次适应算法,申请100k,分配3号分区,剩下分区为60k,起始地址200K;申请30k,分配4号分区,剩下分区为301k,起始地址310K;申请7k,分配1号分区,剩下分区为25k,起始地址27K;其内存分配图及分配后空闲分区表如下例:系统中的空闲分区表如下,现有三个作业分别请求内存空间100K、30K及7K。给出按循环首次适应算法的内存分配情况及分配后空闲分区表。区号大小起址132k20k28k60k3160k100k4331k280k区号大小起址125k27k28k60k360k200k4301k310k分配后的空闲分区表内存分配图27K310K200K0K20K52K68K260K611K60K(2)循环首次适应算法特点:使存储空间的利用更加均衡,不致使小的空闲区集中在存储区的一端,但这会导致缺乏大的空闲分区。三、动态分区分配(3)最佳适应算法空闲分区表/链按容量大小递增的次序排列。在进行内存分配时,从空闲分区表/链的首开始顺序查找,直到找到第一个满足其大小要求的空闲分区为止。即把既满足作业要求又与作业大小最接近的空闲分区分配给作业。4.3连续分配方式例:系统中的空闲分区表如下,现有三个作业分别请求内存空间100K、30K及7K。给出按最佳适应算法的内存分配情况及分配后空闲分区表。分配前的空闲分区表区号大小起址28k60k132k20k3160k100k4331k280k解:按最佳适应算法,分配前的空闲分区表如上表。申请100k,分配3号分区,剩下分区为60k,起始地址200K;申请30k,分配1号分区,剩下分区为2k,起始地址50K;申请7k,分配2号分区,剩下分区为1k,起始地址67K;作业100K分配后的空闲分区表作业30K分配后的空闲分区表作业7K分配后的空闲分区表区号大小起址28k60k132k20k360k200k4331k280k区号大小起址12k50k28
文档评论(0)