操作系统OS04存储管理课件

上传人:我*** 文档编号:143734886 上传时间:2020-09-01 格式:PPT 页数:82 大小:710KB
返回 下载 相关 举报
操作系统OS04存储管理课件_第1页
第1页 / 共82页
操作系统OS04存储管理课件_第2页
第2页 / 共82页
操作系统OS04存储管理课件_第3页
第3页 / 共82页
操作系统OS04存储管理课件_第4页
第4页 / 共82页
操作系统OS04存储管理课件_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《操作系统OS04存储管理课件》由会员分享,可在线阅读,更多相关《操作系统OS04存储管理课件(82页珍藏版)》请在金锄头文库上搜索。

1、2020/9/1,第四章 存储器管理,1,第四章 存储器管理,4.1 存储器管理的功能 4.2 程序的装入与链接 4.3 连续分配方式 4.4 基本分页存储管理方式 4.5 基本分段存储管理方式 4.6 段页式存储管理方式,2020/9/1,第四章 存储器管理,2,第四章 存储器管理,4.7 覆盖技术与交换技术 4.8 虚拟存储技术 4.9 请求分页存储管理方式 4.10 页面置换算法 4.11 请求分段存储管理方式,2020/9/1,第四章 存储器管理,3,4.7 覆盖技术与交换技术,4.7.1 为什么引入? 在多道环境下扩充内存的方法,用以解决在较小的存储空间中运行较大程序时遇到的矛盾。

2、覆盖技术主要用在早期的操作系统中; 交换技术被广泛用于小型分时系统中,交换技术的发展导致了虚存技术的出现。,2020/9/1,第四章 存储器管理,4,交换技术与覆盖技术共同点: 进程的程序和数据主要放在外存,当前需要执行的部分放在内存,内外存之间进行信息交换。,不同点:如何控制交换?,2020/9/1,第四章 存储器管理,5,4.7.2 覆盖技术,把程序划分为若干个功能上相对独立的程序段,按照其自身的逻辑结构将那些不会同时执行的程序段共享同一块内存区域。 程序段先保存在磁盘上,当有关程序段的前一部分执行结束,把后续程序段调入内存,覆盖前面的程序段(内存“扩大”了)。,2020/9/1,第四章

3、存储器管理,6,4.7.2 覆盖技术,覆盖:一个作业的若干程序段,或几个作业的某些部分共享某一个存储空间。 作业内的覆盖 作业间的覆盖 一般要求作业各模块之间有明确的调用结构,程序员要向系统指明覆盖结构,然后由操作系统完成自动覆盖。,A 8K,E 4K,F 10K,C 10K,B 8K,D 12K,作业的调用结构,例:,2020/9/1,第四章 存储器管理,8,缺点: 对用户不透明,增加了用户负担。,分析,应用:目前这一技术用于小型系统中的系统程序的内存管理上,MS-DOS的启动过程中,多次使用覆盖技术;启动之后,用户程序区TPA的高端部分与COMMAND.COM暂驻模块也是一种覆盖结构。,2

4、020/9/1,第四章 存储器管理,9,4.7.3 交换技术,为什么引入交换技术? 当内存空间紧张时,系统将内存中某些进程暂时移到外存,把外存中某些进程换进内存,占据前者所占用的区域,这种技术是进程在内存与外存之间的动态调度。 多用于分时系统中,2020/9/1,第四章 存储器管理,10,交换技术实现中的几个问题,1、选择原则 即:将哪个进程换出内存? 例子:分时系统,时间片轮转法或基于优先数的调度算法,在选择换出进程时,换出要长时间等待的进程。,2020/9/1,第四章 存储器管理,11,2、交换时机的确定,何时需发生交换? 只要不用(或很少再用)就换出; 只在内存空间不够或有不够的危险时换

5、出;,2020/9/1,第四章 存储器管理,12,3、交换时需要做哪些工作?,换出和换入过程,需要一个磁盘交换区: 必须足够大以存放用户程序内存映像的拷贝; 必须对这些内存映像直接存取。,2020/9/1,第四章 存储器管理,13,4、换回内存时位置的确定,换出后再换入的内存位置一定要在换出前的原来位置上吗? 受地址映射技术的影响,即绝对地址产生时机的限制。,2020/9/1,第四章 存储器管理,14,分析,与覆盖技术相比,交换技术不要求用户给出程序段之间的逻辑覆盖结构; 交换主要发生在进程(作业)之间,而覆盖主要发生在同一进程或作业内。 覆盖只能覆盖那些与覆盖段无关的程序段。,2020/9/

