软件技术基础存储管理精品文稿.ppt

上传人:石*** 文档编号:91065044 上传时间:2023-05-21 格式:PPT 页数:63 大小:2.92MB
返回 下载 相关 举报
软件技术基础存储管理精品文稿.ppt_第1页
第1页 / 共63页
软件技术基础存储管理精品文稿.ppt_第2页
第2页 / 共63页
点击查看更多>>
资源描述

《软件技术基础存储管理精品文稿.ppt》由会员分享,可在线阅读,更多相关《软件技术基础存储管理精品文稿.ppt(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、软件技术基础存储管理第1页,本讲稿共63页存储器层次结构存储器层次结构快速缓存:快速缓存:Cache内存:内存:DRAM,SDRAM,DRDRAM等;等;外存:软盘、硬盘、光盘、磁带等;外存:软盘、硬盘、光盘、磁带等;第2页,本讲稿共63页2.4.1 2.4.1 存储管理的功能存储管理的功能内存的分配与管理内存的分配与管理内存的共享与保护内存的共享与保护地址变换地址变换主存的主存的“扩充扩充”虚拟内存虚拟内存覆盖与交换技术覆盖与交换技术第3页,本讲稿共63页一、内存分配与管理一、内存分配与管理内存分配就是为进程分配内存空间,涉及以下问题:内存分配就是为进程分配内存空间,涉及以下问题:管理内存分

2、配表:记录分配情况、空闲情况等管理内存分配表:记录分配情况、空闲情况等制定分配策略制定分配策略制定内存划分方式制定内存划分方式放置策略放置策略调入策略调入策略淘汰策略淘汰策略等分等分不等分不等分第4页,本讲稿共63页二、内存共享与保护二、内存共享与保护共共 享享保保 护护共享内存资源,程序并发执行;共享内存资源,程序并发执行;共享内存中公共信息。共享内存中公共信息。避免并发执行的程序相互干扰;避免并发执行的程序相互干扰;避免用户程序侵犯系统区。避免用户程序侵犯系统区。第5页,本讲稿共63页三、地址变换三、地址变换逻辑地址逻辑地址(程序空间)(程序空间)物理地址物理地址(内存空间)(内存空间)重

3、定位重定位0000MemoryMemory地址是以字节为单位的存储器编号地址是以字节为单位的存储器编号内存空间(绝对空间):内存空间(绝对空间):整个系统内存从整个系统内存从0开始以字节为单位编址开始以字节为单位编址物理地址物理地址程序空间(相对空间):程序空间(相对空间):程序由机器代码组成,以字节为单位,每个程序都从程序由机器代码组成,以字节为单位,每个程序都从0开开始编址始编址逻辑地址逻辑地址第6页,本讲稿共63页四、虚拟存储技术四、虚拟存储技术引入原因:引入原因:当作业很大,超过内存剩余时,无法装入当作业很大,超过内存剩余时,无法装入装入的作业对内存利用率不高:装入的作业对内存利用率不

4、高:99%的指令在短时间内都不会的指令在短时间内都不会得到执行得到执行解决方法解决方法不需一次全部装入作业,程序部分装入就可以执行不需一次全部装入作业,程序部分装入就可以执行装入内存的程序在不需要访问时暂时从内存换出装入内存的程序在不需要访问时暂时从内存换出给用户感觉比实际空间大的虚拟空间给用户感觉比实际空间大的虚拟空间虚空间大小虚空间大小虚空间的虚空间的逻辑逻辑大小大小 可寻址范围可寻址范围虚空间的虚空间的实际实际大小大小 内存外存对换区内存外存对换区例:例:32位操作系统的可寻址范围是位操作系统的可寻址范围是232=4GByte第7页,本讲稿共63页第8页,本讲稿共63页程序的装入和链接程

5、序的装入和链接从用户源程序到内存中可执行的代码将经历:从用户源程序到内存中可执行的代码将经历:编译:编译:完成源程序从高级语言到机器可理解代码的转换完成源程序从高级语言到机器可理解代码的转换根据任务的需要可能形成若干相对独立的目标模块根据任务的需要可能形成若干相对独立的目标模块链接:链接:将目标模块链接起来,如标准库、系统库将目标模块链接起来,如标准库、系统库形成一个完整的装入模块形成一个完整的装入模块装入:装入:由操作系统的装入程序将装入模块装入内存由操作系统的装入程序将装入模块装入内存涉及:涉及:内存空间的分配内存空间的分配放到内存什么地方放到内存什么地方地址空间的映射地址空间的映射地址变

6、换地址变换第9页,本讲稿共63页(1)程序的装入A、绝对装入方式、绝对装入方式装入模块的地址与内存实际地址完全相同装入模块的地址与内存实际地址完全相同系统装入程序时工作最简单,直接分配,不变换系统装入程序时工作最简单,直接分配,不变换地址地址要求:要求:用户使用绝对地址编程用户使用绝对地址编程用户了解程序在内存中的存放位置用户了解程序在内存中的存放位置用户控制内存使用情况用户控制内存使用情况第10页,本讲稿共63页B、静态重定位装入方式、静态重定位装入方式装入模块中使用从装入模块中使用从0开始的相对地址开始的相对地址装入时,由系统分配内存空间,并完成装入模块中相对地装入时,由系统分配内存空间,

7、并完成装入模块中相对地址变换为绝对地址址变换为绝对地址重定位重定位逻辑地址逻辑地址基地址基地址+物理地址物理地址装入模块中的相对地址装入模块中的相对地址第11页,本讲稿共63页装入时的地址变换MOV ax,2500MOV ax,25003653650 01000100025002500100001000011000110001250012500MOV ax,2500365365程序空间程序空间程序空间程序空间内存空间内存空间0 0125001250012500 12500 10000+250010000+2500物理地址物理地址物理地址物理地址基地址基地址基地址基地址相对地址相对地址相对地址相

8、对地址第12页,本讲稿共63页C、动态重定位装入方式、动态重定位装入方式装入模块中使用相对地址装入模块中使用相对地址,装入时不变换地址,装入时不变换地址,在在执行时执行时才完成地址的变换才完成地址的变换方便了模块的动态装入方便了模块的动态装入动态重定位需特殊的硬件支持动态重定位需特殊的硬件支持重定位寄存器重定位寄存器利用硬件地址变换机构利用硬件地址变换机构第13页,本讲稿共63页(2)程序的链接0000装入模块装入模块目标模块目标模块将任务所需的目标模块链接起来,形成一个完整将任务所需的目标模块链接起来,形成一个完整的装入模块的装入模块目标模块使用的地址是相对的,都是从目标模块使用的地址是相对

9、的,都是从0开始开始形成形成统一地址空间统一地址空间的装入模块的过程的装入模块的过程链接链接第14页,本讲稿共63页A A、静态链接、静态链接、静态链接、静态链接装入模块是完整的,包含所有的目标模块装入模块是完整的,包含所有的目标模块C C、运行时动态链接、运行时动态链接、运行时动态链接、运行时动态链接装入模块不完整,装入时也没有装入所有的模块装入模块不完整,装入时也没有装入所有的模块运行时根据需要,找到所需模块,装入,链接,再执行。运行时根据需要,找到所需模块,装入,链接,再执行。需要动态重定位的支持需要动态重定位的支持需要动态重定位的支持需要动态重定位的支持装入模块并不包含所有目标模块装入

10、模块并不包含所有目标模块由系统装入程序在装入同时找到需要的其它模块,并链接由系统装入程序在装入同时找到需要的其它模块,并链接B B、装入时动态链接、装入时动态链接、装入时动态链接、装入时动态链接第15页,本讲稿共63页运行时动态链接例运行时动态链接例printf(“OK”);printf(“OK”);printf(“OK”);printf(“OK”);主模块主模块库模块库模块库模块库模块void printf()void printf()00装入模块装入模块void printf()void printf()编译编译装入装入printf(“OK”);printf(“OK”);执行执行33600

11、Hcall 33600H运行时动态链接运行时动态链接运行时动态链接运行时动态链接内存内存第16页,本讲稿共63页2.4.2 2.4.2 连续分配存储管理连续分配存储管理特点:特点:为一个用户程序分配一个连续的内存空间为一个用户程序分配一个连续的内存空间程序空间本来就是连续的程序空间本来就是连续的用连续的内存装入连续的程序,减少管理用连续的内存装入连续的程序,减少管理工作的难度工作的难度可分为:可分为:单一连续区存储管理单一连续区存储管理分区存储管理分区存储管理第17页,本讲稿共63页单一连续区存储管理单一连续区存储管理内存分为两个区域:系统区,用户区。内存分为两个区域:系统区,用户区。应用程序

12、装入到用户区,可使用用户区应用程序装入到用户区,可使用用户区全部空间。全部空间。最简单,适用于单用户、单任务的最简单,适用于单用户、单任务的OS。优点:易于管理。优点:易于管理。缺点:对要求内存空间少的程序,造成缺点:对要求内存空间少的程序,造成内存浪费;程序全部装入,很少使用的内存浪费;程序全部装入,很少使用的程序部分也占用内存。程序部分也占用内存。第18页,本讲稿共63页第19页,本讲稿共63页分区存储管理分区存储管理把内存分为一些大小相等或不等的分区把内存分为一些大小相等或不等的分区(partition),每个应用进程占用一个或几个分区;操作系统占用每个应用进程占用一个或几个分区;操作系

13、统占用其中一个分区。其中一个分区。特点:适用于多道程序系统和分时系统特点:适用于多道程序系统和分时系统支持多个程序并发执行支持多个程序并发执行可能存在可能存在内零头内零头(分配给用户但没有被使用的空间分配给用户但没有被使用的空间)和)和外零头外零头(没有分配但无法分配的空间没有分配但无法分配的空间)按不同分配方式,分为:按不同分配方式,分为:固定分区固定分区可变分区可变分区第20页,本讲稿共63页一、固定分区一、固定分区基本思想:基本思想:将内存区固定地划分为大小相等或者不等的将内存区固定地划分为大小相等或者不等的区域,每个分区装入一道作业。分区划分后,区域,每个分区装入一道作业。分区划分后,

