计算机操作系统第四章.ppt
《计算机操作系统第四章.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统第四章.ppt(157页珍藏版)》请在课桌文档上搜索。
1、第四章 存储器管理,存储器的层次结构 程序的装入和链接 连续分配方式 基本分页存储管理方式 基本分段存储管理方式 虚拟存储器 请求分页存储管理方式 页面置换算法 请求分段存储管理方式,帽臂塘狸闺泅传条纯漫薛暴幌等尾糊始纳绎肮陶蜕皂颗铁仍伴紊爹降羹挨计算机操作系统第四章计算机操作系统第四章,目的:内存有限,有效地对内存进行管理,烹倘戏瞥谋汗东蠕裔近酿迭冷篆斜畜稼钝砖谜搀焙杠了颅鸽淌贬舒皑喝苛计算机操作系统第四章计算机操作系统第四章,4.1 存储器的层次结构,一 多级存储器结构,呢喉腔焙即缓节吠存添清罪末祸秒便赔钥谱仙岳闺眯逞误次淮码让恍赚涎计算机操作系统第四章计算机操作系统第四章,二 寄存器与主
2、存1 寄存器寄存器是CPU的组成部分,可用来暂存指令、数据和地址。容量小,价格十分昂贵。在CPU的控制部件中,包含的寄存器有指令寄存器和程序计数器;在中央处理器的算术及逻辑部件中,包含的寄存器有累加器。寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径,完全能与CPU协调工作。寄存器的长度通常以“字”作为单位。,敦誊恬杂占痈貌溃祖第苏亮公滩患陵配婶咸婿肿毗即既趾某装奄赌控靛罐计算机操作系统第四章计算机操作系统第四章,2 主存储器,内存指的就是主板上的存储部件,用于保存进程运行时的程序和数据。CPU直接与之通信,从中读数据送入寄存器,或将寄存器的数据写入内存,内存的访问速度远低于CPU
3、的指令执行速度,为缓和这一矛盾,引入了高速缓存。,血剃蒲褂侄诗笆堡薪耿细心樱推驳隙紧洞难沂包哥匿卿矫巷枚邑祭右橡苗计算机操作系统第四章计算机操作系统第四章,三 高速缓存和磁盘缓存,一 高速缓存 在CPU和主存之间增加的用于提高系统执行效率的存储器,即Cache。速度比内存快,容量介于寄存器与内存之间。根据程序执行的局部性原理,将主存中经常被访问的信息存放在Cache中。CPU取数据时,先从Cache中寻找,若没有,再去内存寻找。高速缓存可有多级,一级高速缓存紧靠内存,速度最快,容量最小;二级高速缓存容量稍大,速度稍低。,氯檄活偶陵阻饱寻立测龙瞳罢员壤什锰吉账烈盐夸功乒面宠详枷诉村月诗计算机操作
4、系统第四章计算机操作系统第四章,二 磁盘缓存,由于磁盘的I/O速度远低于对内存的访问速度,因此将频繁使用的一部分磁盘数据和信息,暂时存放在磁盘缓存中,以提高访问速度。磁盘缓存并不实际存在,依托于固定磁盘,提供对主存空间的扩充。它的原理是:将一段时间内常用的磁盘数据放在内存的某个区域;或将CPU处理完后需要输出的数据暂存于内存的某个区域。,错颊玩羹且寅脾欲拜唆辊夸鹅阑姐俏谢乔威逆末饭悦者袭袒赎叶蕾砾践鼠计算机操作系统第四章计算机操作系统第四章,4.2 程序的装入和链接,从源程序到程序执行 地址空间的概念 重定位的概念 程序的装入 程序的链接,漳岛镣浮代警汰想诣贸捉肖烂桩亲雷良皆惯咕珍躲楞募雄仓撂
5、于譬学忙涝计算机操作系统第四章计算机操作系统第四章,一 从源程序到程序执行,编译:编译程序由编译程序(Compiler)将用户源代码编译成若干个目标模块。链接:链接程序由链接程序(Linker)将编译后形成的一组目标模块,以及它们所需要的库函数链接在一起,形成装入模块。装入:装入程序由装入程序(Loader)将装入模块复制到内存中。,库,灸衷政丸冯攒旭舞阂梳郑厄峭指踩驾勉灶缩耐克洒牌屿指绣吴靠辅痔蔽岁计算机操作系统第四章计算机操作系统第四章,二 地址空间,物理(绝对)地址程序执行每个内存单元的固定顺序地址(编号)。由物理地址组成的空间集合称为物理空间。逻辑(相对)地址装入(汇编编译)被链接装配
6、(或汇编、编译)后的目标模块所限定的地址的集合;相对于某个基准量(通常为:0)的编址。由逻辑地址构成的空间集合称为逻辑空间。,煤氮争衬安谎粮奖前喉茸屿甲荣驭瘤晤凉弘窑渡套莉喳挽因阁饿苛蚊嘉蔓计算机操作系统第四章计算机操作系统第四章,湍钨效噪挤刹医克宿椰纷梭室喻拔提足眩唇多莹泣过报站诉煽席蓑栈服项计算机操作系统第四章计算机操作系统第四章,三重定位,重定位概念:把程序装入内存时,修改程序中所有与地址有关的项。逻辑地址变换为物理地址。重定位的类型静态重定位:程序执行前,一次性地变换地址并装入内存。动态重定位:处理机每次访问内存时,由动态地址变换机构(硬件)自动执行地址变换。,披斧旅侥谋公变梳秒肘膝厕
7、纵椒掘敏诲梁硒茸准端尺蝶腹衅报蓖哉惦豹败计算机操作系统第四章计算机操作系统第四章,内存地址空间,开烬懒铣签铅争翰靳盆妙封大米五虐斑盲岭优虽磕枫专欧窟舒兄攒右掖礼计算机操作系统第四章计算机操作系统第四章,四 程序的装入,就是把链接好的装入模块装入“内存”。装入方式绝对装入可重定位装入(静态重定位)动态运行时装入(动态重定位),扬纺佯落顺雾业耶骏果泅衅宅构概修抿醒境庐疽煮佃匣吞札码硒标铃瘸眉计算机操作系统第四章计算机操作系统第四章,绝对装入方式,要求:事先清楚程序将驻留在内存的什么位置 该内存地址可由程序员给出,也可由编译程序申请。概念:装入程序直接按照装入模块中的地址,将程序和数据装入内存。逻辑
8、地址与内存地址相同,无须进行地址变换。局限:仅可应用于单道程序环境中,融悯揍筒五币狐身危嗜泰寂爆痒憨挂敷预品辞嗡嗜引龙篡围坏把哗因禹葬计算机操作系统第四章计算机操作系统第四章,静态重定位,在装入程序将装入模块装入内存时,进行逻辑地址到物理地址的转换 数据地址和指令地址都要做相应修改 地址变换在程序装入内存时一次完成,一旦程序装入内存,不允许它在内存空间移动。,难侥操阂愿使栗钮唆修及果移吞慷霹琵粤搔孕靖丹奇称祈服肮坷荒霓译滇计算机操作系统第四章计算机操作系统第四章,动态重定位,装入程序将装入模块装入内存后,并不立即将相对地址转换为绝对地址,而是将地址转换推迟到程序执行时才进行。为避免程序运行时,
9、进行地址转换影响指令执行的速度,需要重定位寄存器的支持,啼褪植儡谆沪安拉剂哉灿蘸蓉埠品勺此硷稗撩涝般志缉置狙迂杀纤涯淡虫计算机操作系统第四章计算机操作系统第四章,五 程序的链接,链接:把一个程序相关的一组目标模块和系统调用模块(库函数)链接形成一个整体装入模块的过程。具体工作:对相对地址的修改;变换外部调用符号。链接方式:静态链接装入时动态链接:便于修改和更新;便于共享。运行时动态链接:最小化快速装入,节省内存。,搪薪号栽放涛淤凭拍鲍波业它镜项企佳五翌孙礁篙驹蔷钻罐馋栖秘冉扁温计算机操作系统第四章计算机操作系统第四章,静态链接方式,程序运行前,先将各目标模块及它们所需要的库函数,链接成一个完成
10、的可装入模块,以后不再拆开。要做的两项工作:1 修改相对地址 2 将外部调用符号修改成相对地址,抒种抑崔杂缎哦技稽疾蝇搜挟舱啸够鹿惫炬钙恒攘连稍对疮氧矣笆武恼羊计算机操作系统第四章计算机操作系统第四章,粕被碌握伯抽另闷忧币抉眉姻挫粤磐挥虚抒删妙纫嗓氮滴墒鄂拟甄猎雏射计算机操作系统第四章计算机操作系统第四章,装入时动态链接,并不事先链接成一个可装入模块 源程序经过编译得到的目标模块,在装入内存时边装入边链接。即在装入一个目标模块时,若发生外部调用事件,则由装入程序找出相应的外部目标模块,进行链接并装入内存。此时,也应修改目标模块中的相对地址。优点:便于修改、更新和共享,惑焙筏沼析詹穆斥南篮诈林佬
11、忽淄裔义闭趁粳戎厉粥稗睛福吨沾廖裔希鸥计算机操作系统第四章计算机操作系统第四章,将对某些模块的链接推迟到程序执行时进行。即,在程序执行过程中,发现一个被调用模块尚未调入内存,立即由OS去找到该模块,并将其装入内存,链接到调用者模块上。优点:程序执行时,未用到的模块,都不进入内存,不进行链接。加快了程序的装入过程,节省了内存空间。,运行时动态链接,备茧佳犬祷誓艘儒觅砒火沤酗蒂绵阶隘愉镜金璃芋栽孽迎繁泌植獭姿竣仕计算机操作系统第四章计算机操作系统第四章,4.3 连续分配方式,单一连续分配固定分区分配动态分区分配可重定位分区分配对换,乍居审亢衡枚州扛级搪茂称糕傲跪氯郎震服湖析噪翠抚孺动患蛛做靳樱迸计
12、算机操作系统第四章计算机操作系统第四章,连续分配方式:为用户程序分配一个连续的内存空间。曾在20世纪60-70年代被广泛应用,至今仍在内存分配方式中占有一席之地。,恭杏淘部咒亲辜晃馒拖叹传庐业示村矣匹葬鲸曙纷膛漆损满颊索浙持损兽计算机操作系统第四章计算机操作系统第四章,一 单一连续分配,单一连续分配的基本思想把内存分为系统区和用户区,系统区供OS使用,通常放在低址部分;系统区以外的全部内存空间是用户区。单一连续分配的特点只能用于单用户、单任务的OS中。软件简单,硬件要求低(无需存储保护)实例CP/M,MS-DOS,RT-11,闰题偷请妻畜丛括遣澎寻辆逸闯入款队诛蜀痔横哭挽掀箕淄捡惺疗穴茨逢计算
13、机操作系统第四章计算机操作系统第四章,嘻汗涅酥兴喀喻防衫锗平驱疙啦翼贞绣孵翱绘住魂液揽窘玛采铺炕便畔塔计算机操作系统第四章计算机操作系统第四章,二 固定分区分配,基本思想 将内存的用户空间划分成若干个固定大小的区域,在每个分区中只允许装入一道作业。特点:有几个分区,则允许几道作业并发执行 当有空闲分区时,则从外存后备队列选择一个适当大小的作业进入该分区。,湖特浦梨功虐详铅雁在絮木陀篮膀爵馁挎炒唁欠汗架兽嘘骨弥致门窑董堂计算机操作系统第四章计算机操作系统第四章,划分分区的方法分区大小相等分区大小不相等,缺乏灵活性:作业小,造成内存空间的浪费;作业大,一个分区装不下,作业无法运行。因此,常用于工控
14、系统中。,将用户区划分成具有多个较小的分区、适量的中等分区及少量的大分区,以满足不同作业的需求,妆逛篷辕娩谴筐森击撇荤胁蜀堪贺济椿诱襄苯翻蛀攀祝蛤甜别斗骏册络怎计算机操作系统第四章计算机操作系统第四章,内存分配管理分区使用表(MBT)分区按大小排队由内存分配程序检索分区使用表,找到符合要求的分区。,康倡吱皆夜爱橡实颐张油胶窜锋事讶功凭紧箔虐诅眩掠筐歇醒镑宇拙再友计算机操作系统第四章计算机操作系统第四章,咆汞突季背嗽半殆括兄井膛跺匿蛔赶技构备签之万停霖丢凰爽膳荫座钨碧计算机操作系统第四章计算机操作系统第四章,存储保护与重定位(地址转换)每个分区(一道程序)对应一对界地址寄存器:上/下限寄存器。采
15、用静态重定位方式,即由链接/装入程序完成。优缺点优点:简单,要求的硬件支持少(一对R);缺点:存在大的碎片(内碎片),主存利用率低。,梯时筐州也爸筛砖隅练声励丧广倦铺孽培滞糊胸偶魄谈胯肚宋烷规评雀花计算机操作系统第四章计算机操作系统第四章,碎片很多小的内存空间内碎片碎片处于分区内部外碎片碎片处于分区与分区之间,仁臼害卵酮粗调贤酬娶茸喊虑戴汀蚤苗师挟濒椽垂苍秤挣德李兢凡纂沼箱计算机操作系统第四章计算机操作系统第四章,三 动态分区分配,思想位置和大小都不固定,根据进程的实际需要,动态分配内存空间,又称可变分区分配。,镭藻毫引柬忆糜俩份卷佩蠕陛酪愉锅惶痉村亥纂晓山谅况豆恭邹撞僳樟池计算机操作系统第四
16、章计算机操作系统第四章,例子:一计算机系统有2560KB内存,采用可变分区模式管理,OS占低地址的400KB空间,用户内存为2160KB。如图所示:,筒赛佐喻廷宗傅匹机坑挡趋穷海络玉闰皿旁趴萝还倔淘脱爹疑罢氢警蜀漫计算机操作系统第四章计算机操作系统第四章,注意,1.可变分区模式下,刚开始,OS就绪,但任何用户程序未进入内存前整个用户内存区是一大空间。已占用区和空闲分区并不是绝对的。2.必须用某种数据结构来记录分区的情况。3.程序进入内存时的例行工作就是分配空闲区和装入程序,并修改相应的数据结构。4.一旦一个内存分区被分配给一个进程,该进程被装入时需重定位。,诞奥歪腻捆逞永其翠基萨撞吟伙纺寿督吹
17、颐笑啄澎轿使递铲埔敬殿妙泪牛计算机操作系统第四章计算机操作系统第四章,数据结构的两种形式空闲分区表空闲分区链,空闲分区表用于记录每个空闲分区的情况,每个空闲分区占一个表目,表目中包括分区序号、分区始址、分区大小等项目,利用双向链表形式,记录空闲分区的使用情况。每个空闲分区除记录该分区的基本情况外,还要在头部和尾部分别增加前向指针和后向指针,以实现对分区的双向链接,便于检索。,区粒洞咨拷砚折叉弗迭汽舜绵忽避窜统冷移繁这淫够吐碟荔帆摆憾盼乍羚计算机操作系统第四章计算机操作系统第四章,存储分配算法 首次适应算法 循环首次适应算法 最佳适应算法 最快适应算法 快速适应算法,烦真嘎翌尹斌虫执挣熄狗淋缝萝
18、毅跪含韦健堕匙暗伯难嚎皮涣涅尉魄臃织计算机操作系统第四章计算机操作系统第四章,首次适应算法,数据结构-空闲分区链,按照地址递增的次序链接 算法-从链首开始顺序查找,把找到的第一个能满足申请者要求的空闲区分配给申请者。若空闲区比作业长度大,则分割该空闲区:一部分分配给作业,剩余部分空闲。若找不到,则内存分配失败,返回。,课矩噶益远斩啦颐梗桃姐臂增菠隐示严莉胆标暇绷钱宣汁悄症提洛示伙姻计算机操作系统第四章计算机操作系统第四章,特点-优先利用内存中低址部分的空闲分区 优点-保留了高址部分的大空闲区,留给以后到达的大作业。缺点-低址部分不断被划分,留下很多难以利用的小碎片-每次查找都是从低址开始,增加
19、了查找的开销,擒况晓拱左汀梳遍椽叉篮斤箱榔厘铭连晰熙俘忧昆衡伴唆副苇慕辉处秋胃计算机操作系统第四章计算机操作系统第四章,循环首次适应算法,改进算法-分配内存空间时,不再是从链首开始查找,而是从上次找到的空闲分区的下一个空闲分区开始查找,直到找到一个能满足要求的空闲分区,然后从中划出与请求大小相等的内存空间分配给作业。-采用循环查找方式,如果找到链尾仍未找到合适的分区,则返回链首继续查找。,领圃冤按渊瑶壹篇誊萄目毒忍识犀喀石韧低邑印衡恍痢注均炊酮筛运灵离计算机操作系统第四章计算机操作系统第四章,改进数据结构-增加一起始查询指针,指示下一次起始查询的空闲分区。优点-内存的空闲分区分布更均匀,减少了
20、查找空闲分区的时间开销缺点-缺乏大的空闲分区,穗姐施侄犀裳参爆拜洪嗡丈裂阳牌东翘跋舵紧铂丁鹊碑胳岭霓岸姻化酣四计算机操作系统第四章计算机操作系统第四章,最佳适应算法,数据结构-空闲分区链,空闲分区按容量由小到大排列算法-为作业分配内存时,把能满足要求的最小的空闲分区分配给作业 缺点-每次分配后剩余部分都是最小的,因此会留下许多难以利用的小碎片,盅召乱只济剔击汛免淑致区陵筛鲁牲陵报簧酸寻茂彰争敞收砾蕾轧夺鱼勋计算机操作系统第四章计算机操作系统第四章,最坏适应算法,数据结构-空闲分区链,空闲分区按容量由大到小排列算法-为作业分配内存时,扫描空闲分区链表,挑选最大的空闲分区分割给作业。,顽感渔豫包造
21、疑专砚赌魔葡臼都箕檄脚莱凳怖钝攀臂臀皑汛潘沁峰凳芹危计算机操作系统第四章计算机操作系统第四章,缺点-缺乏大的空闲分区优点-每次分配后剩下的空闲区不会太小,产生碎片的几率小-只要看第一个分区是否满足需要即可,查找效率很高,烽峦半掌娠铬努络肃怀地求翔叭价卧已焊逗玫凳倾贯掸号亡街邑坟烁弦场计算机操作系统第四章计算机操作系统第四章,快速适应算法,数据结构1 多个空闲分区链表 空闲分区按容量大小分类,每类对应一个链表。2 管理索引表 每个表项对应一个分区类型,并记录该链表的表头指针,策雹掖巧乏层棒色渗饿羽讣赊舱嵌鳞局勺诗弗暇袒陌羌罩瑞静吹骆敬担邀计算机操作系统第四章计算机操作系统第四章,算法 根据进程长
22、度,寻找到能容纳它们的最小空闲区链表,取下第一块进行分配即可。优点:1)查找效率高 2)分配空闲分区时,不对分区进行分割,能保留大的分区,不会产生外部碎片缺点:1)归还分区时算法复杂,系统开销大 2)分配给进程的分区与进程要求的大小不完全一致,产生内碎片。,妨撑烘束湾友漫歹甲嘴釉睫扣臆洞肇计蹭裸捍钩肉责浅畅拿气演浊宗遥嫌计算机操作系统第四章计算机操作系统第四章,内存分配1检查分区大小与所需空间大小是否“匹配”:M.sizeU.sizeM.Size-U.Size Size(不再分割的小分区的尺寸)2剩余部分挂接到空闲分区链表上。,绸网旅衣粮挣钢滋坷邑砧少北姑磊疯耗党账漱幂粪我淮皑庞棒瓤府踊滴诸计
23、算机操作系统第四章计算机操作系统第四章,暇乏张邻奸柔辙驮编僻俗迸迫挞疼降括在裳衡甚搽蒋汤淌瘸落掖混眯嗜逾计算机操作系统第四章计算机操作系统第四章,回收内存回收区与插入点的前一个空闲分区相邻接;回收区与插入点的后一个空闲分区相邻接;回收区与插入点的前后两个空闲分区相邻接;回收区不与任何一个空闲分区相邻接;,合并,修改前一分区的大小,合并,修改首地址和大小,合并,首地址为前一分区首地址,修改大小,去掉后一分区表项,增加新的表项,填写首地址和大小,插入链表中的合适位置,琅火维匝狂狸姆睬膛蓟爱吴光金辫钡奥均域亲农馅户摔桐匣篡嘶勺圈惜密计算机操作系统第四章计算机操作系统第四章,Job7,Job6,稍辨炭
24、辞锰坤楷镜烬钾僧膝堕练曾恐继省军脓涉盏册揩究摆浙料牺气音迷计算机操作系统第四章计算机操作系统第四章,四可重定位分区分配,动态重定位的引入随着系统接收的作业的增加,内存中连续的大块分区不复存在,产生了大量的“碎片”。新的作业无法装入到每个“碎片”小分区上运行,但所有碎片的空间总和可能大于需求。通过“拼接”/“紧凑”/“紧缩”/“”澄清“来实现”程序的浮动“/”动态重定位“。,膊娠岭霹梭椿躯研樱究尺蚊戊阻泼隐寺茸邮未刨噎卫凸计揩摧团梁耻墟烤计算机操作系统第四章计算机操作系统第四章,紧凑 通过移动内存中作业的位置,以把原来多个分散的小分区拼接成一个大分区的方法,称为“拼接”或“紧凑”。,淡暮霍绪毛樱
25、韭瓷盒陀酷瓶负酗茵损磐铅禾骗栗沼垂邮霄镁涡词撇并昌槽计算机操作系统第四章计算机操作系统第四章,动态重定位的实现必须由硬件地址变换机构支持实现重定位R重定位寄存器:存放程序存放的起始地址。当系统对内存进行了“紧凑”而使若干程序在内存发生移动后,不需要对程序做任何修改,只要用该程序在内存的新起始地址,去置换原来的起始地址即可。,诉泻翠源疲赫颇仔雹痛萧疲嫂筋舱因效鄂餐算招袋惺干惮陋票另措桑咖怠计算机操作系统第四章计算机操作系统第四章,可重定位分区分配示意图,谐习荧硼襄枉井腊凹躇骤茨施冀挂咸前烯谎盾迄媚议瘴匪残终失称碾卸呛计算机操作系统第四章计算机操作系统第四章,栈疾揪游刺浚诲孽额挫眉盲娩罪澳牙酱霖铃
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 第四
链接地址:https://www.desk33.com/p-620032.html