欢迎来到163文库! | 帮助中心 精品课件PPT、教案、教学设计、试题试卷、教学素材分享与下载!
163文库
全部分类
  • 办公、行业>
  • 幼教>
  • 小学>
  • 初中>
  • 高中>
  • 中职>
  • 大学>
  • 各类题库>
  • ImageVerifierCode 换一换
    首页 163文库 > 资源分类 > PPTX文档下载
    分享到微信 分享到微博 分享到QQ空间

    《操作系统原理》课件第五章存储管理.pptx

    • 文档编号:5841999       资源大小:1.75MB        全文页数:255页
    • 资源格式: PPTX        下载积分:15文币     交易提醒:下载本文档,15文币将自动转入上传用户(momomo)的账号。
    微信登录下载
    快捷注册下载 游客一键下载
    账号登录下载
    二维码
    微信扫一扫登录
    下载资源需要15文币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    优惠套餐(点此详情)
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、试题类文档,标题没说有答案的,则无答案。带答案试题资料的主观题可能无答案。PPT文档的音视频可能无法播放。请谨慎下单,否则不予退换。
    3、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者搜狗浏览器、谷歌浏览器下载即可。。

    《操作系统原理》课件第五章存储管理.pptx

    1、第五章第五章 存储管理(内存管理)存储管理(内存管理)5.1 存储管理功能存储管理功能5.2 分区存储管理分区存储管理5.3 覆盖和交换技术覆盖和交换技术5.4 页式管理(重点)页式管理(重点)第五章第五章 存储管理(内存管理)存储管理(内存管理)5.5 段式与段页式管理段式与段页式管理(重点)(重点)5.6 局部性原理和抖动问题局部性原理和抖动问题(重点)(重点)其中,其中,分区、页式和段式管理分区、页式和段式管理是三大存储管理方式是三大存储管理方式5.1 5.1 存储管理的主要功能存储管理的主要功能存储管理是指存储器资源(主要指内存)的管理存储管理是指存储器资源(主要指内存)的管理。1、主

    2、要功能主要功能(1)虚拟地址的实现)虚拟地址的实现(2)存储器资源的组织(如内存的组织方式)存储器资源的组织(如内存的组织方式)(3)内外存数据传输的控制)内外存数据传输的控制5.1 5.1 存储管理的主要功能存储管理的主要功能1、主要功能主要功能(4)地址变换(逻辑地址与物理地址的对应关系维护)地址变换(逻辑地址与物理地址的对应关系维护)(5)内存的分配与释放算法)内存的分配与释放算法(6)虚拟存储的调度算法)虚拟存储的调度算法(7)内存数据的保护与共享)内存数据的保护与共享2 2、存储管理的主要目标、存储管理的主要目标(1)充分利用内存,为多道程序并发执行提供存储基础;)充分利用内存,为多

    3、道程序并发执行提供存储基础;(2)尽可能方便用户使用、自动装入用户程序、用户程序)尽可能方便用户使用、自动装入用户程序、用户程序中不必考虑硬件细节;中不必考虑硬件细节;(3)系统能够解决程序空间比实际内存空间大的问题;)系统能够解决程序空间比实际内存空间大的问题;5.1 存储管理的主要功能存储管理的主要功能(4)程序在执行时可以动态伸缩)程序在执行时可以动态伸缩;(5)内存存取速度快,存储保护与安全)内存存取速度快,存储保护与安全;(6)共享与通信,了解有关资源的使用状况。)共享与通信,了解有关资源的使用状况。2 2、存储管理的主要目标、存储管理的主要目标5.1 5.1 存储管理的主要功能存储

    4、管理的主要功能5.1.1 5.1.1 存储组织存储组织1、存储器的发展方向:高速、大容量和小体积。存储器的发展方向:高速、大容量和小体积。内存在访问速度方面的发展:内存在访问速度方面的发展:DRAM、SDRAM(synchronous dynamic random-access memory)、SRAM等;等;硬盘技术在大容量方面的发展:接口标准、存储密度等。硬盘技术在大容量方面的发展:接口标准、存储密度等。5.1.1 5.1.1 存储组织存储组织2、存储组织:指在存储技术和存储组织:指在存储技术和CPU寻址技术许可的范围内寻址技术许可的范围内组织合理的存储结构。组织合理的存储结构。其依据是访

    5、问速度匹配关系、容量要求和价格;其依据是访问速度匹配关系、容量要求和价格;“寄存器寄存器-内存内存-外存外存”结构;结构;“寄存器寄存器-缓存缓存-内存内存-外存外存”结构。结构。3 3、存储层次结构存储层次结构5.1.1 5.1.1 存储组织存储组织(1)快速缓存:快速缓存:Data Cache TLB(Translation Lookaside Buffer)(2)内存:内存:DRAM,SDRAM等;等;(3)外存:硬盘、光盘、磁带等;外存:硬盘、光盘、磁带等;5.1.1 5.1.1 存储组织存储组织3、存储层次结构存储层次结构5.1.2 5.1.2 存储管理的功能存储管理的功能1 1、存

    6、储分配和回收存储分配和回收 分配和回收算法及相应的数据结构:通过建表、查表、分配和回收算法及相应的数据结构:通过建表、查表、改表和回收内存使用情况,系统或用户申请内存时按选改表和回收内存使用情况,系统或用户申请内存时按选定分配算法确定分区等定分配算法确定分区等。5.1.2 5.1.2 存储管理的功能存储管理的功能2、地址变换:逻辑地址向物理地址的变换地址变换:逻辑地址向物理地址的变换(1)可执行文件生成中的链接技术;)可执行文件生成中的链接技术;(2)程序加载时的重定位技术;)程序加载时的重定位技术;(3)进程运行时硬件和软件的地址变换技术和机构;)进程运行时硬件和软件的地址变换技术和机构;5

    7、.1.2 5.1.2 存储管理的功能存储管理的功能3、存储共享和保护存储共享和保护 各进程只在自己所属区域中运行,不破坏别的进程各进程只在自己所属区域中运行,不破坏别的进程以及不被破坏、代码和数据共享、地址空间访问权限以及不被破坏、代码和数据共享、地址空间访问权限(读、写、执行)(读、写、执行)5.1.2 5.1.2 存储管理的功能存储管理的功能4 4、存储器扩充(虚拟存储技术)存储器扩充(虚拟存储技术)使用虚存或自动复盖技术提供比实际内存更大的空间使用虚存或自动复盖技术提供比实际内存更大的空间5.1.2 5.1.2 存储管理的功能存储管理的功能5、存储器的逻辑组织和物理组织存储器的逻辑组织和

    8、物理组织(1)由应用程序控制:覆盖;)由应用程序控制:覆盖;(2)由)由OS控制:交换(整个进程空间),虚拟存储的控制:交换(整个进程空间),虚拟存储的请求调入和预调入(部分进程空间)请求调入和预调入(部分进程空间)5.1.3 5.1.3 重定位方法(地址变换)重定位方法(地址变换)1、为什么要重定位?、为什么要重定位?(1)定义)定义(2)如何重定位?)如何重定位?(3)方式)方式 2.2.逻辑地址、物理地址和地址映射逻辑地址、物理地址和地址映射逻辑地址逻辑地址(虚地址):用户的程序经过汇编或编译后形成(虚地址):用户的程序经过汇编或编译后形成目标代码,目标代码采用逻辑地址的形式。目标代码,

    9、目标代码采用逻辑地址的形式。(1)其首地址为)其首地址为0,其余指令中的地址都相对于首地址来,其余指令中的地址都相对于首地址来编址;编址;(2)不能用逻辑地址在内存中读取信息。)不能用逻辑地址在内存中读取信息。5.1.3 5.1.3 重定位方法(地址变换)重定位方法(地址变换)2.2.逻辑地址、物理地址和地址映射逻辑地址、物理地址和地址映射 物理地址物理地址(实地址):内存中存储单元的地址。物理地址(实地址):内存中存储单元的地址。物理地址可直接寻址。可直接寻址。5.1.3 5.1.3 重定位方法(地址变换)重定位方法(地址变换)2.2.逻辑地址、物理地址和地址映射逻辑地址、物理地址和地址映射

    10、地址映射地址映射:将用户程序中的逻辑地址转换为运行时由机器:将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址。直接寻址的物理地址。5.1.3 5.1.3 重定位方法(地址变换)重定位方法(地址变换)把逻辑地址转换成物理地址称为()。地址分配A地址映射B地址保护C地址越界D提交单选题1分2.2.逻辑地址、物理地址和地址映射逻辑地址、物理地址和地址映射当程序装入内存时当程序装入内存时,操作系统要为该程序分配一个合适操作系统要为该程序分配一个合适的内存空间,由于程序的逻辑地址与分配到内存物理的内存空间,由于程序的逻辑地址与分配到内存物理地址不一致地址不一致,而而CPUCPU执行指令时,是按

    11、物理地址进行的,执行指令时,是按物理地址进行的,所以要进行地址转换。所以要进行地址转换。5.1.3 5.1.3 重定位方法(地址变换)重定位方法(地址变换)Load A,data13456源程序源程序Load A,2003456逻辑地址空间逻辑地址空间Load A,2003456物理地址空间物理地址空间编译链接编译链接地址映射地址映射BA1000 120010020002 2、逻辑地址、物理地址和地址映射逻辑地址、物理地址和地址映射Data1Load A,2003456逻辑地址空间逻辑地址空间物理地址空间物理地址空间001002003001100 12001300VR200BR10002.2.

    12、逻辑地址、物理地址和地址映射逻辑地址、物理地址和地址映射3 3、地址变换图、地址变换图图图5.1地址变换与物理存储器地址变换与物理存储器5.1.3 5.1.3 重定位方法(地址变换)重定位方法(地址变换)4 4、虚拟空间(逻辑地址)划分、虚拟空间(逻辑地址)划分图图5.2 虚拟空间的划分虚拟空间的划分逻辑地址最大空间大小由逻辑地址最大空间大小由CPUCPU字长决定字长决定5.1.3 5.1.3 重定位方法(地址变换)重定位方法(地址变换)CPU 64CPU 64位位 虚拟地址空间虚拟地址空间 虚拟地址只使用了虚拟地址只使用了48位,使用位,使用12位位16进制表示,进制表示,48位地址长度也就

    13、位地址长度也就是对应了是对应了256TB的地址空间。的地址空间。n在在Linux下有效的地址区间是从下有效的地址区间是从 0 x00000000 00000000 0 x00007FFF FFFFFFFF 还有还有 0 xFFFF8000 00000000 0 xFFFFFFFF FFFFFFFF 两个地址区间。而每个地址区间都有两个地址区间。而每个地址区间都有128TB的地址空间可以使用,所以总共是的地址空间可以使用,所以总共是256TB的可用空间。的可用空间。5 5、重定位、重定位(1 1)重定位定义重定位定义 在可执行文件装入时需要解决可执行文件中地址(指令和在可执行文件装入时需要解决可

    14、执行文件中地址(指令和数据)和内存地址的对应。由操作系统中的数据)和内存地址的对应。由操作系统中的装入程序装入程序loaderloader来完成。来完成。5.1.3 5.1.3 重定位方法(地址变换)重定位方法(地址变换)把作业地址空间中使用的逻辑地址变成内存中物理地址称为()。加载A重定位B物理化C逻辑化D提交单选题1分5 5、重定位、重定位(2 2)重定位方法重定位方法 绝对装入绝对装入 可重定位装入可重定位装入 动态装入动态装入5.1.3 5.1.3 重定位方法(地址变换)重定位方法(地址变换)(2 2)重定位方法重定位方法 1)绝对装入)绝对装入(absolute loading)在可

    15、执行文件指令中记录内存地址,装入时直接定位在上述在可执行文件指令中记录内存地址,装入时直接定位在上述(即文即文件中记录的地址件中记录的地址)内存地址。内存地址。优点:装入过程简单,如优点:装入过程简单,如.COM。缺点:过于依赖于硬件结构,不适于多道程序系统。缺点:过于依赖于硬件结构,不适于多道程序系统。5.1.3 5.1.3 重定位方法(地址变换)重定位方法(地址变换)(2 2)重定位方法重定位方法 2)可重定位装入)可重定位装入(静态地址重定位)静态地址重定位)在可执行文件指令中,在可执行文件指令中,列出列出各个需要重定位的地址单元各个需要重定位的地址单元和相对地址值;和相对地址值;当用户

    16、程序被装入内存时,当用户程序被装入内存时,一次性一次性实现逻辑地址到物理实现逻辑地址到物理地址的地址的转换转换。5.1.3 5.1.3 重定位方法(地址变换)重定位方法(地址变换)静态重定位的时机是().程序编译时A程序链接时B程序装入时C程序运行时D提交单选题1分(2 2)重定位方法重定位方法 2)可重定位装入)可重定位装入(静态地址重定位)静态地址重定位)优点:不需硬件支持,可以装入有限多道程序(如优点:不需硬件支持,可以装入有限多道程序(如MS DOS中的中的TSR)。)。缺点:一个程序通常需要占用连续的内存空间,程序装入缺点:一个程序通常需要占用连续的内存空间,程序装入内存后不能移动,

    17、不易实现共享。内存后不能移动,不易实现共享。5.1.3 5.1.3 重定位方法(地址变换)重定位方法(地址变换)jmp150100150.RelocationTable0jmp15021002150.2000可执行文件在内存中的重定位可执行文件在内存中的重定位说明:重定位表中说明:重定位表中列出列出所有修改的位置。所有修改的位置。重定位修改:重定位表中的重定位修改:重定位表中的150-绝对地绝对地2150(=2000+150)内容修改:内容内容修改:内容100(逻辑地址)变成逻辑地址)变成2100(=100+2000)。5.1.3 5.1.3 重定位方法(地址变换)重定位方法(地址变换)(2)

    18、重定位方法重定位方法 3)动态装入(动态地址重定位)动态装入(动态地址重定位)在运行过程中要访问数据时再进行地址变换;在运行过程中要访问数据时再进行地址变换;硬件上需要硬件上需要一对寄存器一对寄存器的支持的支持,装入和执行时通过硬件装入和执行时通过硬件地址变换机构,完成虚拟地址到实际内存地址的变换。地址变换机构,完成虚拟地址到实际内存地址的变换。5.1.3 5.1.3 重定位方法(地址变换)重定位方法(地址变换)(2)重定位方法重定位方法 3)动态装入(动态地址重定位)动态装入(动态地址重定位)优点:优点:OS可以将一个程序分散存放于不连续的内存空间,可以将一个程序分散存放于不连续的内存空间,

    19、有利用实现共享;有利用实现共享;能够支持程序执行中产生的地址引用,如指针变量。能够支持程序执行中产生的地址引用,如指针变量。5.1.3 5.1.3 重定位方法(地址变换)重定位方法(地址变换)(2)重定位方法重定位方法 3)动态装入(动态地址重定位)动态装入(动态地址重定位)缺点:需要硬件支持(通常是缺点:需要硬件支持(通常是CPU),),OS实现较复杂。实现较复杂。它是虚拟存储的基础。它是虚拟存储的基础。5.1.3 5.1.3 重定位方法(地址变换)重定位方法(地址变换)5.1.4 5.1.4 链接链接1、链接方法链接方法2、链接举例链接举例链接是指多个目标模块在执行时的链接是指多个目标模块

    20、在执行时的地址空间分配和相互引用。地址空间分配和相互引用。1.静态链接静态链接(static-linking)静态链接是静态链接是在程序执行之前在程序执行之前,必须由链接装配程序把它,必须由链接装配程序把它们连接成一个可运行的目标程序。们连接成一个可运行的目标程序。(问题:浪费空间问题:浪费空间)。在目标模块中在目标模块中(.obj)记录符号地址记录符号地址(symbolic address),而在可执行文件中改写为指令直接使用的数字地址。而在可执行文件中改写为指令直接使用的数字地址。5.1.4 5.1.4 链接链接1.静态链接静态链接(static-linking)Module AModul

    21、e Acall function10L-1Module BModule B0M-1function1().function1FModule AModule Acall L+F0L-1Module BModule BLL+M-1function1().function1L+F5.1.4 5.1.4 链接链接在程序执行过程中,在程序执行过程中,由于执行的需要而进行的动态链接。由于执行的需要而进行的动态链接。通常被链接的共享代码称为动态链接库通常被链接的共享代码称为动态链接库(DLL,Dynamic Link(DLL,Dynamic Link Library)Library)或共享库或共享库(sha

    22、red library)(shared library)。2.2.动态链接动态链接(dynamic-linking)(dynamic-linking)5.1.4 5.1.4 链接链接程序动态链接的时刻是()。编译时A装入时B调用时C紧凑时D提交单选题1分(1)段的动态链接)段的动态链接 在程序开始运行时,只将主程序段装配好并调入内存,在程序开始运行时,只将主程序段装配好并调入内存,其它各段的装配是在主程序段的运行过程中逐步完成;其它各段的装配是在主程序段的运行过程中逐步完成;每当需要调用一个新段时,再将这个新段装配好,并与每当需要调用一个新段时,再将这个新段装配好,并与主程序段链接。主程序段链

    23、接。2.2.动态链接动态链接(dynamic-linking)(dynamic-linking)5.1.4 5.1.4 链接链接(2 2)优点与缺点)优点与缺点优点:能够减少软件规模优点:能够减少软件规模缺点:如果缺少共享的动态链接库,软件无法运行。缺点:如果缺少共享的动态链接库,软件无法运行。2.动态链接动态链接(dynamic-linking)5.1.4 5.1.4 链接链接能够装入内存任何位置的代码程序必须是()。可重入的A可定位的B可动态链接的C可静态链接的D提交单选题1分5.1.5 5.1.5 内存信息的共享与保护内存信息的共享与保护1、原则、原则 共享的信息可以供多个进程使用,不共

    24、享的资源只能供共享的信息可以供多个进程使用,不共享的资源只能供本进程使用。本进程使用。2、内存信息保护方法、内存信息保护方法 硬件、软件和软硬件结合。硬件、软件和软硬件结合。2 2、内存信息保护方法、内存信息保护方法(1)上下界保护法上下界保护法 常见的硬件保护法常见的硬件保护法 硬件需求硬件需求 上下界寄存器,装有被保护程序和数据段的起始和终止地址上下界寄存器,装有被保护程序和数据段的起始和终止地址5.1.5 5.1.5 内存信息的共享与保护内存信息的共享与保护2 2、内存信息保护方法、内存信息保护方法(1)上下界保护法上下界保护法 原理原理 在程序执行过程中,进程在访问内存时首先进行访址在

    25、程序执行过程中,进程在访问内存时首先进行访址合法性检查,即检查经过重定位后的内存地址是否在合法性检查,即检查经过重定位后的内存地址是否在规定的地址范围之内。规定的地址范围之内。5.1.5 5.1.5 内存信息的共享与保护内存信息的共享与保护图5.4上、下界寄存器保护法5.1.5 5.1.5 内存信息的共享与保护内存信息的共享与保护2 2、内存信息保护方法、内存信息保护方法(1 1)上下界保护法上下界保护法在计算机的发展过程中,之所以提出存储保护的要求,是因为在 a 填空1 的情况下,内存中有多个程序存在,有必要防止其中某个程序的错误破坏其他程序的存储区域。存储保护可采用的方法有:把上限和下限地

    26、址放入 b 填空2,在访问此范围以外的地址时产生 c 填空3 。a、b、c的选择分别是:联想存储器 界地址寄存器 保护键 多道程序设计 越界中断 作答正常使用填空题需3.0以上版本雨课堂填空题3分2 2、内存信息保护方法、内存信息保护方法(2 2)保护键保护法)保护键保护法 5.1.5 5.1.5 内存信息的共享与保护内存信息的共享与保护通常所说的存储保护的基本含义是()。防止存储器硬件受损A防止程序在内存丢失B防止程序间相互越界访问C防止程序被人偷看D提交单选题1分内存管理方法(重点和难点)内存管理方法(重点和难点)1.分区管理分区管理2.页式管理页式管理3.段式管理段式管理4.段页式管理(

    27、段式和页式管理的综合)段页式管理(段式和页式管理的综合)5.2 5.2 分区存储管理分区存储管理5.2.1 原理原理5.2.2 固定分区固定分区5.2.3 动态分区动态分区5.2.4 分区分配算法分区分配算法5.2.1 5.2.1 原理原理1、工作原理工作原理 把内存分为一些大小相等或不等的分区把内存分为一些大小相等或不等的分区(partition),每,每个应用进程占用一个或几个分区。操作系统占用其中一个个应用进程占用一个或几个分区。操作系统占用其中一个分区。分区。5.2.1 5.2.1 原理原理2、应用环境应用环境 适用于多道程序系统和分时系统适用于多道程序系统和分时系统 支持多个程序并发

    28、执行;支持多个程序并发执行;难以进行内存分区的共享。难以进行内存分区的共享。Operating System8 M12 M8 M8 M6 M4 M2 M固定分区固定分区(大小相同大小相同)固定分区固定分区(多种大小多种大小)5.2.1 5.2.1 原理原理3、分区管理数据结构分区管理数据结构 分区用的数据结构:分区说明表,分区链表。分区用的数据结构:分区说明表,分区链表。可以只记录空闲分区,也可以同时记录空闲和占可以只记录空闲分区,也可以同时记录空闲和占用分区;用分区;分区表中,表项数目随着内存的分配和释放而动分区表中,表项数目随着内存的分配和释放而动态改变,可以规定最大表项数目;态改变,可以

    29、规定最大表项数目;5.2.1 5.2.1 原理原理3、分区管理数据结构分区管理数据结构 分区表可以划分为两个表格:空闲分区表,占用分分区表可以划分为两个表格:空闲分区表,占用分区表。从而减小每个表格长度。空闲分区表中按不区表。从而减小每个表格长度。空闲分区表中按不同分配算法相应对表项排序。同分配算法相应对表项排序。5.2.1 5.2.1 原理原理5.2.2 5.2.2 固定分区固定分区1、工作原理工作原理 把内存区固定地划分为若干个大小相等(和不等)把内存区固定地划分为若干个大小相等(和不等)的的连续分区连续分区;每个分区装一个且只能每个分区装一个且只能装一个作业装一个作业;分区的划分原则一般

    30、由操作系统决定;分区的划分原则一般由操作系统决定;分区一旦划分结束,在整个执行过程中每个分区的分区一旦划分结束,在整个执行过程中每个分区的长度和内存的总分区个数将保持不变。长度和内存的总分区个数将保持不变。图图5.65.6固定分区法固定分区法5.2.2 5.2.2 固定分区固定分区5.2.2 5.2.2 固定分区固定分区2、分区方式分区方式 分区大小相等:只适合于多个相同程序的并发执行;分区大小相等:只适合于多个相同程序的并发执行;分区大小不等:多个小分区、适量的中等分区、少量的分区大小不等:多个小分区、适量的中等分区、少量的大分区。大分区。3、进程的放置算法进程的放置算法(1)大小相等的分区

    31、,使用哪个分区都一样大小相等的分区,使用哪个分区都一样(2)对大小不等的分区,有两种方法:对大小不等的分区,有两种方法:多个输入队列多个输入队列:将每个进程指定到适应它的最小分区;:将每个进程指定到适应它的最小分区;每个分区都需要一个调度队列;每个分区都需要一个调度队列;一个输入队列一个输入队列:为所有进程提供一个队列,当需要把一个为所有进程提供一个队列,当需要把一个进程装入主存时,选择可以保存该进程的最小可用分区。进程装入主存时,选择可以保存该进程的最小可用分区。5.2.2 5.2.2 固定分区固定分区 固定分区的进程队列固定分区的进程队列:多队列适用于大小不等的固定分:多队列适用于大小不等

    32、的固定分区;单队列适用于大小相同的固定分区,也可用于大小区;单队列适用于大小相同的固定分区,也可用于大小不等的情况。不等的情况。3 3、进程的放置算法、进程的放置算法5.2.2 5.2.2 固定分区固定分区 分区分区4分区分区3分区分区2分区分区1操作系统操作系统多个输入队列多个输入队列分区4分区3分区2分区1操作系统700K100K400K 0一个输入队列一个输入队列3 3、进程的放置算法、进程的放置算法5.2.2 5.2.2 固定分区固定分区 优点:易于实现,开销小。优点:易于实现,开销小。缺点:缺点:内碎片造成浪费;内碎片造成浪费;分区总数在系统生成时确定(固定),限制了并发分区总数在系

    33、统生成时确定(固定),限制了并发执行的程序数目。执行的程序数目。4 4、固定分区的评价、固定分区的评价5.2.2 5.2.2 固定分区固定分区 碎片分类碎片分类内碎片:占用分区之内未被利用的空间内碎片:占用分区之内未被利用的空间外碎片:占用分区之间难以利用的空闲分区(通常是小空外碎片:占用分区之间难以利用的空闲分区(通常是小空闲分区)。闲分区)。5.2.3 5.2.3 动态分区动态分区1 1、基本思想、基本思想 内存不是预先划分好的,而是当作业装入时,根据作业的内存不是预先划分好的,而是当作业装入时,根据作业的需求和内存空间的使用情况来决定是否分配。需求和内存空间的使用情况来决定是否分配。优点

    34、:没有内碎片。优点:没有内碎片。缺点:有外碎片。缺点:有外碎片。FIFOFIFO调度方式时的内存初始分配图调度方式时的内存初始分配图图图5.75.7内存初始分配情况内存初始分配情况5.2.3 5.2.3 动态分区动态分区OperatingSystem128 K896 KOperatingSystemProcess 1320 K576 K动态分区分配过程动态分区分配过程5.2.3 5.2.3 动态分区动态分区顺序进入顺序进入P2,P3 P2,P3 释放释放P2P2进入进入P4 P4 放在那里?放在那里?动态分区分配过程动态分区分配过程Operating SystemProcess 1320 KP

    35、rocess 2Process 3224 K288 K64 KOperating SystemProcess 1320 KProcess 3224 K288 K64 KOperating SystemProcess 1320 KProcess 3288 K64 KProcess 4128 K96 KOperating System320 KProcess 3288 K64 KProcess 4128 K96 KOperating SystemProcess 3288 K64 KProcess 4128 K96 KProcess 2224 k96 K 释放释放P1P1 进入进入P2P2Opera

    36、ting SystemProcess 3288 K64 KProcess 4128 K96 KProcess 2224 k96 K 释放释放P3P3?动态分区分配过程动态分区分配过程5.2.3 5.2.3 动态分区动态分区2 2、特点、特点(1 1)内存管理:设置内存空闲块表)内存管理:设置内存空闲块表记录空闲区起始地记录空闲区起始地址和长度;址和长度;(2 2)内存分配:)内存分配:动态分配;动态分配;(3 3)内存回收:当某一块归还后,前后空间合并,修改内)内存回收:当某一块归还后,前后空间合并,修改内存空闲区表。存空闲区表。5.2.4 5.2.4 动态分区分配算法动态分区分配算法1 1、

    37、分区分配算法分区分配算法 寻找某个空闲分区,其大小需大于或等于程序的要求;寻找某个空闲分区,其大小需大于或等于程序的要求;若是大于要求,则将该分区分割成两个分区,其中一个若是大于要求,则将该分区分割成两个分区,其中一个分区为要求的大小并标记为分区为要求的大小并标记为“占用占用”,而另一个分区为,而另一个分区为余下部分并标记为余下部分并标记为“空闲空闲”。5.2.4 5.2.4 动态分区分配算法动态分区分配算法2 2、分区释放算法分区释放算法需要将相邻的空闲分区合并成一个空闲分区。需要将相邻的空闲分区合并成一个空闲分区。(这时要解这时要解决的问题是:合并条件的判断和合并时机的选择决的问题是:合并

    38、条件的判断和合并时机的选择)在可变分区存储管理中的紧凑技术可以()。集中空闲区A增加主存容量B缩短访问时间C加速地址转换D提交单选题1分3 3、动态分区表的分区说明表动态分区表的分区说明表图图5.9可用表、自由链及请求表可用表、自由链及请求表5.2.4 5.2.4 动态分区分配算法动态分区分配算法(长度设计有问题)长度设计有问题)分区分配内存管理方式的主要保护措施是()。界地址保护A程序代码保护B数据保护C栈保护D提交单选题1分4.固定分区时的分配与回收固定分区时的分配与回收5.2.4 5.2.4 动态分区分配算法动态分区分配算法5 5、分区分配方法分区分配方法(重点)(重点)最先适应法最先适

    39、应法 最佳适应法最佳适应法 最坏适应法最坏适应法5.2.4 5.2.4 动态分区分配算法动态分区分配算法5 5、分区分配方法分区分配方法(1)最先匹配法:按分区的先后次序(最先匹配法:按分区的先后次序(按起始地址递增按起始地址递增的顺序排列的顺序排列),从头查找,找到符合要求的第一个分区。),从头查找,找到符合要求的第一个分区。5.2.4 5.2.4 分区分配算法分区分配算法 (1)最先匹配法最先匹配法特点特点 时间性能较好,较大的空闲分区可以被保留在内存高端;时间性能较好,较大的空闲分区可以被保留在内存高端;但随着低端分区不断划分而产生较多小分区,每次分配但随着低端分区不断划分而产生较多小分

    40、区,每次分配时查找时间开销会增大。时查找时间开销会增大。5.2.4 5.2.4 分区分配算法分区分配算法 最先适应法最先适应法图图5.11最先适应算法最先适应算法5、分区分配方法分区分配方法(2)最佳匹配法:找到其大小与要求相差最小的空闲分区最佳匹配法:找到其大小与要求相差最小的空闲分区(按空闲区大小从小到大的顺序排列)按空闲区大小从小到大的顺序排列)特点:特点:从个别来看,外碎片较小,但从整体来看,会形成较从个别来看,外碎片较小,但从整体来看,会形成较多外碎片;多外碎片;较大的空闲分区可以被保留。较大的空闲分区可以被保留。5.2.4 5.2.4 分区分配算法分区分配算法 5、分区分配方法分区

    41、分配方法(3)最坏匹配法:找到最大的空闲分区(最坏匹配法:找到最大的空闲分区(按空闲区大小按空闲区大小从大到小的顺序排列从大到小的顺序排列)。)。特点:基本不留下小空闲分区特点:基本不留下小空闲分区(当分割后空闲块仍为较当分割后空闲块仍为较大空块)大空块),但较大的空闲分区不被保留。,但较大的空闲分区不被保留。5.2.4 5.2.4 分区分配算法分区分配算法 在内存分配的最佳适应法中,空闲块是按()。始地址从小到大排序A始地址从大到小排序B块的大小从小到大排序C块的大小从大到小排序D提交单选题1分在分区存储管理中,下面的()最有可能使得高地址空间变成为大的空闲区。最先适应法A最佳适应法B最坏适

    42、应法C循环首次适应法D提交单选题1分某基于动态分区存储管理的计算机,其主存容量为55MB(初始为空闲),采用最佳适配(Best fit)算法,分配和释放的顺序为:分配15MB,分配30MB,释放15MB,分配8MB,分配6MB,此时主存中最大空闲分区的大小是()。7MBA9MBB10MBC15MBD提交单选题1分6 6、动态分区时的回收与拼接、动态分区时的回收与拼接5.2.4 5.2.4 分区分配算法分区分配算法 Lastallocatedblock(14K)BeforeAfter8K8K12K12K22K18K6K6K8K8K14K14K6K2K36K20KNext FitFree bloc

    43、kAllocated blockBest FitFirst Fit分配分配16K6 6、动态分区时的回收与拼接、动态分区时的回收与拼接几种分配算法的比较几种分配算法的比较(1)最先适应法:查找性能最好,尽可能使用低地址空间;)最先适应法:查找性能最好,尽可能使用低地址空间;(2)最佳适应法:寻找到的空闲区最合适,但容易产生内)最佳适应法:寻找到的空闲区最合适,但容易产生内存外碎片;存外碎片;(3)最坏适应法:能克服最佳适应法产生的外碎片。)最坏适应法:能克服最佳适应法产生的外碎片。碎片解决及存在问题碎片解决及存在问题 定义:定义:经过一段时间的分配回收后,内存中存在很多很小的经过一段时间的分配

    44、回收后,内存中存在很多很小的空闲块。它们每一个都很小,不足以满足分配要求;但其总空闲块。它们每一个都很小,不足以满足分配要求;但其总和满足分配要求。和满足分配要求。这些空闲块被称为碎片。这些空闲块被称为碎片。解决技术:解决技术:紧凑技术紧凑技术 通过在内存移动程序,将所有小的空闲区域合并为大的空闲区通过在内存移动程序,将所有小的空闲区域合并为大的空闲区域。域。存在问题:存在问题:开销大;移动时机开销大;移动时机分区管理的主要优缺点分区管理的主要优缺点1、优点:简单优点:简单 2、缺点:缺点:碎片问题碎片问题(内、外碎片内、外碎片)内存利用率不高;内存利用率不高;受分区大小或实际内存容量限制;受

    45、分区大小或实际内存容量限制;不利于程序段和数据段的共享。不利于程序段和数据段的共享。5.3 5.3 覆盖和交换技术覆盖和交换技术1、功能功能 在多道环境下扩充内存的方法,用以解决在较小的存在多道环境下扩充内存的方法,用以解决在较小的存储空间中运行较大程序。储空间中运行较大程序。5.3 5.3 覆盖和交换技术覆盖和交换技术2、内存扩充技术分类内存扩充技术分类(1)覆盖技术)覆盖技术 主要用在早期的操作系统中主要用在早期的操作系统中,主要采用联合体的数据结构主要采用联合体的数据结构(2)交换技术)交换技术 被广泛用于小型分时系统中,被广泛用于小型分时系统中,交换技术的发展导致了虚存交换技术的发展导

    46、致了虚存技术的出现。技术的出现。5.3.1 5.3.1 覆盖覆盖(overlay)(overlay)1、功能及使用环境功能及使用环境(1)在较小的可用内存中运行较大的程序;)在较小的可用内存中运行较大的程序;(2)常用于多道程序系统,与分区存储管理配合使用。)常用于多道程序系统,与分区存储管理配合使用。5.3.1 5.3.1 覆盖覆盖(overlay)(overlay)2、原理原理 把程序划分为若干个功能上相对独立的程序段,按照其自把程序划分为若干个功能上相对独立的程序段,按照其自身的逻辑结构将身的逻辑结构将那些不会同时执行的程序段共享同一块内存那些不会同时执行的程序段共享同一块内存区域区域。

    47、程序段先保存在磁盘上,当有关程序段的前一部分执。程序段先保存在磁盘上,当有关程序段的前一部分执行结束,把后续程序段调入内存,覆盖前面的程序段行结束,把后续程序段调入内存,覆盖前面的程序段(按照时按照时间先后来占用公共的内存空间间先后来占用公共的内存空间,内存内存“扩大扩大”了了)。3 3、特点特点(1)将程序的必要部分(常用功能)的代码和数据常驻内存;)将程序的必要部分(常用功能)的代码和数据常驻内存;(2)可选部分平时存放在外存中,在需要用到时才装入到内)可选部分平时存放在外存中,在需要用到时才装入到内存;存;(3)不存在调用关系的模块不必同时装入到内存不存在调用关系的模块不必同时装入到内存

    48、,从而可以,从而可以相互覆盖。相互覆盖。5.3.1 5.3.1 覆盖覆盖(overlay)(overlay)注:另一种覆盖方法:注:另一种覆盖方法:(100K)(100K)A(20K)A(20K)占一个分区:占一个分区:20K20K;B(50K)B(50K)、D(20K)D(20K)和和E(40K)E(40K)共用一个分区:共用一个分区:50K50K;F(30K)F(30K)和和C(30K)C(30K)共用一个分区:共用一个分区:30K30K;覆盖技术案例覆盖技术案例图图5.13覆盖示例覆盖示例4 4、缺点缺点(1 1)对程序员不透明,增加了编程负担。编程时必须划分程序对程序员不透明,增加了编

    49、程负担。编程时必须划分程序模块和确定程序模块之间的覆盖关系,增加编程复杂度;模块和确定程序模块之间的覆盖关系,增加编程复杂度;(2 2)覆盖通常限于用在微机和其他内存容量有限的或缺乏对更)覆盖通常限于用在微机和其他内存容量有限的或缺乏对更先进技术的硬件支持的系统中。先进技术的硬件支持的系统中。5.3.1 5.3.1 覆盖覆盖(overlay)(overlay)6 6、优点优点(1 1)从外存装入覆盖文件,以时间换取空间;)从外存装入覆盖文件,以时间换取空间;(2 2)覆盖不需要任何来自操作系统的特殊支持。)覆盖不需要任何来自操作系统的特殊支持。5.3.1 5.3.1 覆盖覆盖(overlay)

    50、(overlay)案例案例 目前这一技术用于小型系统中的系统程序的内存管理上,目前这一技术用于小型系统中的系统程序的内存管理上,MS-DOSMS-DOS的启动过程中,多次使用覆盖技术;启动之后,用的启动过程中,多次使用覆盖技术;启动之后,用户程序区的高端部分与户程序区的高端部分与COMMAND.COMCOMMAND.COM暂驻模块也是一暂驻模块也是一种覆盖结构。种覆盖结构。5.3.1 5.3.1 覆盖覆盖(overlay)(overlay)5.3.2 5.3.2 交换交换(swapping)(swapping)1、原理原理 多个程序并发执行,可以将暂时不能执行的程序送到外多个程序并发执行,可以


    注意事项

    本文(《操作系统原理》课件第五章存储管理.pptx)为本站会员(momomo)主动上传,其收益全归该用户,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!




    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库