14、每个分区的长度和内存中的分区总数将保持每个分区的长度和内存中的分区总数将保持不变。不变。内存分配表内存分配表分区号分区号大小大小起始地址起始地址状态状态14K0000H未分配未分配28K4000H已分配已分配312K12000H 未分配未分配第21页,本讲稿共63页固定分区固定分区(大小相同大小相同)固定分区固定分区(多种大小多种大小)优点:易于实现,开销小。优点:易于实现,开销小。缺点:缺点:内零头造成浪费内零头造成浪费分区总数固定,限制了并发执行的程序数目分区总数固定,限制了并发执行的程序数目第22页,本讲稿共63页二、可变分区(动态分区)二、可变分区(动态分区)基本思想:基本思想:根据作

15、业任务的大小划分分区,分区的大根据作业任务的大小划分分区,分区的大小和数目不再固定。小和数目不再固定。分配区分配区控制块控制块空闲区空闲区控制块控制块AMCB(Allocation Memory Control Block)FMCB(Free Memory Control Block)第23页,本讲稿共63页分配过程:分配过程:10 K作业作业 1作业作业 2作业作业 3作业作业 12 K作业作业 21 K作业作业 34 K作业作业 1作业作业 3作业作业 4作业作业 43 K第24页,本讲稿共63页分配算法(空白分区选择)分配算法(空白分区选择)1 1、首次适应、首次适应FF(First F

16、it)FF(First Fit)(1 1)将空白分区)将空白分区按地址递增按地址递增顺序链接顺序链接(2 2)从链首开始查找适合的分区)从链首开始查找适合的分区优先分配内存中低地址部分优先分配内存中低地址部分优点:优点:缺点:缺点:简单简单在低地址部分会积累大量外零头在低地址部分会积累大量外零头(3 3)从选中的分区中分出所需的大小,其余部分仍留在)从选中的分区中分出所需的大小,其余部分仍留在空白分区链表里空白分区链表里第25页,本讲稿共63页选取最适合的空白分区选取最适合的空白分区大分区保证大分区保证缺点:缺点:优点:优点:效率不高效率不高零头更小零头更小(1 1)将空白分区)将空白分区按大

