文档之家
首页
教学研究
幼儿教育
高等教育
外语考试
建筑/土木
经管营销
自然科学
当前位置:
文档之家
›
动态分区分配以及动态重定位分配四种方式
动态分区分配以及动态重定位分配四种方式
格式:ppt
大小:434.00 KB
文档页数:37
下载文档原格式
下载原文件
/ 37
下载本文档
合集下载
下载提示
文本预览
1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分区号 1 2 3 4
大小 /KB 12 32 64 128
起址 /KB 20 32 64 128
状态 已分配 已分配 已分配 未分配
操作系统 24 KB 32 KB 64 KB 作业 A 作业 B 作业 C 128 KB 256 KB
(a) 分区说明表
(b) 存储空间分配情况
图 4-5
固定分区使用表
(2)空闲分区链。为 了实现对空闲分区的分 配和链接,在每个分区 的起始部分,设置一些 用于控制分区分配的信 息,以及用于链接各分 区所用的前向指针;在 分区尾部则设置一后向 指针,通过前、后向链 接指针,可将所有的空 闲分区链接成一个双向 链。
前 向 指+2
固定分区分配
固定分区式分配是最简单的一种可运行多道程序的 存储管理方式。这是将内存用户空间划分为若干个固定 大小的区域,在每个分区中只装入一道作业,这样,把 用户空间划分为几个分区,便允许有几道作业并发允许。 当有一空闲分区时,便可以再从外存的后备作业队列中 选择一个适当大小的作业装入该分区,当该作业结束时, 又可再从后备作业队列中找出另一作业调入该分区。
56
0
18
32
56 74
106
2)循环首次适应算法(next fit) 该算法是由首次适应算法演变而成的。在为进程分配 内存空间时,不再是每次都从链首开始查找,而是从上 次找到的空闲分区的下一个空闲分区开始查找,直至找 到一个能满足要求的空闲分区,从中划出一块与请求大 小相等的内存空间分配给作业。为实现该算法,应设置 一起始查寻指针,用于指示下一次起始查寻的空闲分区, 并采用循环查找方式,即如果最后一个(链尾)空闲分区 的大小仍不能满足要求,则应返回到第一个空闲分区, 比较其大小是否满足要求。找到后,应调整起始查寻指 针。该算法能使内存中的空闲分区分布得更均匀,从而 减少了查找空闲分区时的开销,但这样会缺乏大的空闲 分区。
内存分配 为了便于内存分配,通常将分区按大小进行排队,并 为之建立一张分区使用表,其中各表项包括每个分区的 起始地址、大小及状态(是否已分配),见图4-5(a)所示。 当有一用户程序要装入时,由内存分配程序检索该表, 从中找出一个能满足要求的、尚未分配的分区,将之分 配给该程序,然后将该表项中的状态置为“已分配”; 若未找到大小足够的分区,则拒绝为该用户程序分配内 存。存储空间分配情况如图4-5(b)所示。
0
0
图4-6 空闲链结构
分区分配算法 1)首次适应算法(first fit) FF算法要求空闲分区链以地址递增的次序链接。在分 配内存时,从链首开始顺序查找,直至找到一个大小能 满足要求的空闲分区为止;然后再按照作业的大小,从 该分区中划出一块内存空间分配给请求者,余下的空闲 分区仍留在空闲链中。若从链首直至链尾都不能找到一 个能满足要求的分区,则此次内存分配失败,返回。该 算法倾向于优先利用内存中低址部分的空闲分区,从而 保留了高址部分的大空闲区。这给为以后到达的大作业 分配大的内存空间创造了条件。其缺点是低址部分不断 被划分,会留下许多难以利用的、很小的空闲分区,而 每次查找又都是从低址部分开始,这无疑会增加查找可 用空闲分区时的开销。
动态分区分配
动态分配时根据进程的实际需要,动态地为之分配 空间。在实现可变分区分配时,将涉及到分区分配中所 用的数据结构、分区分配算法和分区的分配与回收操作 这样三个问题。
分区分配中的数据结构 为了实现分区分配,系统中必须配置相应的数据结构, 用来描述空闲分区和已分配分区的情况,为分配提供依 据。常用的数据结构有以下两种形式: (1)空闲分区表。在系统中设置一张空闲分区表,用 于记录每个空闲分区的情况。每个空闲分区占一个表目, 表目中包括分区序号、分区始址及分区的大小等数据项。
第四章 存储器管理
4.3
连续分配方式
连续分配方式,是指为一个用户程序分配一个连续 的内存空间。可分为单一连续分配、固定分区分配、动 态分区分配以及动态重定位分配四种方式。
单一连续分配
这是最简单的一种存储管理方式,但只能用于单用 户、单任务的操作系统中。采用这种存储管理方式时, 可把内存分为系统区和用户区两部分,系统区仅提供给 OS使用,通常是放在内存的低址部分;用户区是指除系 统区以外的全部内存空间,提供给用户使用。
划分分区的方法 可用下述两种方法将内存的用户空间划分为若干个固 定大小的分区: (1)分区大小相等,即使所有的内存分区大小相等。 其缺点是缺乏灵活性,即当程序太小时,会造成内存空 间的浪费;当程序太大时,一个分区又不足以装入该程 序,致使该程序无法运行。 (2)分区大小不等。为了克服分区大小相等而缺乏灵 活性的这个缺点,可把内存区划分成含有多个较小的分 区、适量的中等分区及少量的大分区。这样,便可根据 程序的大小为之分配适当的分区。
5)快速适应算法(quick fit) 该算法又称为分类搜索法,是将空闲分区根据其容量 大小进行分类,对于每一类具有相同容量的所有空闲分 区,单独设立一个空闲分区链表,这样,系统中存在多 个空闲分区链表,同时在内存中设立一张管理索引表, 该表的每一个表项对应了一种空闲分区类型,并记录了 该类型空闲分区链表表头的指针。空闲分区的分类是根 据进程常用的空间大小进行划分,如2 KB、4 KB、8 KB 等,对于其它大小的分区,如7 KB这样的空闲区,既可 以放在8 KB的链表中,也可以放在一个特殊的空闲区链 表中。
3)最佳适应算法(best fit) 所谓“最佳”是指每次为作业分配内存时,总是把能 满足要求、又是最小的空闲分区分配给作业,避免“大 材小用”。为了加速寻找,该算法要求将所有的空闲分 区按其容量以从小到大的顺序形成一空闲分区链。这样, 第一次找到的能满足要求的空闲区,必然是最佳的。孤 立地看,最佳适应算法似乎是最佳的,然而在宏观上却 不一定。因为每次分配后所切割下来的剩余部分总是最 小的,这样,在存储器中会留下许多难以利用的小空闲 区。
4)最坏适应算法(worst fit) 最坏适应分配算法要扫描整个空闲分区表或链表,总 是挑选一个最大的空闲区分割给作业使用,其优点是可 使剩下的空闲区不至于太小,产生碎片的几率最小,对 中、小作业有利,同时最坏适应分配算法查找效率很高。 该算法要求将所有的空闲分区按其容量以从大到小的顺 序形成一空闲分区链,查找时只要看第一个分区能否满 足作业要求。但是该算法的缺点也是明显的,它会使存 储器中缺乏大的空闲分区。最坏适应算法与前面所述的 首次适应算法、循环首次适应算法、最佳适应算法一起, 也称为顺序搜索法。
相关主题
动态分区分配方式模拟
分区分配算法
动态分区分配
文档推荐
动态分区分配方式的模拟代码(c++)
页数:4
动态分区分配方式的模拟
页数:16
动态分区分配方式模拟
页数:4
动态分区分配方式的模拟实验报告模板
页数:26
动态分区分配方式的模拟C语言代码和C代码
页数:17
最新c++动态分区分配算法模拟(操作系统课程设计)
页数:20
循环首次适应的动态分区分配算法模拟
页数:16
操作系统课程设计动态分区分配存储管理
页数:25
操作系统实验—动态分区分配算法
页数:11
实验四--动态分区分配方式的模拟-答案
页数:7
最新文档
中国金融业如何克服自身脆弱性
升压站W型交流高压隔离开关检修工艺规程
小学五年级鄂教版语文上册第三单元教案及教学设计
192.168.0.135_王华露 王乐
一年级语文上册 小小的船 1说课稿 北师大版
【文库精品】高中生物 第5章第3节 第2课时 无氧呼吸、细胞呼吸原理的应用试题 新人教版必修1
北京理工大学数字信号处理实验一 基2-FFT算法的实现
雪兰多大学与亨德里克斯学院本科教学质量对比
铁力市第五中学《集体备课的有效策略研究》活动方案
品保部-教育训练-连结器相关资料基础讲义23-040121