第12讲 存储器管理之连续分配方式

第12讲 存储器管理之连续分配方式

ID:6645439

大小:111.00 KB

页数:5页

时间:2018-01-21

第12讲 存储器管理之连续分配方式_第1页
第12讲 存储器管理之连续分配方式_第2页
第12讲 存储器管理之连续分配方式_第3页
第12讲 存储器管理之连续分配方式_第4页
第12讲 存储器管理之连续分配方式_第5页
资源描述:

《第12讲 存储器管理之连续分配方式》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第十一讲存储器管理之连续分配方式所谓连续分配方式:是指为一个用户程序分配一个连续的内存空间。又可把连续分配方式分为:单一连续分配,固定分区分配,动态分区分配,动态重定位分区分配,四种方式。1单一连续分配(单独分区分配)最简单的一种存储管理方式,但只能用于单用户、单任务的OS中。概念:单一连续分配就是整个主存区域的用户空间均归一个用户作业使用。存储管理方法:将内存分为系统区(内存低端,分配给OS用)和用户区(内存高端,分配给用户用)。其中用户区是指除了系统区外的内存空间,提供给用户程序使用。采用静态分配方式,即作业一旦进入内存,就要等待它运行结束后才能释放内存。主要特点:管理简

2、单,只需小量的软件和硬件支持,便于用户了解和使用。但因内存中只装入一道作业运行,内存空间浪费大,各类资源的利用率也不高。例子:一个容量为256KB的内存,操作系统占用32KB,剩下224KB全部分配给用户作业,如果一个作业仅需64KB,那么就有160KB的存储空间被浪费。2固定分区分配分区分配方式是满足多道程序设计需要的一种最简单的存储管理方法。2.1思想:将内存分成若干个分区(大小相等/不相等),除OS占一区外,其余的每一个分区容纳一个用户程序。这样来实现多道并发。2.2分区划分方法:分区大小相等,分区大小不等。但事先必须确定,在运行时不能改变。即分区大小及边界在运行时不能

3、改变。2.3内存分配:首先:要先建立一张分区说明表或使用表,以记录分区号、分区大小、分区的起始地址及状态(已分配或未分配)。其次:当某个用户程序要装入内存时,由内存分配程序检索分区说明表,从表中找出一个满足要求的尚未分配的分区分配该程序,同时修改说明表中相应分区的状态;若找不到大小足够的分区,则拒绝为该程序分配内存。第三:当程序执行完毕,释放占用的分区,管理程序将修改说明表中相应分区的状态为未分配,实现内存资源的回收。2.4特点主要特点:管理简单,但因作业的大小并不一定与某个分区大小相等,从而使一部分存储空间被浪费。所以主存的利用率不高3动态分区分配3.1基本思想:根据进程的

4、实际需要,动态的为其分配内存空间。因此分区大小是动态可变的,分区的个数也是可变的。3.2主要特点管理简单,只需小量的软件和硬件支持,便于用户了解和使用。进程的大小与某个分区大小相等,从而主存的利用率有所提高。3.3分区分配的数据结构为描述空闲分区合已分配的分区,引入如下数据结构。3.3.1空闲分区表用于记录每个空闲分区的情况。每个空闲分区占一个表目,表目重含有分区序号,分区起始地址,分区大小等数据项。如下图3.3.1空闲分区链用链头指针将系统中的空闲分区链接起来,构成空闲分区链。每个空闲分区的起始部分存放相应的控制信息(如大小,指向下一空闲分区的指针等).就是在分区头设置一个

5、前向指针,分区尾部设置一个后向指针,这样把所有空闲分区连起来。3.4分区分配算法把一个新作业装入内存,须按照一定的分配算法,从空闲分区表或空闲分区链中选择一合适分区分配给该作业。有下面三种分配算法:3.4.1首次适应算法算法过程:算法要求空闲分区(链)按地址递增的次序排列。在进行内存分配时,从空闲分区表/链首开始顺序查找,直到找到第一个满足其大小要求的空闲分区为止。然后再按照作业大小,从该分区中划出一块内存空间分配给请求者,余下的空闲分区仍留在空闲分区表(链)中。算法的特点优先利用内存低地址部分的空闲分区,从而保留了高地址部分的大空闲区。但由于低地址部分不断被划分,致使低地址

6、端留下许多难以利用的很小的空闲分区(碎片或零头),而每次查找又都是从低地址部分开始,这无疑增加了查找可用空闲分区的开销。3.4.2循环首次适应算法算法过程:由首次适应算法发展而来,每次为进程分配内存空间时,不是从链首开始,而是从上次找到的空闲分区的下一个空闲分区开始查找,直到找到一个满足要求的空闲分区。该算法要设置一个起始查寻指针。用于标识下一次起始查寻的空闲分区。算法特点使存储空间的利用更加均衡,不致使小的空闲区集中在存储区的一端,但这会导致缺乏大的空闲分区。3.4.3最佳适应算法算法过程:算法要求空闲分区表/链按容量大小递增的次序排列。在进行内存分配时,从空闲分区表/链的

7、首开始顺序查找,直到找到第一个满足其大小要求的空闲分区为止。按这种方式为作业分配内存,就能把既满足作业要求又与作业大小最接近的空闲分区分配给作业。如果该空闲分区大于作业的大小,则与首次适应算法相同,将剩余空闲分区仍留在空闲分区表/链中。算法特点若存在与作业大小一致的空闲分区,则它必然被选中,若不存在与作业大小一致的空闲分区,则只划分比作业稍大的空闲分区,,从而保留了大的空闲分区,但空闲区一般不可能正好和它申请的内存空间大小一样,因而将其分割成两部分时,往往使剩下的空闲区非常小,从而在存储器中留下许多难以

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。