17、小递增按大小递增顺序链接顺序链接(2 2)从链首开始查找适合的分区)从链首开始查找适合的分区2 2、最佳适应、最佳适应BF(Best Fit)BF(Best Fit)第26页,本讲稿共63页3 3、最坏适应、最坏适应WF(Worst Fit)WF(Worst Fit)?选取分区中最大的一个选取分区中最大的一个最不适合的最不适合的(1 1)将空白分区)将空白分区按大小递减按大小递减顺序链接顺序链接(2 2)从链首开始分配分区)从链首开始分配分区优点:优点:查找效率显著提高,一次就找到查找效率显著提高,一次就找到缺点:缺点:大作业容纳大作业容纳能力会下降能力会下降第27页,本讲稿共63页“拼接拼接

18、”/“紧缩紧缩”技术技术多次分配、回收后,形成小空闲区无法使用。这时需多次分配、回收后,形成小空闲区无法使用。这时需要使用拼接或紧缩技术将已分配分区移动,使未分配要使用拼接或紧缩技术将已分配分区移动,使未分配分区合成较大分区。分区合成较大分区。对占用分区进行内存数据搬移占用对占用分区进行内存数据搬移占用CPUCPU时间时间如果对占用分区中的程序进行如果对占用分区中的程序进行 浮动浮动,则其重定,则其重定位需要硬件支持。位需要硬件支持。紧缩时机:每个分区释放后,或内存分配找不到满紧缩时机:每个分区释放后,或内存分配找不到满足条件的空闲分区时。足条件的空闲分区时。第28页,本讲稿共63页2.4.3

