您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 第2讲 早期操作系统怎么管理内存
第2讲早期操作系统怎么管理内存?2内存管理方式•连续分配方式–必须全部放入内存–在内存中连续存放–动态分区181.动态分区分配什么是动态分区分配在处理作业的过程中,建立分区,依用户请求的大小分配分区。动态分区的分配、回收过程动态分区的分配过程主存管理——分区存储管理4动态分区模式211.动态分区分配什么是动态分区分配在处理作业的过程中,建立分区,依用户请求的大小分配分区。分区分配结构主存资源信息块(M_RIB)分区描述器(PD)主存管理——分区存储管理等待队列头指针空闲区队列头指针主存分配程序入口地址M_RIBflag:为0——空闲区为1——已分配区size:分区大小next:空闲区——自由主存队列中的勾链字已分配区——分配标志flag大小size勾链字nextPD22空闲区队列结构主存管理——分区存储管理20KB052KB66KB130KB230KB256KB1主存os作业1作业3作业452KBm-rib空闲区队列230KB014KB026KB232.分区的分配与回收分区分配思路依申请者所要求的主存区的大小,分区分配程序在自由主存队列中找一个满足用户需要的空闲块;若找到了所需的空闲区,有两种情况空闲区与要求的大小相等,将该空闲区分配并从队列中摘除;空闲区大于所要求的的大小,将空闲区分为两部分:一部分成为已分配区,建立已分配区的描述器;剩下部分仍为空闲区。返回所分配区域的首址;否则,告之不能满足要求。主存管理——分区存储管理24分区回收思路检查释放分区(即为回收分区)在主存中的邻接情况;若上、下邻接空闲区,则合并,成为一个连续的空闲区;若回收分区不与任何空闲区相邻接,建立一个新的空闲区,并加入到空闲区队列中。主存管理——分区存储管理253.放置策略什么是放置策略选择空闲区的策略,称为放置策略。常用的放置策略——首次匹配(首次适应算法)最佳匹配(最佳适应算法)最坏匹配(最坏适应算法)主存管理——分区存储管理26首次适应算法首次适应算法是将输入的作业放置到主存里第一个足够装入它的地址最低的空闲区中。主存管理——分区存储管理作业A18KB首次适应算法的例空闲区队列结构空闲区地址由低到高排序首次适应算法的特点尽可能地利用存储器中低地址的空闲区,而尽量保存高地址的空闲区。在使用在使用在使用30KB5KB46KB0KB20KB100KB20KB160KB210KB256KB-1主存os27最佳适应算法最佳适应算法是将输入的作业放置到主存中与它所需大小最接近的空闲区中。主存管理——分区存储管理作业A18KB最佳适应算法的例空闲区队列结构空闲区大小由小到大排序最佳适应算法的特点尽可能地利用存储器中小的空闲区,而尽量保存大的空闲区。在使用在使用在使用30KB5KB46KB0KB20KB100KB20KB160KB210KB256KB-1主存os28最坏适应算法最坏适应算法是将输入的作业放置到主存中与它所需大小差距最大的空闲区中。主存管理——分区存储管理作业A18KB最坏适应算法的例空闲区队列结构空闲区大小由大到小排序最坏适应算法的特点尽可能地利用存储器中大的空闲区。在使用在使用在使用30KB5KB46KB0KB20KB100KB20KB160KB210KB256KB-1主存os29三种放置策略的讨论作业A要求18KB;作业B要求25KB;作业C要求30KB。用首次适应算法、最佳适应算法、最坏适应算法来处理该作业序列,看哪种算法合适。主存管理——分区存储管理30三种放置策略的讨论首次适应算法、最佳适应算法、最坏适应算法的队列结构。主存管理——分区存储管理在使用在使用在使用30KB5KB46KB0KB20KB100KB20KB160KB210KB256KB-1主存os(a)首次适应算法的空闲区队列20KB030KB100KB020KB160KB05KB210KB046KB(a)最佳适应算法的空闲区队列160KB05KB100KB020KB20KB030KB210KB046KB(a)最坏适应算法的空闲区队列210KB046KB20KB030KB100KB020KB160KB05KB31三种放置策略的讨论首次适应算法主存管理——分区存储管理作业A要求18KB作业B要求25KB作业C要求30KB首次适应算法对该作业序列是不合适的在使用在使用在使用30KB5KB46KB0KB20KB100KB20KB160KB210KB256KB-1主存os(a)首次适应算法的空闲区队列20KB030KB100KB020KB160KB05KB210KB046KB32最佳适应算法主存管理——分区存储管理作业A要求18KB作业B要求25KB作业C要求30KB最佳适应算法对该作业序列是合适的在使用在使用在使用30KB5KB46KB0KB20KB100KB20KB160KB210KB256KB-1主存os(a)最佳适应算法的空闲区队列160KB05KB100KB020KB20KB030KB210KB046KB33最坏适应算法主存管理——分区存储管理作业A要求18KB作业B要求25KB作业C要求30KB最坏适应算法对该作业序列是不合适的os在使用在使用在使用30KB5KB46KB0KB20KB100KB20KB160KB210KB256KB-1主存(a)最坏适应算法的空闲区队列210KB046KB20KB030KB100KB020KB160KB05KB•某基于动态分区存储管理的计算机,其主存容量为55mb(初始空间),采用最佳适配(Bestfit)算法,分配和释放的顺序为:分配15mb,分配30mb,释放15mb,分配8mb,此时主存中最大空闲分区的大小是()•A:7mb•B:9mb•C:10mb•D:15mb344.碎片问题及拼接技术什么是碎片问题在已分配区之间存在着的一些没有被充分利用的空闲区主存管理——分区存储管理如何解决碎片问题?什么是拼接技术所谓拼接技术是指移动存储器中某些已分配区中的信息,使本来分散的空闲区连成一个大的空闲区。20KB54KB58KB135KB254KB256KB1主存138KB作业20os作业3作业1拼接前20KB054KB131KB247KB256KB1主存os作业1作业2作业3拼接后这种分区方案,所有的程序必须全部放入内存,因此应用程序的大小不能超过内存的大小。超过了怎么办?
本文标题:第2讲 早期操作系统怎么管理内存
链接地址:https://www.777doc.com/doc-3293495 .html