6、1,第四章 存储器管理,15,4.8 虚拟存储技术,1、局部性原理 2、虚拟存储的基本原理 3、虚拟存储的实现方法 4、引入虚拟存储技术的好处,2020/9/1,第四章 存储器管理,16,1、局部性原理,局部性原理(principle of locality):指程序在执行过程中的一个较短时期,所执行的指令地址和指令的操作数地址,分别局限于一定区域。,时间局部性:一条指令的一次执行和下次执行,一个数据的一次访问和下次访问都集中在一个较短时期内; 空间局部性:当前指令和邻近的几条指令,当前访问的数据和邻近的数据都集中在一个较小区域内。,2020/9/1,第四章 存储器管理,17,局部性原理的具体

7、体现 程序在执行时,大部分是顺序执行的指令,少部分是转移和过程调用指令。 过程调用使程序的执行由一部分区域转到另一部分区域。过程调用的嵌套深度一般不超过5,因此执行的范围不超过这组嵌套的过程。 程序中存在相当多的循环结构,它们由少量指令组成,而被多次执行。 程序中存在很多对一定数据结构的操作,如数组操作,但往往局限在较小范围内。,2020/9/1,第四章 存储器管理,18,2、虚拟存储的基本原理,在程序装入时,不必将其全部读入到内存,而只需将当前执行需要的部分页或段读入到内存,就可让程序开始执行。 在程序执行过程中,如果需执行的指令或访问的数据未在内存(称为缺页或缺段),则由处理器通知OS将相

8、应的页或段调入到内存,然后继续执行程序。 另一方面,操作系统将内存中暂时不使用的页或段调出保存在外存上,从而腾出空间存放将要装入的程序以及将要调入的页或段。,2020/9/1,第四章 存储器管理,19,虚拟存储器的定义 具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。,2020/9/1,第四章 存储器管理,20,3、虚拟存储的实现方法,请求分页系统 在分页系统的基础上增加请求调页功能和置换功能所形成的页式虚拟存储器系统。 硬件支持:请求分页的页表机制、缺页中断机构、地址变换机构。 软件支持 请求分段系统 请求分段的段表机制、缺段中断机构、地址变换机构,2020/9/1

9、,第四章 存储器管理,21,4、引入虚拟存储技术的好处,大程序:可在较小的可用内存中执行较大的用户程序; 大的用户空间:提供给用户可用的虚拟内存空间通常大于物理内存(real memory) 并发:可在内存中容纳更多程序并发执行; 易于开发:与覆盖技术比较,不必影响编程时的程序结构。,2020/9/1,第四章 存储器管理,22,5、虚拟存储技术的特征,不连续性:物理内存分配的不连续,虚拟地址空间使用的不连续(数据段和栈段之间的空闲空间,共享段和动态链接库占用的空间) 部分交换:与交换技术相比较,虚拟存储的调入和调出是对部分虚拟地址空间进行的; 大空间:通过物理内存和快速外存相结合,提供大范围的

10、虚拟地址空间 总容量不超过物理内存和外存交换区容量之和。,2020/9/1,第四章 存储器管理,23,4.9 请求分页存储管理方式,1、基本思想 在进程开始运行之前,不是装入全部页面,而是装入几个或零个页,之后根据进程运行的需要,动态装入其它页; 当内存空间已满,而又需要装入新的页面时,则根据某种算法淘汰某个页,以便装入新的页。,2020/9/1,第四章 存储器管理,24,2、页表机制,状态位:表示该页是否装入内存; 访问位:此页在一段时间被访问的次数,可用来决定淘汰哪页(由不同的算法决定); 修改位:查看此页是否在内存中被修改过; 外存地址:该页在外存上的位置。,2020/9/1,第四章 存

11、储器管理,26,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,000,0,000,0,000,0,000,0,111,1,000,0,101,1,000,0,000,0,000,0,011,1,100,1,000,1,110,1,001,1,010,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,110,在/不在内存,页表,虚地址 8196,物理地址 24580,0,2020/9/1,第四章 存储器管理,27,3、缺页中断(Page Fault)处理,在地址映射过程中,在页表中发现所要