19、 2.4.3 覆盖与交换技术覆盖与交换技术引入原因:引入原因:在分区管理技术中,程序的地址空间在分区管理技术中,程序的地址空间(逻辑地址空间)可能大于实际存储器(逻辑地址空间)可能大于实际存储器空间,使程序无法装入(无法运行)。空间,使程序无法装入(无法运行)。覆盖(覆盖(Overlay)交换(交换(Swapping)第29页,本讲稿共63页一、覆盖(一、覆盖(OverlayOverlay)一段内存区可以先后被不同的程序段重复使用一段内存区可以先后被不同的程序段重复使用常驻区常驻区(非覆盖区)(非覆盖区)覆盖区覆盖区初始段初始段处理段处理段输出段输出段程序员必须自己设计覆盖结构程序员必须自己设

20、计覆盖结构覆盖断划分困难,不易实现覆盖断划分困难,不易实现第30页,本讲稿共63页二、交换(二、交换(SwappingSwapping)在内、外存之间进行数据和程序的交换在内、外存之间进行数据和程序的交换内内 存存磁磁 盘盘交换技术一般与分区、分页、分段管理技术结合交换技术一般与分区、分页、分段管理技术结合使用。使用。第31页,本讲稿共63页2.4.4 2.4.4 分页存储管理分页存储管理连续分配方式要求连续存放,产生大量的内连续分配方式要求连续存放,产生大量的内/外零头,外零头,浪费空间。浪费空间。引入离散分配方式引入离散分配方式程序在内存中不一定连续存程序在内存中不一定连续存放放页页块块逻

21、辑地址逻辑地址物理地址物理地址非连续非连续地址映射地址映射第32页,本讲稿共63页一、分页管理的基本思想一、分页管理的基本思想页页:将逻辑地址空间划分为大小相同的块,称为页或虚将逻辑地址空间划分为大小相同的块,称为页或虚页面(页面(Page)块块:将实际物理空间划分为与页大小相等的块,将实际物理空间划分为与页大小相等的块,称为存储块或页框(称为存储块或页框(Page Frame)没有外零头,仅有小于一个页面的内零头没有外零头,仅有小于一个页面的内零头优点优点:一个块可以装入一页一个块可以装入一页逻辑地址连续的页可以通过地址变换机构映射到逻辑地址连续的页可以通过地址变换机构映射到不连续的内存块中

22、不连续的内存块中第33页,本讲稿共63页二、分页管理的基本方法二、分页管理的基本方法关键问题:关键问题:如何实现页到块的地址变换?如何实现页到块的地址变换?通过通过页表页表实现。实现。012m内存内存012n用户程序用户程序012n012n3m-21m-1页表页表页号页号块号块号第34页,本讲稿共63页1.1.页面地址转换页面地址转换页面地址转换通过下述页面地址转换通过下述3种数据结构实现:种数据结构实现:(1 1)存储分块表()存储分块表(MBTMBT)整个系统一个,记录所有内整个系统一个,记录所有内存块的状况。存块的状况。块号块号作业作业ID状态状态01nOS作业作业1作业作业n忙忙闲闲忙

23、忙第35页,本讲稿共63页(2 2)页表()页表(PTPT)页号页号块号块号0211024每个作业一个,记录作业的页与每个作业一个,记录作业的页与内存块的关系内存块的关系页表在作业装入时创建,作业撤销时撤销。页表在作业装入时创建,作业撤销时撤销。作业被调度时,页表存放在页表控制寄存器作业被调度时,页表存放在页表控制寄存器PTCR中中(3 3)作业表()作业表(JTJT)作业号作业号 页表大小页表大小 页表始址页表始址 状态状态020已分配已分配116未分配未分配240已分配已分配整个系统一个,记录所整个系统一个,记录所有作业的页表情况。有作业的页表情况。第36页,本讲稿共63页页面地址到物理地

24、址转换过程:页面地址到物理地址转换过程:(1)作业被调度时首先通过作业被调度时首先通过JT找到相应页表的起始地址及找到相应页表的起始地址及大小,并装入大小,并装入PTCR(2)将页号与将页号与PTCR中的页表大小进行比较,若页号中的页表大小进行比较,若页号页表页表大小则为非法访问,产生越界中断;否则为合法访问,大小则为非法访问,产生越界中断;否则为合法访问,根据页表起始地址和页号找到该页页表表项根据页表起始地址和页号找到该页页表表项(3)通过页表表项找到逻辑页所对应的物理块号,然后将块通过页表表项找到逻辑页所对应的物理块号,然后将块号与页内偏移地址结合形成物理地址号与页内偏移地址结合形成物理地

25、址第37页,本讲稿共63页页表始址页表始址 页表大小页表大小PTCR+块号块号块内地址块内地址物理地址寄存器物理地址寄存器页号页号页内地址页内地址逻辑地址寄存器逻辑地址寄存器越界?越界?页号页号 块号块号J1的页表的页表2404010作业号作业号 页表大小页表大小 页表始址页表始址 状态状态J020已分配已分配J1161024已分配已分配JT210第38页,本讲稿共63页 例:设块大小为例:设块大小为32,利用下面的页表,将逻辑地,利用下面的页表,将逻辑地址址140变换为物理地址。变换为物理地址。解:解:1)逻辑地址)逻辑地址有效地址有效地址页号页号INT140/324页内地址页内地址140%

26、32122)查页表得到块号为)查页表得到块号为53)物理地址)物理地址532+12172页号页号 块号块号0617223445510第39页,本讲稿共63页2.2.请求式分页请求式分页属于虚拟存储管理:属于虚拟存储管理:部分装入、请求调入、页面置换部分装入、请求调入、页面置换需要的页面是否已装入内存?需要的页面是否已装入内存?当需要访问的页面不在内存中如何处理?当需要访问的页面不在内存中如何处理?当发现将要用到的页面不在主存中时产生当发现将要用到的页面不在主存中时产生缺页中断缺页中断,由缺页中断来完成页面的调入,由缺页中断来完成页面的调入缺页中断将耗费系统时间,缺页率是影响系统性能的主要因素缺

