软件技术基础存储管理幻灯片.ppt
《软件技术基础存储管理幻灯片.ppt》由会员分享,可在线阅读,更多相关《软件技术基础存储管理幻灯片.ppt(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件技术基础存储管理第1页,共63页,编辑于2022年,星期三存储器层次结构存储器层次结构快速缓存:快速缓存:Cache内存:内存:DRAM,SDRAM,DRDRAM等;等;外存:软盘、硬盘、光盘、磁带等;外存:软盘、硬盘、光盘、磁带等;第2页,共63页,编辑于2022年,星期三2.4.1 2.4.1 存储管理的功能存储管理的功能内存的分配与管理内存的分配与管理内存的共享与保护内存的共享与保护地址变换地址变换主存的主存的“扩充扩充”虚拟内存虚拟内存覆盖与交换技术覆盖与交换技术第3页,共63页,编辑于2022年,星期三一、内存分配与管理一、内存分配与管理内存分配就是为进程分配内存空间,涉及以下问
2、题:内存分配就是为进程分配内存空间,涉及以下问题:管理内存分配表:记录分配情况、空闲情况等管理内存分配表:记录分配情况、空闲情况等制定分配策略制定分配策略制定内存划分方式制定内存划分方式放置策略放置策略调入策略调入策略淘汰策略淘汰策略等分等分不等分不等分第4页,共63页,编辑于2022年,星期三二、内存共享与保护二、内存共享与保护共共 享享保保 护护共享内存资源,程序并发执行;共享内存资源,程序并发执行;共享内存中公共信息。共享内存中公共信息。避免并发执行的程序相互干扰;避免并发执行的程序相互干扰;避免用户程序侵犯系统区。避免用户程序侵犯系统区。第5页,共63页,编辑于2022年,星期三三、地
3、址变换三、地址变换逻辑地址逻辑地址(程序空间)(程序空间)物理地址物理地址(内存空间)(内存空间)重定位重定位0000MemoryMemory地址是以字节为单位的存储器编号地址是以字节为单位的存储器编号内存空间(绝对空间):内存空间(绝对空间):整个系统内存从整个系统内存从0开始以字节为单位编址开始以字节为单位编址物理地址物理地址程序空间(相对空间):程序空间(相对空间):程序由机器代码组成,以字节为单位,每个程序都从程序由机器代码组成,以字节为单位,每个程序都从0开始编开始编址址逻辑地址逻辑地址第6页,共63页,编辑于2022年,星期三四、虚拟存储技术四、虚拟存储技术引入原因:引入原因:当作
4、业很大,超过内存剩余时,无法装入当作业很大,超过内存剩余时,无法装入装入的作业对内存利用率不高:装入的作业对内存利用率不高:99%的指令在短时间内都不会的指令在短时间内都不会得到执行得到执行解决方法解决方法不需一次全部装入作业,程序部分装入就可以执行不需一次全部装入作业,程序部分装入就可以执行装入内存的程序在不需要访问时暂时从内存换出装入内存的程序在不需要访问时暂时从内存换出给用户感觉比实际空间大的虚拟空间给用户感觉比实际空间大的虚拟空间虚空间大小虚空间大小虚空间的虚空间的逻辑逻辑大小大小 可寻址范围可寻址范围虚空间的虚空间的实际实际大小大小 内存外存对换区内存外存对换区例:例:32位操作系统
5、的可寻址范围是位操作系统的可寻址范围是232=4GByte第7页,共63页,编辑于2022年,星期三第8页,共63页,编辑于2022年,星期三程序的装入和链接程序的装入和链接从用户源程序到内存中可执行的代码将经历:从用户源程序到内存中可执行的代码将经历:编译:编译:完成源程序从高级语言到机器可理解代码的转换完成源程序从高级语言到机器可理解代码的转换根据任务的需要可能形成若干相对独立的目标模块根据任务的需要可能形成若干相对独立的目标模块链接:链接:将目标模块链接起来,如标准库、系统库将目标模块链接起来,如标准库、系统库形成一个完整的装入模块形成一个完整的装入模块装入:装入:由操作系统的装入程序将
6、装入模块装入内存由操作系统的装入程序将装入模块装入内存涉及:涉及:内存空间的分配内存空间的分配放到内存什么地方放到内存什么地方地址空间的映射地址空间的映射地址变换地址变换第9页,共63页,编辑于2022年,星期三(1)程序的装入A、绝对装入方式、绝对装入方式装入模块的地址与内存实际地址完全相同装入模块的地址与内存实际地址完全相同系统装入程序时工作最简单,直接分配,不变换地址系统装入程序时工作最简单,直接分配,不变换地址要求:要求:用户使用绝对地址编程用户使用绝对地址编程用户了解程序在内存中的存放位置用户了解程序在内存中的存放位置用户控制内存使用情况用户控制内存使用情况第10页,共63页,编辑于
7、2022年,星期三B、静态重定位装入方式、静态重定位装入方式装入模块中使用从装入模块中使用从0开始的相对地址开始的相对地址装入时,由系统分配内存空间,并完成装入模块中装入时,由系统分配内存空间,并完成装入模块中相对地址变换为绝对地址相对地址变换为绝对地址重定位重定位逻辑地址逻辑地址基地址基地址+物理地址物理地址装入模块中的相对地址装入模块中的相对地址第11页,共63页,编辑于2022年,星期三装入时的地址变换MOV ax,250036536501000250010000110001100012500MOV ax,2500365程序空间程序空间内存空间内存空间0 0125001250012500
8、 10000+2500物理地址物理地址基地址基地址相对地址相对地址第12页,共63页,编辑于2022年,星期三C、动态重定位装入方式、动态重定位装入方式装入模块中使用相对地址装入模块中使用相对地址,装入时不变换地址,装入时不变换地址,在在执行时执行时才完成地址的变换才完成地址的变换方便了模块的动态装入方便了模块的动态装入动态重定位需特殊的硬件支持动态重定位需特殊的硬件支持重定位寄存器重定位寄存器利用硬件地址变换机构利用硬件地址变换机构第13页,共63页,编辑于2022年,星期三(2)程序的链接0000装入模块装入模块目标模块目标模块将任务所需的目标模块链接起来,形成一个完整的装入将任务所需的目
9、标模块链接起来,形成一个完整的装入模块模块目标模块使用的地址是相对的,都是从目标模块使用的地址是相对的,都是从0开始开始形成形成统一地址空间统一地址空间的装入模块的过程的装入模块的过程链接链接第14页,共63页,编辑于2022年,星期三A、静态链接、静态链接装入模块是完整的,包含所有的目标模块装入模块是完整的,包含所有的目标模块C、运行时动态链接、运行时动态链接装入模块不完整,装入时也没有装入所有的模块装入模块不完整,装入时也没有装入所有的模块运行时根据需要,找到所需模块,装入,链接,再执行。运行时根据需要,找到所需模块,装入,链接,再执行。需要动态重定位的支持需要动态重定位的支持需要动态重定
10、位的支持需要动态重定位的支持装入模块并不包含所有目标模块装入模块并不包含所有目标模块由系统装入程序在装入同时找到需要的其它模块,并链接由系统装入程序在装入同时找到需要的其它模块,并链接B、装入时动态链接、装入时动态链接第15页,共63页,编辑于2022年,星期三运行时动态链接例运行时动态链接例printf(“OK”);printf(“OK”);printf(“OK”);printf(“OK”);主模块主模块库模块库模块库模块库模块void printf()void printf()00装入模块装入模块void printf()void printf()编译编译装入装入printf(“OK”);
11、printf(“OK”);执行执行33600Hcall 33600H运行时动态链接运行时动态链接运行时动态链接运行时动态链接内存内存第16页,共63页,编辑于2022年,星期三2.4.2 2.4.2 连续分配存储管理连续分配存储管理特点:特点:为一个用户程序分配一个连续的内存空间为一个用户程序分配一个连续的内存空间程序空间本来就是连续的程序空间本来就是连续的用连续的内存装入连续的程序,减少管理用连续的内存装入连续的程序,减少管理工作的难度工作的难度可分为:可分为:单一连续区存储管理单一连续区存储管理分区存储管理分区存储管理第17页,共63页,编辑于2022年,星期三单一连续区存储管理单一连续区
12、存储管理内存分为两个区域:系统区,用户区。内存分为两个区域:系统区,用户区。应用程序装入到用户区,可使用用户区应用程序装入到用户区,可使用用户区全部空间。全部空间。最简单,适用于单用户、单任务的最简单,适用于单用户、单任务的OS。优点:易于管理。优点:易于管理。缺点:对要求内存空间少的程序,造成缺点:对要求内存空间少的程序,造成内存浪费;程序全部装入,很少使用的内存浪费;程序全部装入,很少使用的程序部分也占用内存。程序部分也占用内存。第18页,共63页,编辑于2022年,星期三第19页,共63页,编辑于2022年,星期三分区存储管理分区存储管理把内存分为一些大小相等或不等的分区把内存分为一些大
13、小相等或不等的分区(partition),每,每个应用进程占用一个或几个分区;操作系统占用其中一个应用进程占用一个或几个分区;操作系统占用其中一个分区。个分区。特点:适用于多道程序系统和分时系统特点:适用于多道程序系统和分时系统支持多个程序并发执行支持多个程序并发执行可能存在可能存在内零头内零头(分配给用户但没有被使用的空间分配给用户但没有被使用的空间)和)和外零外零头头(没有分配但无法分配的空间没有分配但无法分配的空间)按不同分配方式,分为:按不同分配方式,分为:固定分区固定分区可变分区可变分区第20页,共63页,编辑于2022年,星期三一、固定分区一、固定分区基本思想:基本思想:将内存区固
14、定地划分为大小相等或者不等的将内存区固定地划分为大小相等或者不等的区域,每个分区装入一道作业。分区划分后,区域,每个分区装入一道作业。分区划分后,每个分区的长度和内存中的分区总数将保持每个分区的长度和内存中的分区总数将保持不变。不变。内存分配表内存分配表分区号分区号大小大小起始地址起始地址状态状态14K0000H未分配未分配28K4000H已分配已分配312K12000H未分配未分配第21页,共63页,编辑于2022年,星期三固定分区固定分区(大大小相同小相同)固定分区固定分区(多多种大小种大小)优点:易于实现,开销小。优点:易于实现,开销小。缺点:缺点:内零头造成浪费内零头造成浪费分区总数固
15、定,限制了并发执行的程序数目分区总数固定,限制了并发执行的程序数目第22页,共63页,编辑于2022年,星期三二、可变分区(动态分区)二、可变分区(动态分区)基本思想:基本思想:根据作业任务的大小划分分区,分区的根据作业任务的大小划分分区,分区的大小和数目不再固定。大小和数目不再固定。分配区分配区控制块控制块空闲区空闲区控制块控制块AMCB(Allocation Memory Control Block)FMCB(Free Memory Control Block)第23页,共63页,编辑于2022年,星期三分配过程:分配过程:10 K作业作业 1作业作业 2作业作业 3作业作业 12 K作业
16、作业 21 K作业作业 34 K作业作业 1作业作业 3作业作业 4作业作业 43 K第24页,共63页,编辑于2022年,星期三分配算法(空白分区选择)分配算法(空白分区选择)1 1、首次适应、首次适应FF(First Fit)FF(First Fit)(1 1)将空白分区)将空白分区按地址递增按地址递增顺序链接顺序链接(2 2)从链首开始查找适合的分区)从链首开始查找适合的分区优先分配内存中低地址部分优先分配内存中低地址部分优点:优点:缺点:缺点:简单简单在低地址部分会积累大量外零头在低地址部分会积累大量外零头(3 3)从选中的分区中分出所需的大小,其余部分仍)从选中的分区中分出所需的大小
17、,其余部分仍留在空白分区链表里留在空白分区链表里第25页,共63页,编辑于2022年,星期三选取最适合的空白分区选取最适合的空白分区大分区保证大分区保证缺点:缺点:优点:优点:效率不高效率不高零头更小零头更小(1 1)将空白分区)将空白分区按大小递增按大小递增顺序链接顺序链接(2 2)从链首开始查找适合的分区)从链首开始查找适合的分区2 2、最佳适应、最佳适应BF(Best Fit)BF(Best Fit)第26页,共63页,编辑于2022年,星期三3 3、最坏适应、最坏适应WF(Worst Fit)WF(Worst Fit)?选取分区中最大的一个选取分区中最大的一个最不适合的最不适合的(1
18、1)将空白分区)将空白分区按大小递减按大小递减顺序链接顺序链接(2 2)从链首开始分配分区)从链首开始分配分区优点:优点:查找效率显著提高,一次就找到查找效率显著提高,一次就找到缺点:缺点:大作业容纳大作业容纳能力会下降能力会下降第27页,共63页,编辑于2022年,星期三“拼接拼接”/“紧缩紧缩”技术技术多次分配、回收后,形成小空闲区无法使用。这时多次分配、回收后,形成小空闲区无法使用。这时需要使用拼接或紧缩技术将已分配分区移动,使未分需要使用拼接或紧缩技术将已分配分区移动,使未分配分区合成较大分区。配分区合成较大分区。对占用分区进行内存数据搬移占用对占用分区进行内存数据搬移占用CPUCPU
19、时间时间如果对占用分区中的程序进行如果对占用分区中的程序进行 浮动浮动,则其重定位,则其重定位需要硬件支持。需要硬件支持。紧缩时机:每个分区释放后,或内存分配找不紧缩时机:每个分区释放后,或内存分配找不到满足条件的空闲分区时。到满足条件的空闲分区时。第28页,共63页,编辑于2022年,星期三2.4.3 2.4.3 覆盖与交换技术覆盖与交换技术引入原因:引入原因:在分区管理技术中,程序的地址空间在分区管理技术中,程序的地址空间(逻辑地址空间)可能大于实际存储(逻辑地址空间)可能大于实际存储器空间,使程序无法装入(无法运行)。器空间,使程序无法装入(无法运行)。覆盖(覆盖(Overlay)交换(
20、交换(Swapping)第29页,共63页,编辑于2022年,星期三一、覆盖(一、覆盖(OverlayOverlay)一段内存区可以先后被不同的程序段重复使用一段内存区可以先后被不同的程序段重复使用常驻区常驻区(非覆盖区)(非覆盖区)覆盖区覆盖区初始段初始段处理段处理段输出段输出段程序员必须自己设计覆盖结构程序员必须自己设计覆盖结构覆盖断划分困难,不易实现覆盖断划分困难,不易实现第30页,共63页,编辑于2022年,星期三二、交换(二、交换(SwappingSwapping)在内、外存之间进行数据和程序的交换在内、外存之间进行数据和程序的交换内内 存存磁磁 盘盘交换技术一般与分区、分页、分段管
21、理技术结交换技术一般与分区、分页、分段管理技术结合使用。合使用。第31页,共63页,编辑于2022年,星期三2.4.4 2.4.4 分页存储管理分页存储管理连续分配方式要求连续存放,产生大量的内连续分配方式要求连续存放,产生大量的内/外零头,外零头,浪费空间。浪费空间。引入离散分配方式引入离散分配方式程序在内存中不一定连续存放程序在内存中不一定连续存放页页块块逻辑地址逻辑地址物理地址物理地址非连续非连续地址映射地址映射第32页,共63页,编辑于2022年,星期三一、分页管理的基本思想一、分页管理的基本思想页页:将逻辑地址空间划分为大小相同的块,称为页或虚将逻辑地址空间划分为大小相同的块,称为页
22、或虚页面(页面(Page)块块:将实际物理空间划分为与页大小相等的块,称为将实际物理空间划分为与页大小相等的块,称为存储块或页框(存储块或页框(Page Frame)没有外零头,仅有小于一个页面的内零头没有外零头,仅有小于一个页面的内零头优点优点:一个块可以装入一页一个块可以装入一页逻辑地址连续的页可以通过地址变换机构映射到逻辑地址连续的页可以通过地址变换机构映射到不连续的内存块中不连续的内存块中第33页,共63页,编辑于2022年,星期三二、分页管理的基本方法二、分页管理的基本方法关键问题:关键问题:如何实现页到块的地址变换?如何实现页到块的地址变换?通过通过页表页表实现。实现。012m内存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件技术 基础 存储 管理 幻灯片
限制150内