操作系统课件:Lecture10 连续存储管理、页式管理

举报
资源描述
Lecture10:存储管理(存储管理(1)目的与要求目的与要求:了解连续存储分配,掌握页式存了解连续存储分配,掌握页式存储管理。储管理。重点与难点:重点与难点:连续可变存储管理;页式存储管连续可变存储管理;页式存储管理。理。概概 述述l计算机的存储体系结构计算机的存储体系结构计算机为什么要使用存储器?计算机为什么要使用存储器?冯冯 诺依曼结构诺依曼结构为什么要进行存储管理?为什么要进行存储管理?存储器一直以来都是较为珍贵的系统资源,需要合理使存储器一直以来都是较为珍贵的系统资源,需要合理使用。用。程序的逻辑空间和实际的物理空间不甚相同,需要进行程序的逻辑空间和实际的物理空间不甚相同,需要进行映射。映射。l存储结构层次存储结构层次访问访问速度速度频度频度成本成本容量容量 概概 述述概概 述述l存储管理的目的存储管理的目的使得用户和用户程序不涉及内存物理的细节。使得用户和用户程序不涉及内存物理的细节。自动完成用户程序的装入。自动完成用户程序的装入。提高内存的利用率。提高内存的利用率。解决内存速度与解决内存速度与CPUCPU速度不匹配的问题。速度不匹配的问题。实现内存共享。实现内存共享。方便使用者,有效利用存储资源,提高系统工作效率方便使用者,有效利用存储资源,提高系统工作效率。概概 述述l存储管理的任务存储管理的任务在现代操作系统中,存储管理的主要任务有以下几在现代操作系统中,存储管理的主要任务有以下几个方面:个方面:地址变换地址变换(地址再定位地址再定位)存储资源的分配和回收存储资源的分配和回收存储共享和保护存储共享和保护存储器扩充存储器扩充覆盖技术覆盖技术交换技术交换技术地址重定位地址重定位l基本概念基本概念程序程序符号地址符号地址/名地址名地址编译编译0101010010110101010101101010目标文件目标文件逻辑地址逻辑地址/相对地址相对地址虚拟地址虚拟地址/程序地址程序地址加载加载内存内存物理地址物理地址/绝对地址绝对地址定义:当程序被装入内存时,程序的逻辑地址被转定义:当程序被装入内存时,程序的逻辑地址被转换成内存的物理地址,这一过程称为地址重定位换成内存的物理地址,这一过程称为地址重定位(由由内存管理单元内存管理单元(MMU)(MMU)完成完成)。地址重定位地址重定位l常见的地址重定位技术常见的地址重定位技术绝对装入绝对装入(Absolute loading)/(Absolute loading)/固定地址再定位固定地址再定位(编译时)编译时)程序的地址再定位是在程序执行之前被确定的,也就是在编程序的地址再定位是在程序执行之前被确定的,也就是在编译连接时直接生成实际存储器地址译连接时直接生成实际存储器地址(物理地址物理地址)。在此,程序。在此,程序地址空间和内存地址空间是一一对应的。地址空间和内存地址空间是一一对应的。优点优点:装入过程简单。:装入过程简单。缺点:缺点:与硬件的结构过于密切,与硬件的结构过于密切,缺乏灵活性。缺乏灵活性。0101010010110101010101101010目标文件目标文件加载加载内存内存逻辑地址逻辑地址物理地址物理地址一一对应一一对应例如:单片机,例如:单片机,MS-DOS中中.com格式程序。格式程序。地址重定位地址重定位可重定位装入可重定位装入(Relocatable Loading)(Relocatable Loading)即指程序装入内存时,由于程序的逻辑地址和物理地址不一即指程序装入内存时,由于程序的逻辑地址和物理地址不一致,由逻辑地址到物理地址的映射过程。致,由逻辑地址到物理地址的映射过程。分类分类静态重定位:指地址定位时修改程序的逻辑地址值,完成定位后,在程序的静态重定位:指地址定位时修改程序的逻辑地址值,完成定位后,在程序的执行期间地址将不再发生变化。特点:在程序执行之前进行地址再定位。执行期间地址将不再发生变化。特点:在程序执行之前进行地址再定位。(装入内存时)(装入内存时)优点:优点:无需硬件支持,容易实现。早无需硬件支持,容易实现。早期的操作系统中大多数都采用这期的操作系统中大多数都采用这种方法。种方法。缺点:缺点:必须分配连续的存储区域;执必须分配连续的存储区域;执行期间不能扩充存储空间,也不行期间不能扩充存储空间,也不能在内存中移动,内存利用率低,能在内存中移动,内存利用率低,不便于共享。不便于共享。地址重定位地址重定位动态重定位:程序在装入内存时,不修改程序的逻辑地址值,动态重定位:程序在装入内存时,不修改程序的逻辑地址值,程序在访问物理内存之前,再实时地将逻辑地址转换成物理程序在访问物理内存之前,再实时地将逻辑地址转换成物理地址。地址。(执行时)(执行时)BR:BR:基址寄存器,存放程序的起始地址基址寄存器,存放程序的起始地址VR:VR:变址寄存器,存放需要变换变址寄存器,存放需要变换的逻辑地址的逻辑地址地址重定位地址重定位优点:优点:u程序在执行期间可以换入和换出内存,可以解程序在执行期间可以换入和换出内存,可以解决内存紧张状态;决内存紧张状态;u可以在内存中移动可以在内存中移动把内存中的碎片集中起把内存中的碎片集中起来,可以充分利用空间;来,可以充分利用空间;u不必给程序分配连续的内存空间,可以较好的不必给程序分配连续的内存空间,可以较好的利用较小的内存块;利用较小的内存块;u若干用户可以共享同一程序,实现共享。若干用户可以共享同一程序,实现共享。缺点:缺点:需要附加的硬件支持,实现存储管理的软件算法需要附加的硬件支持,实现存储管理的软件算法 比较复杂。比较复杂。分区存储管理方案分区存储管理方案l存储管理方案分类存储管理方案分类从操作系统的发展历史来看,存储管理主要有以下从操作系统的发展历史来看,存储管理主要有以下几种方案:几种方案:分区存储管理方案。要求连续分配存储空间,且程序要分区存储管理方案。要求连续分配存储空间,且程序要一次性全部装入内存。简单,但是有比较严重的一次性全部装入内存。简单,但是有比较严重的内部碎内部碎块块和和外部碎块外部碎块。段式存储管理方案。不要求连续分配存储空间,段和段段式存储管理方案。不要求连续分配存储空间,段和段之间可以不连续,但程序需要一次性全部装入内存。有之间可以不连续,但程序需要一次性全部装入内存。有比较严重的比较严重的外部碎块外部碎块。分区存储管理方案分区存储管理方案页式存储管理方案。是一种不连续存储管理方案,页式存储管理方案。是一种不连续存储管理方案,也需要一次性全部装入内存。在逻辑地址空间和物也需要一次性全部装入内存。在逻辑地址空间和物理地址空间都采用分页的思想。缺点是每一个作业理地址空间都采用分页的思想。缺点是每一个作业的最后一页有的最后一页有内部碎块内部碎块。段页式存储管理方案。是一种不连续存储方案,段段页式存储管理方案。是一种不连续存储方案,段式存储管理和页式存储管理的结合。克服了纯分页式存储管理和页式存储管理的结合。克服了纯分页和纯分段存储管理思想的缺点。和纯分段存储管理思想的缺点。交换技术和覆盖技术。交换技术和覆盖技术。虚拟存储管理方案。虚拟存储管理方案。分区存储管理方案分区存储管理方案l分区存储管理(连续存储管理):分区存储管理(连续存储管理):是一种连续分配存储空间的管理方式。曾被广泛地是一种连续分配存储空间的管理方式。曾被广泛地应用于应用于1960196019701970年代的操作系统中。年代的操作系统中。思想:把内存分为一些大小相等或不等的分区思想:把内存分为一些大小相等或不等的分区(Partition)(Partition),装入时每个应用程序占用一个或几个分,装入时每个应用程序占用一个或几个分区,操作系统占用其中一个分区。适用于多道程序区,操作系统占用其中一个分区。适用于多道程序系统和分时系统,支持多个程序并发执行。系统和分时系统,支持多个程序并发执行。分类分类单一连续分区存储管理单一连续分区存储管理固定分区管理固定分区管理可变分区管理可变分区管理分区存储管理方案分区存储管理方案l单一连续分区存储管理单一连续分区存储管理内存空间划分与保护内存空间划分与保护操作系统操作系统用户程序用户程序0 0a aa+1a+1n n界地址寄存器界地址寄存器界地址寄存器界地址寄存器主存主存A a?A a?cpucputruetruefalsefalse地址地址A A报异常,终止程序运行报异常,终止程序运行越界检查机制:越界检查机制:当用户态时每次执行访存指令,当用户态时每次执行访存指令,硬件越界检查机构将访问的地址与界地址寄存硬件越界检查机构将访问的地址与界地址寄存器中的值比较。若越界,则终止其执行。器中的值比较。若越界,则终止其执行。l单一连续分区存储管理单一连续分区存储管理特点:特点:一次只能装入一个程序,程序独占整个用户一次只能装入一个程序,程序独占整个用户区,如果程序小于用户区,则剩余的空间浪费,如果区,如果程序小于用户区,则剩余的空间浪费,如果大于,则无法装入。大于,则无法装入。优点:优点:简单,适用于单用户、单任务的操作系统,不简单,适用于单用户、单任务的操作系统,不需要复杂的硬件支持。需要复杂的硬件支持。缺点:缺点:一个作业运行时要占用整个内存地址空间,对一个作业运行时要占用整个内存地址空间,对内存造成了很大的浪费,不支持大作业。内存造成了很大的浪费,不支持大作业。分区存储管理方案分区存储管理方案l固定分区管理固定分区管理支持多道程序技术支持多道程序技术实现方法:实现方法:初始化内存空间初始化内存空间分区状态表分区状态表 程序程序A(30K)程序程序A已分配已分配内碎片:指占用分区之内未被内碎片:指占用分区之内未被利用的空间。利用的空间。1.1.上下界寄存器和地址检查机制。上下界寄存器和地址检查机制。当作业被调度运行当作业被调度运行时,作业在内存中的上下界地址送上下界寄存器,在时,作业在内存中的上下界地址送上下界寄存器,在用户态每次执行访存指令时,地址检查机构作越界检用户态每次执行访存指令时,地址检查机构作越界检查。作业程序要是查。作业程序要是绝对地址或静态可浮动的绝对地址或静态可浮动的。CPUCPU主存主存下界寄存器下界寄存器上界寄存器上界寄存器 TrueTrueTrueTrue地址地址A AF F F F程序性异常程序性异常地址访问保护有两种方式:地址访问保护有两种方式:2.2.基址寄存器、长度寄存器和动态地址转换机制。基址寄存器、长度寄存器和动态地址转换机制。当作业被调度运行时,将作业所占内存基址及长度当作业被调度运行时,将作业所占内存基址及长度送基址、长度寄存器,在用户态每次执行访存指令送基址、长度寄存器,在用户态每次执行访存指令时,先看访问地址是否小于长度,然后时,先看访问地址是否小于长度,然后+基址进行基址进行访存。用户程序代码是访存。用户程序代码是动态浮动动态浮动的。的。CPUCPU主存主存基地址寄存器基地址寄存器长度寄存器长度寄存器+TrueTrue地址地址A AF F程序性异常程序性异常分区存储管理方案分区存储管理方案特点:特点:内存中同时可以容纳多道程序;内存中同时可以容纳多道程序;程序必须连续存放,且要一次全部装入。程序必须连续存放,且要一次全部装入。优点:优点:比单一连续分配方法,内存的利用率提高了;比单一连续分配方法,内存的利用率提高了;可以支持多道程序;可以支持多道程序;实现简单,开销小。实现简单,开销小。缺点:缺点:作业必须预先能够估计自己要占用多大的内存空间,有作业必须预先能够估计自己要占用多大的内存空间,有时候这是难以做到的;时候这是难以做到的;存在内碎片,造成存储空间的浪费;存在内碎片,造成存储空间的浪费;分区总数固定,限制了并发执行的程序数目。分区总数固定,限制了并发执行的程序数目。作业存储调度作业存储调度OS4k6k12kOS4k6k12k.7k3k4k5k.3k4k1k2k.5k6k.7k10k11k8k多多队队列列法法单单队队列列法法存储碎片存储碎片 内部碎片:内部碎片:内存某存储区间大于其存放作业空间的内存某存储
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关资源
正为您匹配相似的精品文档
相关搜索

当前位置:首页 > 中学教育 > 初中教育


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