27、页中断将耗费系统时间,缺页率是影响系统性能的主要因素缺页率:需要访问的页面不在内存中次数在总页面访问次数缺页率:需要访问的页面不在内存中次数在总页面访问次数的比率的比率第40页,本讲稿共63页如果要访问的页不在内存中如果要访问的页不在内存中缺页中断处理缺页中断处理页号页号块号块号 存取控制存取控制状态位状态位引用位引用位修改位修改位 外存地址外存地址引用位:引用位:0 未访问过未访问过1 访问过访问过对页表扩充:对页表扩充:u u让系统了解页面状态让系统了解页面状态让系统了解页面状态让系统了解页面状态修改位:修改位:0 未修改未修改1 已修改过已修改过状态位:状态位:0 不在内存不在内存1 在

28、内存在内存第41页,本讲稿共63页缺页中断的处理过程缺页中断的处理过程 :相对地址相对地址页号页号页内地址页内地址页表始址页表始址 页表大小页表大小页表控制寄存器页表控制寄存器+块号块号块内地址块内地址物理地址寄存器物理地址寄存器逻辑地址寄存器逻辑地址寄存器越界?越界?页号页号块号块号页表页表状态位状态位缺页中断缺页中断215030160第42页,本讲稿共63页页面淘汰算法页面淘汰算法若缺页中断处理时内存已无空闲分块?若缺页中断处理时内存已无空闲分块?页面置换页面置换页面置换页面置换(页面淘汰页面淘汰页面淘汰页面淘汰)页面淘汰算法页面淘汰算法抖动抖动ThrashingThrashing 频繁地

