计算机操作系统李翠霞os43.ppt
《计算机操作系统李翠霞os43.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统李翠霞os43.ppt(45页珍藏版)》请在三一办公上搜索。
1、第四章 存储器管理,主讲:李翠霞办公室:水环楼306电话:0371-63887291E-mail:,钎淀蜗肉绕虞掇殃肥涅姥龄莆钝砂则森画疗政奎顽己撬瞬尼酉咬惹够箭彩计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,2,Review,单一连续分配方式内存分为两个区域:系统区,用户区。用户区一次只能装入一道程序。固定分区分配方式 将内存用户空间划分成若干个固定大小的区域,在每个分区中只装入一道作业,这样,用户空间分成了几个分区,便允许有几道作业并发运行。有大小相等和大小不等两种分区方式。可以使用分区说明表对存储空间进行管理动态分区分配方式,茫埃俱倦难粕吴考愉账史之坏泞掇势战航赫
2、滁唁赌杖槛苞抠辟戏搀彤防神计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,3,Review,动态分区分配方式 根据进程的实际需要,动态地为之分配内存空间。数据结构 空闲分区表:每个空闲分区占一个表目,表目中包括分区序号、分区始址及分区大小等数据项。空闲区(块)链表:将所有的空闲区链成一个链表。,空闲分区表,空闲链结构,询奶扩崩甥萨藏蛤在撞骇究模号轩闲簿抨燥螟榨蜘醉诽鼠钢绞顷媳制演尼计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,4,【动态分区分配算法分类】,顺序搜索法,分类搜索法快速适应算法,分区分配算法,首次适应算法,循环首次适应算法,最佳适应算法
3、,最坏适应算法,丢溢采炸揣旱春睫译贴痰盾嚏足营郴藕贼浊糠窄潞赌擞呀钮宰助斩熬敛涪计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,分区分配操作,从头开始查表,检索完否?,m.sizeu.size,m.size-u.sizesize?,从该分区中划出u.size大小的分区,将该分区分配给请求者修改相关的数据结构,返回,返回,继续检索下一个表项,将该分区从链中移出,Y,N,Y,m.size表示空闲分区大小,u.size表示请求分区大小,size表示事先规定的不可再分割的剩余分区大小,图4-7 内存分配流程,Y,N,N,座孙舅嗜课渍熙铝菜宰皮均见珠扩乡帐槐损放涩适悄罚梧哈黑满社呐
4、敏敖计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,6,回收内存,烁删燃识阂帐亏绝硒板译每拙砒茧予戳屠腕捞啊玩盛倾抠戎一迈慰技湾酝计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,7,4.3 连续分配方式,刹剑罚肤脑甜插牲物棋肪禹羽破偏袒垂次嗽怕厘笨期绚肆碰繁豢佳悼码角计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,8,固定分区限制了活动进程的数目,内存空间利用率很低。动态分区方式算法复杂,回收空闲分区时需要进行分区合并等,系统开销较大。伙伴系统是两者之间的折衷。,思想:无论已分配分区或空闲分区,其大小均为2的k次幂,k为整数,1
5、km,其中:21表示分配的最小分区的大小,2m表示分配的最大分区的大小,通常2m是整个可分配分区的大小。,系统开始运行时,是一个大小为2m的空闲分区。在系统运行过程中,由于不断地划分,可能会形成若干个不连续的空闲分区。将这些空闲分区根据分区的大小进行分类,对于每一类具有相同大小的所有空闲分区,单独设立一个空闲分区双向链表。这样,不同大小的空闲分区形成了k(1km)个空闲分区链表。,咽挽砂淮汲继赫夯耙痰旗厨族钒来于枯矛窑姥怖三翌茬厚践搏眩巾旭赚溪计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,9,2KB,4KB,32KB,分配时,如果需要16KB,32KB,16KB,回收时
6、,过程相反,间曹箔例创抖斧伯躺哉愈呕咸夕冈砒判水紊谁量羊折讯袜翟苟噶烽奄玖握计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,10,2KB,4KB,32KB,分配时,如果需要8KB,32KB,16KB,8KB,回收时,过程相反,史蒜柳考烷粗脆奖捎加俐炭焕筑签烯殴枫窄许火纤窜剐赁猪狈多怕扩帜诉计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,11,分配时:当需要为进程分配一个长度为n的存储空间时,首先计算一个i值,使2i-1n2i,然后在空闲分区大小为2i的空闲分区链表中查找。若找到,即把该空闲分区分配给进程。否则,表明长度为2i的分区已经耗尽,则在分区大
7、小为2i+1的分区链表中寻找。若存在2i+1的一个空闲分区,则把该空闲分区分为相等的两个分区,这两个分区称为一对伙伴,其中的一个分区用于分配,而把另一个加入分区大小为2i的空闲分区链表中。若大小为2i+1的分区也不存在,则需要查找大小为2i+2的空闲分区。若找到则对其进行两次分割:第一次,将其分割为2i+1的两个分区,一个用于分配,一个加入到大小为2i+1的空闲链表中;第二次,将第一次用于分配的空闲区分割为2i的两个分区,一个用于分配,一个加入到大小为2i的空闲链表中。依此类推。,回收时:一次回收可能需要进行多次合并,如回收大小为2i的空闲分区时,若事先已存在2i的空闲分区时,则应将其与伙伴分
8、区合并为大小为2i+1的分区,若事先已存在2i+1的空闲分区时,又应继续与其伙伴分区合并为大小为2i+2的空闲分区,依此类推。,祝榜蜜剐托拐贩高刺气蝶簿匆坟弯痒淡漏让表了骋柏眉垫孜需牛咒旺凛息计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,12,在伙伴系统中,其分配和回收的时间性能取决于查找空闲分区的位置和分割、合并空闲分区所花费的时间。回收空闲分区时需要合并,时间性能比分类搜索算法差,但比顺序搜索算法好。空间性能优于分类搜索法,比顺序搜索法略差。,常用于多处理机系统。,士捆犀叉羚泥佑家濒笼屠撑仁歹扫娟师裔渡模烁厂厚等赖灾胳豢福吕鞍绰计算机操作系统 李翠霞 os4_3计算
9、机操作系统 李翠霞 os4_3,13,哈希算法利用哈希快速查找的优点,以及空闲分区在可利用空间表中的分布规律,建立哈希函数,构造一张以空闲分区大小为关键字的哈希表,该表的每一表项记录了一个对应的空闲分区链表表头指针。分配时,根据所需空闲分区大小,通过哈希函数计算,即可得到在哈希表中的位置,从中得到相应的空闲分区链表,实现最佳分配策略。,0 1 2 3 4 5 6 7,哈希函数为:Hash(x)=x mod 8,垮帮僳沮救晃海电尖们峨乞斡庐直耙典室呀碗壹冯庙渤糟苯蒜焚懂伯洞刹计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,14,在连续分配方式中,必须把一个系统或用户程序装入
10、一连续的内存空间。如果在系统中只有若干个小的分区,即使它们容量的总和大于要装入的程序,但由于这些分区不相邻接,也无法把该程序装入内存。?紧凑或拼接碎片整理,块皆举浴肘膨情菌鹿购朵咽浓锯官赊省垮乱呀希烬犊芭汐缩帜编睁盎勾温计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,15,若想把作业装入,可采用:将内存中所有的作业进行移动,使它们全都相邻接,这样,即可把原来分散的多个小分区拼接成一个大分区,这时就可把作业装入该区。这种将多个分散的小分区拼接成一个大分区的方法,称为“拼接”或“紧凑”。由于经过紧凑后的某些用户程序在内存中的位置发生了变化,此时若不对程序和数据的地址加以修改,
11、则程序必将无法执行。为此,每次紧凑后,都必须对移动了的程序和数据进行重定位。,紧凑,紧凑前,紧凑后,掺肛枯鸣历卢狂怀颤袁真嘶皱险恼藏糊展辞碍儒垄憎户身腹惠量辐绒样硫计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,紧凑前,紧凑后,动态重定位的实现,J6 大小为10K,芋遗眨尺蛛某亨睛铃蔗倦慧瀑脖下秽悔担蝉蒂驮恍捣惨普脯扮末欠牙嘱亿计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,1、硬件支持:增加动态重定位寄存器RR(或基地址寄存器BA),紧凑前:BA=64k,紧凑后:BA=28k,念赞帕仔强朱秒每庞确蛋视长令搽身酸捉角壮柒尼镶汝窝腥慧昧睹蒲员蚂计算机操
12、作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,动态重定位示意图,LOAD R1,2500,365,0,100,2500,5000,2500,10000,LOAD R1,2500,365,10000,12500,15000,10100,相对地址,重定位寄存器,处理机一侧,存储器一侧,主存,+,睡挫邪赚魄耸升纹吝苍状魔皋尔姨寂逛败请字泥音栅税券撤傣刑搔钱驻邯计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,请求分配u.Size分区,检索空闲分区链(表),空闲分区总和u.size?,按动态分区方式进行分配,修改有关的数据结构,进行紧凑形成连续空闲区,修改有关的数据
13、结构,无法分配返回,返回分区号及首址,找到大于u.size的可用区否?,否,否,是,P128 图4-11 动态分区分配算法流程图,唇给撰熊颂本据当帧解晶嚎釉把革任犁陷谚废剿妻酉楚杖服酥亭濒笔唇琉计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,20,2、软件处理:,需要时再移动,优缺点:解决碎片问题,以便运行大作业。紧凑系统开销大。,3、多重可重定位分区举例,DOS采用了四重可重定位分区,重定位寄存器:CS、DS、SS、ES,四重分区在内存中的位置可以不连续,每个分区(段),在内存中可以移动,回收一个分区马上移动,以在椅匠叙诀内疗隆请哨橡扮腮玩兢变侠俏邓楚娥疙那萝转梯贩围谦
14、移搂计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,21,矛盾:一方面:在内存中的某些进程由于某事件尚未发生而被阻塞运行,但它却占用了大量的内存空间,甚至有时可能出现在内存中所有进程都被阻塞而迫使CPU停止下来等待的情况;另一方面:却又有着许多作业在外存上等待,因无内存而不能进入内存运行的情况。,解决的办法:引入Swapping(对换)技术。对换:把内存中暂时不能运行的进程或者暂时不用的程序和数据调出到外存上,以便腾出足够的内存空间,再把已具备运行条件的进程或进程所需要的程序和数据调入内存。,吕与歇悬噎剔龙纱赋锚喂寂恼且樱青弄倔藻橇孝棺赵响聊余月即靶还幕仇计算机操作系统
15、李翠霞 os4_3计算机操作系统 李翠霞 os4_3,22,皮戳氰幌犬绘卞蔓侮承吊喜席移吕延张濒了惯撑宠匙芳本缅纷诉壶迫怎惫计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,23,对换单位:进程、页面、段 进程(地址空间)整体的换进/换出进程地址空间分为页,暂不用的页面可以淘汰出内存,需要时由缺页中断处理程序调入内存。进程地址空间分为段,暂不用的段可以淘汰出内存,需要时由缺段中断处理程序调入内存。,兼熊讨啪粕黎孝创子井血玖嗣尚屿尾巾铝卧峭喜风儿逊崖亮碰来克绽眨犁计算机操作系统 李翠霞 os4_3计算机操作系统 李翠霞 os4_3,24,【对换空间管理的目标和空间分配方法】追
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 李翠霞 os43
链接地址:https://www.31ppt.com/p-5123661.html