操作系统ppt课件第5章内存管理.ppt
《操作系统ppt课件第5章内存管理.ppt》由会员分享,可在线阅读,更多相关《操作系统ppt课件第5章内存管理.ppt(108页珍藏版)》请在三一办公上搜索。
1、1,计算机操作系统,第5章 内存管理,2,内容,5.1 概述5.2 存储管理的基本技术 5.3 分页存储管理 5.4 分段存储管理5.5 段页式存储管理 5.6 虚拟内存的置换算法,3,5.1 概述,1)、基本概念存储器的层次结构地址逻辑地址与物理地址程序的链接和装入地址转换(重定位)2)、内存管理要解决的问题内存空间分配地址转换和重定位存储扩充存储保护和主存共享3)虚拟存储器,4,5.1.1基本概念,1)存储器的层次结构:任何一种存储装置,都无法同时从速度与容量两方面,满足用户的需求。它们组成了一个速度由快到慢,容量由小到大的存储装置层次。由操作系统协调这些存储器的使用,5,地址,主存的最小
2、单位是“位”主存对存储位置进行编号,这些编号称为“地址”,最小的编址单位是“字节”,一般包含八个“位”地址空间程序用来访问信息所用地址单元的集合,6,逻辑地址与物理地址,逻辑地址(相对地址,虚地址):用户的程序经过汇编或编译后,形成目标代码,目标代码通常采用相对地址的形式,其首地址为0,其余指令中的地址都相对于首地址而编址。物理地址(绝对地址,实地址)内存中存储单元的地址,可直接寻址,7,程序的链接和装入,8,地址转换,把作业地址空间中使用的逻辑地址,变换成为-内存空间中的物理地址的过程。又称地址映射,重定位程序地址如果不反映其真实的存储位置,就不可能得到正确的执行但在多道程序设计环境下,用户
3、无法事先约定各自占用内存的哪个区域,也不知道自己的程序会放在内存的什么位置,,P135 5.1.3 重定位,9,静态重定位,当用户程序被装入内存时,一次性实现逻辑地址到物理地址的转换,以后不再转换,动态,10,动态重定位,动态重定位:动态重定位在指令执行过程中,每次访问内存前动态地进行地址转换。,静态重定位:当用户程序被装入内存时,一次性实现逻辑地址到物理地址的转换,以后不再转换,11,动态重定位,在程序运行过程中要访问数据时再进行地址变换。由地址变换机构进行的地址变换,硬件上需要重定位寄存器的支持。,静态,12,2)、主存管理要解决的问题P119,内存空间管理当用户需要内存时,系统为之分配相
4、应的存储空间;不需要时,及时回收,以供其它用户使用。记录内存的使用情况:设置相应的内存分配表 内存空间划分问题?静态或动态,等长或不等长。确定分配算法地址转换(重定位)把逻辑地址转换为相应的物理地址的过程,13,2)、主存管理要解决的问题,存储扩充用户在编制程序时,不应该受内存容量限制,所以要采用一定技术来“扩充”内存的容量,使用户得到比实际内存容量大的多的内存空间。存储保护和主存共享为多个程序共享内存提供保障,使在内存中的各道程序,只能访问它自己的区域,避免各道程序间相互干扰,特别是当一道程序发生错误时,不致于影响其他程序的运行,先考虑问题1、2、4;最后考虑问题3,14,5.1.2 虚拟存
5、储器,虚拟存储器是具有请求调入和交换功能、能从逻辑上对内存容量进行扩充、给用户提供了一个比真实的内存空间大得多的地址空间,在作业运行前可以只将一部分装入内存便可运行的、以逻辑方式存在的存储器。实质上是让程序的访问地址,和内存的可用地址相脱离。特性:虚拟性,还有离散性、多次性和交换性等。,15,内容,5.1 概述5.2 存储管理的基本技术 5.3 分页存储管理 5.4 分段存储管理5.5 段页式存储管理 5.6 虚拟内存的置换算法,16,5.2 存储管理的基本技术,最基本的4种存储管理技术:分区法、可重定位分区法、覆盖技术、交换技术。,17,5.2.1 分区法,最简单。基本原理:给每一个内存中的
6、进程,划分一块适当大小的存储块,以连续存储。管理方式:固定分区动态分区(可变分区)回顾内存管理的3/4个问题,18,5.2.1 分区法,1.固定分区法 主存分成若干个固定大小的连续区域(存储块)每个存储区分给某一个作业使用,分区长度和个数不变。简单,内存利用率不高。,19,分区说明表,记录存储分区情况及存储区使用状况的信息,分区的碎片:分区内没有使用的剩下的部分,大大的问题:有资源但没法使用,20,5.2.1 分区法,2.动态分区法 根据进程的实际需要,动态地为它分配连续的内存空间。各个分区是在相应作业装入内存时建立的,其大小恰好等于作业的大小。系统中设置了相应的数据结构,来记录内存的使用情况
7、:有空闲分区表空闲分区链,21,动态分区法,固定分区法,22,OS,312K,318K,333K,369K,512K,(6K),进程C(36K),进程B(25K),固定分区法,动态分区法,23,存储分配算法,(1)最佳适应法 挑选最接近作业尺寸且大于或等于作业大小的分区,从而使分区内未用部分(又称碎片)浪费的最少。(2)最先适应法 即按分区序号最先找到的且大于或等于作业大小的未分配分区,分给要求的作业。着眼点是在于缩短查找时间。(3)最坏适应法 挑选最大的且大于和等于作业大小的分区分给要求的作业。为什么?,24,算法的利弊,最佳适应算法:尽量多保留些大的分区,使被选中分区剩下尽可能小的未用碎片
8、。但也正是这种做法使得系统中产生了许多小得无法再用的碎片。最先适应算法:尽可能缩短存储分配时间。为此目的许多设计者不但在算法上想办法,而且对空闲块的管理上也采取了不同方法。最坏适应算法:保证分配后剩下的分区足够大,以便满足后续要求。,25,碎片大大的问题:有资源但没法使用,内存碎片:由于各作业请求和释放主存块的结果,会导致内存中经常出现大量分散的小空闲区。内存中这种容量太小,无法被利用的小分区称为碎片。内碎片 固定分区中外碎片 可变分区中问题:减少了内存中作业的并发数内存浪费、利用率低存储分配和释放速度慢解决方法,26,方法1:把小碎片合并起来使之成为一个大分区。实现方法:移动各用户分区中的程
9、序,使他们集中于主存的一端(顶部或底部),而使碎片集中于另一端,从而连成一个完整的大分区,这种技术通常称为存储器的“紧凑”。方法2:把程序分成几部分装入不同的分区中去,也就是改变程序连续存放的要求。实现方法:分页、分段等存储管理技术。,碎片问题的解决办法,27,5.2.2 可重定位分区法,解决碎片问题引出的新问题:在找不到足够大的空闲分区来满足用户需求时,进行紧凑处理,用户程序需要在主存中移动。程序移动后会无法正确执行(为什么?),用户程序(60K),28,解决方法(程序移动后会无法正确执行),回顾原来地址转换的方法:当用户程序被装入内存时,一次性实现逻辑地址到物理地址的转换,以后不再转换。无
10、法确定何时发生程序移动,移动到何处。所以不能预先转换地址 在执行指令的时候进行地址转换(动态重定位),29,5.2.2 可重定位分区法,动态分区加动态重定位 实现过程,需要额外硬件 作业3大小为24KB,被装入起始地址为64KB的内存空间,30,5.2.3 覆盖技术,早期,当程序的长度大于内存的容量,怎么办?,部分装入!覆盖、交换!对主存进行了逻辑扩充,覆盖技术,是在多道环境下扩充内存的方法,用以解决在较小的存储空间中,运行较大程序时遇到的矛盾。在程序运行过程中,把同一存储区,在不同时刻,分配给不同的程序段或数据段来共享。缺点是,程序员必须小心地设计程序及其数据结构,使得要覆盖的段块具有相对独
11、立性,不存在直接联系或相互交叉访问。,31,覆盖技术,32,5.2.4 交换技术,交换是指将一个进程从内存拷贝到磁盘上,以腾出空间给其他进程使用。需要时,再将该进程调入内存。由换出和换进两个过程组成,换出是把内存中的数据和程序,换到外存的交换区,换进则是把外存交换区中的数据和程序,换到内存的分区中。在交换系统中,交换所占用的时间相当多。,33,交换与覆盖 比较,都是解决大作业与小主存矛盾的存贮管理技术,实质上是对主存进行了逻辑扩充。交换技术不要求用户给出程序段之间的逻辑覆盖结构;交换发生在进程或作业之间,而覆盖发生在同一进程或作业内。覆盖只能覆盖那些与覆盖段无关的程序段,34,小结,基本概念地
12、址、逻辑地址与物理地址、程序的链接和装入地址转换(重定位)内存管理要解决的问题1,内存空间管理2,地址转换(重定位)3,存储扩充4,存储保护和主存共享最基本的4种存储管理技术:分区法:固定分区、可变分区、内存碎片及解决方法可重定位分区法:程序移动带来的问题、动态重定位覆盖技术、交换技术,35,内容,5.1 概述5.2 存储管理的基本技术 5.3 分页存储管理 5.4 分段存储管理5.5 段页式存储管理 5.6 虚拟内存的置换算法,36,5.3 分页存储管理,碎片问题的解决方法1:紧凑技术可重定位分区法让储存器去适应程序对连续性的要求。碎片问题的解决方法2:把程序分成几部分,装入不同的分区中去,
13、也就是改变程序连续存放的要求。分页管理允许程序的存储空间是不连续的,用户程序的地址空间,被划分为若干个固定大小的区域。,37,5.3.1 基本概念 分页的基本思想,1)、主存空间划分物理块(页框、页架):把主存划分成相同大小的存储块;物理块号:各物理块从0开始依次编号,称为页架号。2)、逻辑地址空间划分页(页面):把用户的逻辑地址空间按照物理块大小,划分成若干个页面;页号:各页从0开始依次编号,称为页号(逻辑页号);页内地址:将逻辑页面中的所有单元从0开始依次编址。如此划分后,可将任一页放在内存的任一块中(有什么好处?),38,3)、逻辑地址的表示划分后逻辑地址由两部分组成:可用一个数对(p,
14、d)来表示;若给定一个逻辑地址A,页面大小为L;则 p=INTA/L,d=A MOD L4)、主存分配 分配主存时,以页架为单位,按用户程序的页数进行分配;逻辑上相邻的页在主存中不一定相邻。,5.3.1 基本概念 分页的基本思想,39,逻辑地址A为1005H,页的大小L为1024Byte,则A的页号、页内地址:A=1005H=4096+5=212+22+20,L=1024=210。,例:划分后逻辑地址,40,5.3.1 基本概念 页表,2.页表数据结构 每个进程都有自己的页面映象表,简称页表,页表中包含每个帧的基址及相应的页号。页表的作用是实现从页号到物理块号的地址映射。页表的表项中常设置一存
15、取控制字段,用于对该存储块中的内容进行保护。如果要利用分页系统去实现虚拟存储器,还需要增加另外的数据项。,41,例:页表,页表:由页号和页面号组成,指出逻辑地址中页号与主存中块号(页架号)的对应关系,42,5.3.1 基本概念 地址转换,3.分页系统中的地址转换 地址转换机构,就是将逻辑地址中的页号,转换为内存中的物理块号。地址转换任务是借助于页表来完成的,有时也把页表称为地址变换表或地址映像表。,43,5.3.1 基本概念(1)基本的地址转换P129,(1)地址转换机制把CPU给出的逻辑地址分为两部分:页号p和页内地址d;(2)将逻辑页号p与页表长度寄存器的内容比较,则为越界;(3)根据页表
16、地址B得到页表在内存的首地址,并根据逻辑页号p在页表中找到对应的页架号p;(4)把页架号p与逻辑地址中的页内地址d合并成为物理地址。,44,缺点,页表放在主存中系统表格区,导致:增加了系统在存储上的花销,降低了CPU的访问速度。每次对某一地址的访问,首先要访问内存中的页表,形成绝对地址后,才能进行所需要的真正访问。要两次访问内存储器才能实现,处理机执行速度降低50%。,45,页表大小,主存页架数N 主存大小/页大小例:128M的物理内存,每页4k 主存页架数N 128M/4K 32 kilo进程页表表目数 虚拟地址空间/页大小 32位虚拟地址空间 232,每页4k,有220 表目占4byte,
17、则页表 220 X 4byte 4MB,46,多级页表地址转换,对页表本身也采取分页措施:把页表本身分成页面,每个页面中存放n个页表表目,设置一个页表目录管理小页表。解决了页表非常大的问题但是,增加一级页表,增加一次访存次数。,47,快表,为了提高地址的转换速度,用一组快速的硬件寄存器构成页表。TLB(Translation Lookaside Buffers)硬件把页号与寄存器组中所有的表项同时并行比较,立即输出与该页号匹配的块号。这种做法无须访问内存,并且通过硬件并行匹配直接完成地址的变换,因此速度是极快的。由于快速寄存器价格昂贵,因此完全由它来组成页表的方案是不可取的。大多数程序在一次调
18、度运行时,倾向于在少数页面中进行频繁的访问(这被称为程序的“局部性”原理),内存页表与快速寄存器组相结合,48,例,如果查找快表花费的时间是50ns,访问内存的时间是750ns,页号在快表:存取时间为50+750=800ns页号在慢表:存取时间为750+750=1500ns命中率为90%存取时间为0.9*800+0.1*1500=870ns命中率为97%存取时间为0.97*800+0.03*1500=821ns时间延迟命中率为90%(870-750)/750=16%命中率为97%(821-750)/750=9.5%,49,5.3.1 基本概念,(2)快表的地址转换,50,5.3.2 纯分页系统
19、(静态页式),纯分页系统是指作业运行时,该作业所有的页必须一次全部装入,如果没有足够的内存则拒绝运行该作业。纯分页系统的地址转换过程如下:,N,51,5.3.3 请求式(动态)分页系统,请求式分页系统是目前常用的一种实现虚拟存储器的方式。其基本思想是:作业请求运行时,只把当前需要的一部分页面装入内存,当用到不在内存中的页面时从辅存中调入;如果内存中没有空闲块,则按某种算法从内存中选择一些页交换到辅存,并调入所需的页面到内存。在请求式分页系统中,其地址转换类似于纯分页系统的地址转换,如果访问的页已在内存中,则与纯分页系统的地址转换过程类似;如果发生缺页,通常的作法是由硬件发出中断信号,再由操作系
20、统的相应软件负责调入其所缺的页面。,52,5.3.4 硬件支持及缺页处理,为了实现请求式分页,系统必须有一定的硬件支持,这包括:页表、快表硬件设施,内存管理单元(完成地址转换的任务),当出现缺页时,在硬件方面,还须增加缺页中断响应机构。,53,5.3.4 硬件支持及缺页处理,1.页表 分页系统中的从逻辑地址到物理地址的转换是通过页表来实现的。页表是数组,每一表目对应进程中的一个虚页,页表表目通常为32位,它不仅包含该页在内存的基地址,还包含有页面、内存块号、改变位、状态位、引用位和保护权限等信息。,54,5.3.4 硬件支持及缺页处理,2.快表快表是为了加快地址转换速度而使用的一个联想高速缓存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 ppt 课件 内存 管理
链接地址:https://www.31ppt.com/p-2156910.html