29、调进和调出页面,特别是被换出的页面在短时间内又频繁地调进和调出页面,特别是被换出的页面在短时间内又频繁地调进和调出页面,特别是被换出的页面在短时间内又频繁地调进和调出页面,特别是被换出的页面在短时间内又要被换入,要被换入,要被换入,要被换入,系统开销显著增加系统开销显著增加系统开销显著增加系统开销显著增加,以至于系统吞吐量大大下降,以至于系统吞吐量大大下降,以至于系统吞吐量大大下降,以至于系统吞吐量大大下降第43页,本讲稿共63页(1)FIFO算法算法 先进先出算法先进先出算法最简单的算法最简单的算法(2)LRU算法算法 最近最久不用页面被淘汰最近最久不用页面被淘汰(3)LFU算法算法 最近最

30、少使用页面被淘汰最近最少使用页面被淘汰常用页面淘汰算法:常用页面淘汰算法:第44页,本讲稿共63页3.3.快表快表问题引入:问题引入:两次内存访问两次内存访问访问页表访问页表得到物理地址得到物理地址访问物理地址访问物理地址得到数据得到数据快表:快表:用于存放当前页表中最频繁访问表项的用于存放当前页表中最频繁访问表项的高速缓存高速缓存(Cache)。基于快表的分页系统:先查找快表,未成功再查找基于快表的分页系统:先查找快表,未成功再查找页表(页表(p.132 图图2.34)第45页,本讲稿共63页4.4.分页式存储管理特点分页式存储管理特点3重定位方便重定位方便2保护功能好保护功能好1存储效率高

31、存储效率高4易于共享易于共享5开销稍微偏大开销稍微偏大第46页,本讲稿共63页2.4.5 2.4.5 分段存储管理分段存储管理引入原因:引入原因:按页划分按页划分程序的模块化程序的模块化矛盾矛盾以段为内存分配单位以段为内存分配单位优点:方便程序设计,便于内存共享、保护、动态装入。优点:方便程序设计,便于内存共享、保护、动态装入。第47页,本讲稿共63页1.1.分段实现思想分段实现思想作业按逻辑信息的完整性分段,段有段名和段号;作业按逻辑信息的完整性分段,段有段名和段号;段长度由程序决定,可动态延伸;段长度由程序决定,可动态延伸;各段都是从各段都是从0开始编址的连续地址空间(二维)开始编址的连续

32、地址空间(二维)一个段是连续的,各段可以离散存放;一个段是连续的,各段可以离散存放;第48页,本讲稿共63页2.2.分段的地址转换分段的地址转换段表:段表:每进程一个,记录进程内段与内存实际段存放基地每进程一个,记录进程内段与内存实际段存放基地址的映射关系。址的映射关系。段号段号段长段长02k11k240k主存始址主存始址1004000存取控制存取控制 增补位增补位010RWRW特征位特征位110修改位修改位100段表(段表(STST)示意图)示意图第49页,本讲稿共63页地址变换机构和过程:地址变换机构和过程:段表始址段表始址 段表大小段表大小段表寄存器(段表寄存器(JT)+物理地址寄存器物

33、理地址寄存器越界?越界?段号段号 基址基址段表段表4100段号段号逻辑地址寄存器逻辑地址寄存器段内地址段内地址+绝对地址绝对地址第50页,本讲稿共63页3.3.段的共享与保护段的共享与保护段的共享:段的共享:段表中同一起始地址段表中同一起始地址段的保护:段的保护:地址越界保护地址越界保护存取控制保护存取控制保护第51页,本讲稿共63页分段方式的内存共享分段方式的内存共享共享段表共享段表共享段表共享段表段号段号段号段号基址基址基址基址进程进程进程进程1 1段表段表段表段表进程进程进程进程2 2段表段表段表段表段名段名段名段名1 12 25 56 6始址始址始址始址内存内存内存内存共享进程数共享进

34、程数共享进程数共享进程数记录共享段和进程的记录共享段和进程的信息,以便共享段的信息,以便共享段的分配和回收分配和回收第52页,本讲稿共63页4.4.分段与分页的比较分段与分页的比较(1 1)“分页分页”是系统活动,用户无法介入,页的大小固定是系统活动,用户无法介入,页的大小固定“分段分段”是用户可见的,段大小可变是用户可见的,段大小可变(2 2)页式信息的物理单位,不是完整的逻辑单位)页式信息的物理单位,不是完整的逻辑单位段是完整的逻辑信息单位段是完整的逻辑信息单位(3 3)分页的作业空间是一维的,是单一线性空间)分页的作业空间是一维的,是单一线性空间分段的作业空间是二维的。分段的作业空间是二