12、访问的页不在内存,则产生缺页中断。 操作系统接到此中断信号后,就调出缺页中断处理程序,根据页表中给出的外存地址,准备将该页调入内存。 此时应将缺页的进程挂起(调页完成唤醒),2020/9/1,第四章 存储器管理,28,如果内存中有空闲块,则分配一个块,将要调入的页装入该块,并修改页表中相应页表项的状态位及相应的内存块号; 若此时内存中没有空闲块,则要淘汰某页(若被淘汰页在内存期间被修改过,则要将其写回外存)。,2020/9/1,第四章 存储器管理,29,思考,缺页中断同一般中断的区别?,相同点: 都是中断。需要保护现场 中断处理 恢复现场 不同点: 一般中断是一条指令完成后中断,缺页中断是一条

13、指令执行时中断; 一条指令执行时可能产生多个缺页中断。如指令可能访问多个内存地址,这些地址在不同的页中。,2020/9/1,第四章 存储器管理,30,4、地址变换机构,2020/9/1,第四章 存储器管理,32,5、调入策略 (fetch policy),调入策略确定在外存中页面的调入时机。在页式虚拟管理中有两种常用策略。 请求调页(demand paging):只调入发生缺页时所需的页面。 优点:容易实现。 缺点:对外存I/O次数多,开销较大,2020/9/1,第四章 存储器管理,33,预调页(prepaging):在发生缺页需要调入某页时,一次调入该页以及相邻的几个页。 优点:提高调页的I

14、/O效率。 缺点:基于预测,若调入的页在以后很少被访问,则效率低。常用于程序装入时的调页。,2020/9/1,第四章 存储器管理,34,6、调入页面来源(1),进程装入时,将其全部页面复制到交换区,以后总是从交换区调入。 执行时调入速度快。 要求交换区空间较大。,2020/9/1,第四章 存储器管理,35,6、调入页面来源(2),凡是未被修改的页面,都直接从文件区读入,而被置换时不需调出;已被修改的页面,被置换时需调出到交换区,以后从交换区调入。节省交换区空间。 可能引发问题。如:装入可执行文件a从而创建进程P,如果在P执行时,改写了可执行文件a(如重新编译和链接),而此后P发生缺页需要从a中

15、调入页面,则可能会因为各个页面内容无法配合而出错(如Segmentation Fault),2020/9/1,第四章 存储器管理,36,7、分配策略 (assignment policy),最小物理块的确定 最小物理块:能保证进程正常运行所需的最小物理块数。 常驻集resident set:页式虚存管理中给进程分配的物理块数目。 取决于指令的格式、功能和寻址方式。,2020/9/1,第四章 存储器管理,37,7、分配策略 (2),物理块的分配策略 固定分配+局部置换 可变分配+全局置换 可变分配+局部置换,2020/9/1,第四章 存储器管理,38,物理块的分配策略(1) 固定分配+局部置换

16、为每个进程分配固定数目的物理块,在运行期间不变; 缺页时只能从本进程的物理块中选择一个用于换出; 很难确定为每个进程分配多少个物理块。,2020/9/1,第四章 存储器管理,39,物理块的分配策略(2) 可变分配+全局置换 先为每个进程分配一定数目的物理块,OS也保持一个空闲物理块队列,当进程缺页时,由系统从空闲物理块队列中取一个分配给该进程。 当系统空闲物理块队列用完,OS从内存中按某算法选出一页调出,可能任一进程中的页。 最易实现,但会影响到其他页。,2020/9/1,第四章 存储器管理,40,物理块的分配策略(3) 可变分配+局部置换 为每个进程分配一定数目的物理块,当缺页时,只允许从该进程在内存的页面选一页调出。此时,进程的物理块数不变。 如进程在运行中频繁发生缺页中断,则系统会为该进程分配多个附加的物理块,直至缺页率减少到适当程度。此时,进程的物理块会变化。,2020/9/1,第四章 存储器管理,41,物理块的分配算法(固定分配) 平均分配 所有可供分配的物理块平均分配给各进程。 对大进程不利,而小进

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号