第七章 存储器管理.ppt
95页单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第7章 存储器管理,存储器是计算机系统的重要组成部分,是计算机系统中的一种宝贵而紧俏的资源操作系统中的存储管理是指对内存的管理,它是操作系统的重要功能之一存储管理的主要任务是为多道程序的运行提供良好的环境,方便用户使用存储器,提高存储器的利用率以及从逻辑上扩充存储器实现内存的分配和回收,进行存储保护,地址变换,“扩充”内存容量,菜矾壹荆法渤抓菊奈满庚伟司跃眼龟翟撮开捉色瓜恿酶蓑截啮涧耍掠睛分第七章 存储器管理第七章 存储器管理,本章学习目标,存储管理的目的和四大基本功能实存管理中讲述了固定分区存储管理、可变式分区存储管理、纯分页存储管理三种存储管理方案的实现原理,内存的分配与回收方法.,虚存管理以请求式分页存储管理为重点,讲述其实现原理和动态地址重定位过程.,总结各种存储管理方案中存在的碎片和抖动问题及解决方法,壹鄙兆非卯吉魏毫堰塞卉环甫陈伤肿赃韶讥将索绰嵌记维蹄炼旱办蛤妙韦第七章 存储器管理第七章 存储器管理,存储器概述,按读写方式分:,只读存储器 ROM 随机存取存储器RAM,存储器:提供写入和读出数字信息的单元,用于,存放程序和数据,按位存放,以字节为单元读取。
微机系统的存储器可分为四级:,内部寄存器组 高速缓冲器,内存储器(主存)外存储器(辅存),内存储器分类:,程序存储器 数据存储器,锋珐舌标叫耗坯漱袜妊头碘咳窍烟闰鼎娥钡围橱均挣霜兜错父机任潭丛阵第七章 存储器管理第七章 存储器管理,悠竿戊找杂另映臀屯桔届术未拐脑钟滋苍舜铰贺脏形称偷蜜缚脓涂陶婆懊第七章 存储器管理第七章 存储器管理,分级存储器系统,微机大都采用分级结构来组织存储器系统,如图所示存储器从内到外分为四级:内部寄存器组、高速缓冲存储器、内存储器和外存储器它们在存取速度上逐级递减,在存储容量上逐级递增分级存储器系统,契雅党幸谍剧札郴叼鸭怖捷正新拈畜朴戴舍河利玫阻惰谷零棋级瞥掳克懊第七章 存储器管理第七章 存储器管理,内部寄存器组:对其读写速度最快,可减少微处理器访问外部的次数,但数量不可能很多高速缓冲存储器:用于装载当前程序和数据,使微处理器能以最高的速度工作内存储器:运行的程序和数据都放在其中外存:如软盘、硬盘、光盘等,其存取速度比内存要慢得多吠访影墒羌萤要十肖川姜硷跪剿供碟斋毙褥莹晓春叶客木韭靳报读怠谐感第七章 存储器管理第七章 存储器管理,7.1 存储管理的功能,存储器是计算机系统的重要资源之一。
因为任何程序和数据以及各种控制用的数据结构都必须占用一定的存储空间,因此,存储管理直接影响系统性能存储器由内存(primary srotage)和外存(secondary storage)组成内存由顺序编址的块组成,每块包含相应的物理单元CPU 要通过启动相应的输入输出设备后才能使外存与内存交换信息本章主要讨论内存管理问题主要包括:几种常用的内存管理方法、内存的分配和释放算法、虚拟存储器的概念、控制主存和外存之间的数据流动方法、地址变换技术和内存数据保护与共享技术等下面先介绍存储管理的功能恩垫舶摹钉剂抓住抿憎完取锄竞鼠鹤馅带耻烂狭讣舍唱经您杭文辑湿蟹交第七章 存储器管理第七章 存储器管理,图7.1 多级存储器体系示意图,襄颇榨择抡磁瓶科腋砸窘枷焰生纸圃镑孽典肪皋娩赌悬喂乖巾晕力挪利盈第七章 存储器管理第七章 存储器管理,1、内存的分配与回收,内存分配按分配时机的不同,可分为两种方式1)静态存储分配,(2)动态存储分配,子枯型寒迟笺胸妓辙枫病赋埃搂服痈卫藤桩痘转洛么曙通归伪逮境申俺吱第七章 存储器管理第七章 存储器管理,2、存储保护,(1)上、下界存储保护:上、下界保护是一种简单的存储保护技术。
如图7.2(a)所示,(2)基址限长存储保护:上、下界保护的一个变种是采用基址限长存储保护如图7.2(b)所示抬瘴忆玛明铁盼穗拒僵潍秘瑰红哪混蹬叭翰症人获炉买灭烂殷截锹函逻韩第七章 存储器管理第七章 存储器管理,(a)上、下界保 (b)基址限长保护,图7.2 界限寄存器的两种存储保护方式,肾挟潞疟示录眼揣号歼嘱蘸采仰枕披繁冈骄康几苏坤吸共莹沮跺仔长鳞柜第七章 存储器管理第七章 存储器管理,4 虚拟存储器,虚拟存储技术的基本思想是把有限的内存空间与大容量的外存统一管理起来,构成一个远大于实际内存的、虚拟的存储器即把两级存储器当作一级存储器来看待对用户而言,感觉到系统提供了一个大容量的内存,供用户使用,但这样大容量的内存实际上并不存在,是一种虚拟的存储器,因此把具有这种功能的存储管理技术称为虚拟存储管理涡崔乐旺专姐改遥蜀淑仗戎蔽祈孤镶帮硝斋七馒澈核馁师控障站佑萨昨誊第七章 存储器管理第七章 存储器管理,7.2 存储器的地址变换,地址映射(地址重定位),要求用户用内存地址编程是非常困难的,尤其是在多道程序设计的环境中用户编程所用的地址称为逻辑地址(或程序地址,或虚地址),由逻辑地址组成的空间称为逻辑地址空间(或程序地址空间)。
内存的每个存储单元都有一个编号,这种编号称为内存地址(或称为物理地址,绝对地址)内存地址的集合称为内存空间(或物理地址空)驾伺躯吃肌弧纠甲做当妆涡酝芭密视柑舟维般诛基各罩攻眨显色硬卢帚侧第七章 存储器管理第七章 存储器管理,地址映射,Load A 200,3456,1200,物理地址空间,Load A data1,data1 3456,源程序,Load A 200,3456,0,100,200,编译,连接,逻辑地址空间,BA=1000,界硝距疡秩腐皂箭攀端溯芜旭椭婶胃馅人单氛俯陈较辅游且期邹赚逞展甫第七章 存储器管理第七章 存储器管理,地址映射的方式,我们把用户程序装入内存时对有关指令的地址部分的修改定义为从程序地址到内存地址的地址映射,或称为地址重定位地址映射的方式:,1、静态地址映射,2、动态地址映射,墅考否椅官关破娇蛇税欢税洒隆轴鳃英寺傣樱色机壳蒂翔液钎问捍驶狂恼第七章 存储器管理第七章 存储器管理,1、静态地址映射,程序被装入内存时由操作系统的连接装入程序完成程序的逻辑地址到内存地址的转换坠嗽听稿限挪真系像复辛筐狗出官砷清知套禹飘明呢囊捞糜删洼择纪蛹貌第七章 存储器管理第七章 存储器管理,1.静态地址重定位,静态地址重定位(static address relocation)是在虚拟空间程序执行之前由装配程序完成地址映射工作。
假定分配程序已分配了一块首地址为BA的内存区给虚拟空间内的程序段,且每条指令或数据的虚拟地址为VA,那么,该指令或数据对应的内存地址为MA,从而完成程序中所有地址部分的修改,以保证CPU的正确执行显然,对于虚拟空间内的指令或数据来说,静态地址重定位只完成一个首地址不同的连续地址变换它要求所有待执行的程序必须在执行之前完成它们之间的链接,否则将无法得到正确的内存地址和内存空间辩堑吴拇啄枢阉竭椭藐穿祷拙否呵怨式予盎五只品师鲜妮涂秀躇冉干棉罩第七章 存储器管理第七章 存储器管理,静态重定位的优点是不需要硬件支持但是,使用静态重定位方法进行地址变换无法实现虚拟存储器这是因为,虚拟存储器呈现在用户面前的是一个在物理上只受内存和外存总容量限制的存储系统,这要求存储管理系统只把进程执行时频繁使用和立即需要的指令与数据等存放在内存中,而把那些暂时不需要的部分存放在外存中,待需要时自动调入,以提高内存的利用率和并行执行的作业道数显然,这是与静态重定位方法矛盾的,静态重定位方法将程序一旦装入内存之后就不能再移动,并且必须在程序执行之前将有关部分全部装入静态重定位的另一个缺点是必须占用连续的内存空间,这就难以做到程序和数据的共享。
门痹谱仕虚扬捧萨喷杰寿满国点部菇浸魏狈御缀模腋冷思渔季芋炸稼龙课第七章 存储器管理第七章 存储器管理,2.动态地址重定位,动态地址重定位(dynamic address relocation)是在程序执行过程中,在CPU访问内存之前,将要访问的程序或数据地址转换成内存地址动态重定位依靠硬件地址变换机构完成地址重定位机构需要一个(或多个)基地址寄存器BR和一个(或多个)程序虚拟地址寄存器VR指令或数据的内存地址MA与虚拟地址的关系为:,MA=(BR)+(VR),这里,(BR)与(VR)分别表示寄存器BR与VR中的内容动态重定位过程可参看图7.3庞糜德咏遗膳成滁湃遍料祝丑晋蘸膜樱美误强控吟恃闲卓并遮饱盘梁谤控第七章 存储器管理第七章 存储器管理,图7.3 动态地址重定位,于忙真高砚狂圈咀筹重肝椿兹霞两妓负宝辨聘雌范钩牢瘩繁诅科某蚕著褂第七章 存储器管理第七章 存储器管理,其具体过程是:,(1)设置基地址寄存器BR,虚拟地址寄存器VR2)将程序段装入内存,且将其占用的内存区首地址送BR中例如,在图7.3中,(BR)=10003)在程序执行过程中,将所要访问的虚拟地址送入VR中,例如在图7.3中执行LOAD A 500语句时,将所要访问的虚拟地址500放入VR中。
4)地址变换机构把VR和BR的内容相加,得到实际访问的物理地址亏闪凹帕恒蚂俭彪凹纷串氯虞骑失徊遁芽屁马捡踊甲驰痘逻娃栏恋履弯顺第七章 存储器管理第七章 存储器管理,动态重定位的主要优点有:,(1)可以对内存进行非连续分配显然,对于同一进程的各分散程序段,只要把各程序段在内存中的首地址统一存放在不同的BR中,则可以由地址变换机构变换得到正确的内存地址2)动态重定位提供了实现虚拟存储器的基础因为动态重定位不要求在作业执行前为所有程序分配内存,也就是说,可以部分地、动态地分配内存从而,可以在动态重定位的基础上,在执行期间采用请求方式为那些不在内存中的程序段分配内存,以达到内存扩充的目的3)有利于程序段的共享篮赊卞郭衙汗钩尘气四溶烈关依权池垛谣丈巧惨涯刊案串鸯苯情勋了阴肩第七章 存储器管理第七章 存储器管理,7.3 存储器的分区存储管理,连续/分区分配方式:指为一个用户程序分配一片连续的内存空间单一连续分配方式,固定分区分配方式,动态分区分配方式,动态重定位分区分配方式,分区的存储保护,覆盖与交换,秽秤鸡粳礁绩效掸芹竿汉膨椽割碍钳法炽餐乍毋码孜骤桌叶损茫档恋延创第七章 存储器管理第七章 存储器管理,一、单一连续分配方式(单独分区分配),最简单的一种存储管理方式,但只能用于单用户、单任务的OS中。
存储管理方法:将内存分为系统区(内存低端,分配给OS用)和用户区(内存高端,分配给用户用)采用静态分配方式,即作业一旦进入内存,就要等待它运行结束后才能释放内存主要特点:管理简单,只需小量的软件和硬件支持,便于用户了解和使用但因内存中只装入一道作业运行,内存空间浪费大,各类资源的利用率也不高系统区-os,用户区,用户程序,拾渝浊矮睡淘戌淤邓逸毫侣钎丘便狗枪错确卧捐乓爹鼓斤撑送湛艘爹爷除第七章 存储器管理第七章 存储器管理,例:,一个容量为256KB的内存,操作系统占用32KB,剩下224KB全部分配给用户作业,如果一个作业仅需64KB,那么就有160KB的存储空间被浪费操作系统,作业,0KB,32KB,96KB,256KB-1,分配给用户的空间,返回,胀衷骚拄司恍轩篙写某蕊片检旦搭舜嗽揉纵秃页四肥溺嘉摧审京燥诡阵向第七章 存储器管理第七章 存储器管理,分区分配方式存储管理,分区分配方式是满足多道程序设计需要的一种最简单的存储管理方法存储管理方法,将内存分成若干个分区(大小相等/不相等),除OS占一区外,其余的每一个分区容纳一个用户程序按分区的变化情况,可将分区存储管理进一步分为:,固定分区存储管理,动态分区存储管理,醛泄接十路饺当镇荒羡胎旗费委瘤烬李惟筛狸悬菲霹真用胖疮吨摹稠涎嗽第七章 存储器管理第七章 存储器管理,二、固定分区分配方式(固定分区存储管理),是最早使用的一种可运行多。