35、维的。第53页,本讲稿共63页2.4.6 2.4.6 段页式管理技术段页式管理技术引入原因:引入原因:分页的优点:分页的优点:分段的优点:分段的优点:存储器利用率高存储器利用率高符合程序的模块结构符合程序的模块结构+段页式存储管理段页式存储管理第54页,本讲稿共63页1.1.段页式实现思想段页式实现思想有效地址有效地址 =段名段内地址段名段内地址段内页号段内页号+页内地址页内地址用户程序分段,段内分页(系统自动)用户程序分段,段内分页(系统自动)系统内存分块(系统自动)系统内存分块(系统自动)每块装入一页,各块之间可以不连续每块装入一页,各块之间可以不连续123第55页,本讲稿共63页2.2.

36、段页式地址转换机构段页式地址转换机构段表段表段表段表 页表实现地址转换页表实现地址转换页表实现地址转换页表实现地址转换段表:记录每一段段内页表地址段表:记录每一段段内页表地址段表:记录每一段段内页表地址段表:记录每一段段内页表地址240段号段号页表长页表长页表始址页表始址段长段长段内页表段内页表页号页号块号块号0211页号页号块号块号01019220第56页,本讲稿共63页3.3.段页式地址转换过程段页式地址转换过程+物理地址寄存器物理地址寄存器逻辑地址逻辑地址段号段号段内地址段内地址页号页号 页内地址页内地址段表始址段表始址 段表大小段表大小段表寄存器段表寄存器段号段号 页表始址页表始址段表

37、段表页号页号 块号块号页表页表块号块号块内地址块内地址+!段页式也可引入快表!段页式也可引入快表第57页,本讲稿共63页4.4.段页式的优缺点段页式的优缺点优点:优点:缺点:缺点:结合了分页和分段的优点,既有结合了分页和分段的优点,既有效利用了存储器,也符合逻辑习效利用了存储器,也符合逻辑习惯,便于保护、共享。惯,便于保护、共享。由于程序分段,段内分页,造成由于程序分段,段内分页,造成地址转换速度降低,系统结构复地址转换速度降低,系统结构复杂。杂。第58页,本讲稿共63页Windows 的存储管理的存储管理NT使用的页面大小为使用的页面大小为4KB(212)。每个)。每个NT进程地址空间进程地

38、址空间为为4GB(232),其中:),其中:用户存储区:在用户态和核心态都可访问的用户存储区为用户存储区:在用户态和核心态都可访问的用户存储区为2GB;用户存储区为页交换区,可对换到外存;用户存储区的;用户存储区为页交换区,可对换到外存;用户存储区的内容包括:内容包括:专用进程地址空间:用户代码、数据和堆栈;专用进程地址空间:用户代码、数据和堆栈;线程环境块(线程环境块(TEB):用户态代码可修改的线程控制信息;):用户态代码可修改的线程控制信息;进程环境块(进程环境块(PEB):用户态代码可修改的进程控制信息;):用户态代码可修改的进程控制信息;共享用户数据页:系统存储区映像,为用户态可访问

