




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,4.3连续分配方法,连续分配意味着向用户程序分配连续内存空间。主要方法:单个连续区域分配固定分区分配动态分区分配动态重新定位分区分配方法,2,4.3.1单个连续分配,仅服务一个操作系统用户,因此最简单的存储管理。将内存分为系统区域和用户区域两个区域。3,工作流,单个连续区域分配使用静态分配和静态重新定位。也就是说,如果作业或进程进入主内存,则在运行结束之前,不能释放主内存。加载程序验证绝对地址是否超出范围,可以保护系统。4,在单个连续分配中保护存储,仅在实施存储保护后,存储分配才有意义。在单用户系统中,存储保护只需要保护操作系统区域。要实施存储保护,必须配置相应的硬件机构。但是,单用户系统
2、没有配置这些硬件机构,从而降低了硬件成本。在大多数最新的系统结构中,存储保护作为全面的地址转换机构的一部分提供。但是,某些较旧的系统通常使用简单硬件来提供有限的保护。下面我将介绍其中三个。5,1。自动地址更正:例如,将存储地址空间设置为12K,占用操作系统4K。这样,系统可以提供给用户(213)的地址空间。01000000000000 (4K),实际要访问的存储地址(=4K),如果操作系统占用低地址末端的4K:6,2。第0页,第1页寻址:自动地址更正的变体。假设操作系统和用户各占存储器的一半,则可以通过将前一个1连接到每个用户生成的地址的左端来进行区分。1,7,3。边界寄存器:这两种技术都需要
3、用户区域和系统区域的大小字典决策。牙齿条件可以使用寄存器边界或寄存器隔离来删除。牙齿的两个区域相对而言,在大小更改时,只需更改牙齿限制寄存器值。边界寄存器、牙齿方法增加了系统开销,因为用户需要比较每个存储访问,而不是像以前那样直接、快速地修改地址。8,单用户系统缺点,多通道支持渡边杏。主内存使用率不高。节目执行受主内存容量的限制。9,4.3.2固定分区分配,多用户系统的存储管理,最古老的想法之一是在系统初始化时将存储空间划分为任意大小区域。然后将这些区域指定给每个用户任务。这些储存区域是在系统启动时指定的,因此在使用者工作负载和执行期间,您无法变更这些区域的大小和界限。因此,牙齿存储被分为固定
4、分区。固定分区表示:(1)分区大小等于(2)分区大小不等于、10、存储空间分配、分区说明表:可用于分配的分区数以及每个分区的大小、起始地址和状态。固定分区分配的数据结构,11,固定分区分配算法流程图,需要xK大小的分区,分区说明表中的第一项,牙齿分区是否空闲?分区大小xK,表末尾?返回分区编号,状态位置1,无法分配,下一项,分区回收?12,使用牙齿技术,多个任务可以共享主内存,但仍不能充分利用。分区的大小是在系统初期确定的。工作的大小不能与一个分区的大小完全相同,因此在每个分配的分区中,有些没有被工作牙齿占用,经常被浪费。这些分配给用户但未利用的部分称为阵列的“内部零点”。(Internai
5、Fragmentation、Internai Fragmentation、InternaI Fragmentation)固定分区存储管理的优点是分区方法特别简单且易于实施缺点是存储空间利用率太低。最近操作系统很少使用它。13,固定分区分配中的存储保护,系统设置称为“下限寄存器”和“上限寄存器”的寄存器对,以记录当前CPU上运行的作业的主存储的下限和上限地址。处理器对牙齿操作发出命令时,必须确保表达式“下限地址=绝对地址=上限地址”成立。如果成立,就执行指示。否则,将发生“地址超出范围”中断事件,从而停止执行命令。当您离开正在运行的任务处理器时,调度程序将选择其他可运行的任务,并修改当前正在运行
6、的任务的分区编号和下限以及上限寄存器内容,以确保处理器控制任务在所在的分区内正常运行。14、存储空间分配、练习:在一个系统上使用固定分区分配管理时,主内存分区(字节)牙齿如图所示。现有大小1KB、9KB、33KB、121KB的多个操作必须进入主内存,请绘制进入主内存后的空间分配情况,说明主内存浪费量。剩馀空间=11 23 31 7=72KB,牙齿时间达到24KB作业时,是否可以加载到主内存中?已分配,已分配,已分配,已分配,15,学习的内存分配方法:连续分配方法单个连续分配固定分区分配方法动态分区分配方法,16,第一种情况:假定在系统初始化时将存储空间划分为8个分区。下图(a)中的问号(?)。
7、系统运行一段时间后,192K存储空间分配给7个操作,其馀64K未分配,如下图(B)所示。现在,两个工作P和Q准备进行需要32K存储空间的转移。显然我们有足够的存储空间。存储区域不足(当前只能使用一个)。因此,只能转入一个任务(例如P),如下图(C)所示。、17、第二种情况(分区数可变分配方案):最初,所有可用存储空间都是可用分区。此后,在上述系统运行后,192K存储空间分配给了7个操作,如图(B)所示,出现了未分配64K的情况。现在,您可以在剩馀的64K存储空间中创建两个分区,分别装载作业P和Q(图(C)。显然,牙齿方案比第一个方案更灵活,内存利用率更高。、18、4.3.3动态分区分配,为了减
8、少存储区域的内部部分,设计了动态(可变)分区方案,以便进一步提高主内存的利用率,更好地适应存储空间的分区徐璐其他工作组合。动态分区分配是指根据流程的实际需要动态分配连续的内存空间。分区的数量和大小都是可变的。19、实现可变分区分配存储管理需要解决的事项1、可变分区分配中常用的数据结构数据结构1。可用分区表:2。可用分区链:20,2,分区分配算法系统运行一段时间后,整个存储空间中将出现各种大小区域。现在,假定您有需要移动到主内存的新操作。如何选择适合该作业的区域?目前最常用的算法有:(1)最佳适应算法(Best Fit) (2)最差适应算法(First Fit) (3)第一次算法(Worst F
9、it) (4)周期的第一次(下一次)适应算法(),22,指针,10k,60k,90k,20k,例如,有四个可用区域。必须为一个操作分配19k内存。解决:排序,23,最适合算法优缺点:优点:如果存储空间中有确切需要的大小存储可用空间,则必须选择此选项。如果没有这些可用区域,则不拆分较大的可用区域,而只比较稍大的可用区域。因此,以后大任务到达时,满足任务所需的存储区域就变得更容易了。缺点:(1)每次分配都会生成最小的可用空间。因此,在一段时间后,存储空间中可能会保留大量这样的可用空间。太小了,不能使用。(2)回收分区时,将分区插入空闲区域链中的适当位置需要很长时间。因此,牙齿算法乍一看是最好的,其
10、实不是。24,练习:基于动态分区存储管理的计算机的默认内存容量为55MB(最初为空闲),最佳拟合算法、分配和释放顺序为15MB分配、30MB分配、15MB释放、分配联合测试2010 A.7MB最差适应算法(Worst Fit 3360WF):在为作业选择存储库区域而不是最佳适应算法时始终查找。为了支持牙齿算法实施,可用块必须按大小降序连接。排序,指针,90k,20k,10k,60k,例如,4个可用区域。必须为一个操作分配19k内存。26,最差的适应算法优缺点:优点:分割后剩下的空闲区域最大,很可能以后的分配仍然是有用的缺点。最大的空闲块总是首先分配,因此进行分段。有大工作时,存储空间申请往往无
11、法得到满足。27,3。第一个自适应算法(First Fit 3360ff):每个可用区域以地址在存储空间中增加的顺序连接在一起。也就是说,每个后续可用区域的起始地址始终大于以前的地址。将存储区域分配给作业时,从可用区域链的开头开始搜索,选择可以满足请求的第一个可用块。选定的可用区域分为两部分。一个与请求的大小相同,并且分配给作业。其馀部分仍保留在空闲区域链中。倾向于优先利用存储空间低地址部分的可用区域。28,例如,有4个可用区域(低地址到高地址)牙齿,需要为一个操作分配19k内存。解决方案:需要排序吗?29,主要优点:(1)算法简单,搜索速度快;(2)留在高地址部分的大空闲区分割的机会较少,所
12、以大工作来的时候也容易满足。主要缺点:(1)所有请求都从空闲区域链的开头开始查找,因此这些小而无用的空闲区域集中在链的前端。因此,一些大空闲区域可能会发现在链的末端。牙齿会降低寻找适当闲置区域的速度。30,4。Next fit: NF(下一个算法适应):这是算法适应的第一个变化,因此也称为具有旋转指针的第一个适应算法(Next Fit with Roving Pointer)。将存储空间的可用区域配置为循环链。每次找到适合存储请求的分区时,始终从上次找到的可用分区的下一个可用分区开始搜索,找到足够大的可用区后分配。(例如,基于ppt13)采用牙齿策略的优点是,较小的可用区域不能集中在存储的一端
13、,可以更好地平衡存储空间。缺点:内存的另一侧也不能保留大的空闲块,因此需要释放大量空闲空间时满足的可能性更小。31,首次适应算法空闲分区表,最佳适应算法空闲分区表,最差适应算法空闲分区表,如12k38k,2k118k,28k228k,230k20k,128k228k,22k118k,15k160大多数系统选择它,因为第一个自适应算法实现最简单。但是选择下一次适应和最佳算法适应的存储管理系统也不少。33,外部零(外部碎片):在存储空间中将这些小的无用分区称为“外部零”。,分配给内部0(内部碎片):用户但未使用的部分,即存储中的“内部0”。哪种分配方法生成外部零?什么分配方式导致了内部零头?34,
14、3,分区分配操作与动态分区相关的主要操作包括内存分配和内存回收。35,从头确认表,搜索结束了吗?m.sizeu.size?m.size-u.sizesize?在切片中,绘制u.size大小切片。将分区分配给请求者,以修改相关数据结构、返回、返回、搜索下一个表条目继续、从链中移去分区、分区分配进程、36,2。内存回收:内存回收是流程返回不再需要的内容的过程,通常需要完全返回分配的分区。回收分区时,回收的分区与空闲区域相邻的情况有四种。这四种牙齿茄子是单独处理的。37,(1)回收区域仅与上述可用区域相邻,合并后还保留为可用区域F1。起始地址不变。只需更改大小。按下原始F1结尾的反向指针值,将其设置
15、在回收区域MCB的反向指针字段中,然后修改状态位。图(a)、38、(2)回收区域仅与下面的可用区域相邻(图B),合并后仍为可用区域F2,但是启动地址和大小都需要更改。按原始F2第一个MCB的指针值以设置新F2中的第一个正向指针。在原始F2之前的可用区域中,修改尾部的后面指针。39,(3)回收区域与上下可用区域相邻(图C)。在牙齿的情况下,撤消可用区域F2,保留可用区域F1,保持起始地址不变,但需要大小更改。(4)回收区域与上下可用区域不相邻。如果是牙齿,则必须为回收区域创建单独的新表条目,填写回收区域的第一个地址和大小地址,并根据第一个地址(/大小)将其插入到可用链中的相应位置。40,使用可变分区分配存储管理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绩效管理中绩效评价
- 轮盘转动效果
- 红酒专业培训
- 智能招聘平台构建-全面剖析
- 草皮防护施工方案
- 数字化康复档案管理-全面剖析
- 裂缝加固施工方案
- 眼内植入物相关性眼内炎研究-全面剖析
- 工业机器人应用研究-全面剖析
- 在线医疗咨询平台盈利模式-全面剖析
- 《碳排放管理师》(高级)培训考试模拟题及答案
- 2024年重庆市高考历史试卷(含答案)
- SH/T 3046-2024 石油化工立式圆筒形钢制焊接储罐设计规范(正式版)
- 湖南省张家界市慈利县2023-2024学年八年级下学期期中考试物理试题
- 金属非金属地下矿山监测监控系统建设规范
- 2024年苏州市轨道交通集团有限公司招聘笔试参考题库附带答案详解
- 新概念英语第2册课文(完整版)
- 水培吊兰的养殖方法要领
- 动物的迁徙行为与地球生态系统
- 【小学心理健康教育分析国内外文献综述4100字】
- 校园金话筒大赛(临沂赛区)策划书
评论
0/150
提交评论