39、的系统空间,目的共享用户数据页:系统存储区映像,为用户态可访问的系统空间,目的在于避免用户态与核心态的频繁切换;如:系统时间。在于避免用户态与核心态的频繁切换;如:系统时间。第59页,本讲稿共63页有效状态有效状态(active or valid):某进程正在使用该页面,也可能不属于任:某进程正在使用该页面,也可能不属于任何进程何进程(如不可对换的内核页面如不可对换的内核页面);过渡状态过渡状态(transition):页面处于不属于任何进程的过渡状态,用于避免页:页面处于不属于任何进程的过渡状态,用于避免页面冲突。如正在进行页面与面冲突。如正在进行页面与I/O设备间的数据传送。设备间的数据传

40、送。清零状态清零状态(zeroed):空闲且已被清零;:空闲且已被清零;空闲状态空闲状态(free):空闲但尚未被清零;:空闲但尚未被清零;修改状态修改状态(modified):已标记为无效,但对该页面内容的修改尚未写入外存,:已标记为无效,但对该页面内容的修改尚未写入外存,可快速回到有效状态;可快速回到有效状态;不保存的修改状态不保存的修改状态(modified no-write):已标记不需要写入外存的修改:已标记不需要写入外存的修改状态。如,该状态可用于状态。如,该状态可用于NTFS的事务交易日志状态的记录过程。的事务交易日志状态的记录过程。备用状态备用状态(standby):已标记为无

41、效,但可快速回到有效状态;:已标记为无效,但可快速回到有效状态;坏页状态坏页状态(bad):该页面产生硬件错,不能再用;:该页面产生硬件错,不能再用;Windows NT和和Windows 2000的页面有的页面有8种状态:种状态:第60页,本讲稿共63页NT使用使用2级页表结构转换虚拟地址,第一级称为页目录(每个级页表结构转换虚拟地址,第一级称为页目录(每个进程一个页目录),第二级称为页表。每个页目录或页表有进程一个页目录),第二级称为页表。每个页目录或页表有1024(210)个表项,每个表项为个表项,每个表项为4字节。由于每个页面为字节。由于每个页面为4KB,每个,每个进程的地址空间可为进

42、程的地址空间可为4GB(210*210*212)。)。第61页,本讲稿共63页作业1.操作系统通过哪些途径提高内存利用率?操作系统通过哪些途径提高内存利用率?2.什么是重定位?静态重定位与动态重定位有何区别什么是重定位?静态重定位与动态重定位有何区别?试比较它们的优缺点。?试比较它们的优缺点。3.什么是离散分配方式?分页存储管理如何实现离散分配什么是离散分配方式?分页存储管理如何实现离散分配?4.设页和块的大小均为设页和块的大小均为32字节,页表内容如下,请计字节,页表内容如下,请计算逻辑地址算逻辑地址100在内存中的物理地址,结合分页式地在内存中的物理地址,结合分页式地址转换机构描述地址转换

43、过程,并阐明怎样实现内存址转换机构描述地址转换过程,并阐明怎样实现内存保护。保护。页号页号块号块号02015521238第62页,本讲稿共63页5.在分页式存储管理基础上实现请求式分页,需要增加哪些在分页式存储管理基础上实现请求式分页,需要增加哪些重要技术?重要技术?6.何谓操作系统的何谓操作系统的“抖动抖动”现象?如何防止现象?如何防止“抖动抖动”现象的产生?现象的产生?7.为什么引入段式存储管理?与页式存储管理有什么区别?为什么引入段式存储管理?与页式存储管理有什么区别?段页式存储管理的利弊?段页式存储管理的利弊?8.设页和块的大小为设页和块的大小为32字节,段页式存储管理的段表字节,段页式存储管理的段表和相应的页表如下,请计算和相应的页表如下,请计算data段地址段地址10和和code段段地址地址60的物理单元地址。的物理单元地址。段名段名段号段号页表长度页表长度 页表始址页表始址data02code13页号页号块号块号0315页号页号块号块号011226第63页,本讲稿共63页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