电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

华南理工大学-操作系统课件第5章内存管理

108页
  • 卖家[上传人]:F****n
  • 文档编号:88094749
  • 上传时间:2019-04-18
  • 文档格式:PPT
  • 文档大小:1.62MB
  • / 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,地址,主存的最小单位是“位” 主存对存储位置进行编号,这些编号称为“地址”,最小的编址单位是“字节”,一般包含八个“位” 地址空间 程序用来访问信息所用地址单元的集合,6,逻辑地址与物理地址,逻辑地址(相对地址,虚地址) : 用户的程序经过汇编或编译后,形成目标代码,目标代码通常采用相对地址的形式,其首地址为0,其余指令中的地址都相对于首地址而编址。 物理地址(绝对地址,实地址)

      2、 内存中存储单元的地址,可直接寻址,7,程序的链接和装入,8,地址转换,把作业地址空间中使用的逻辑地址,变换成为- 内存空间中的物理地址的过程。 又称地址映射,重定位 程序地址如果不反映其真实的存储位置,就不可能得到正确的执行 但在多道程序设计环境下,用户无法事先约定各自占用内存的哪个区域,也不知道自己的程序会放在内存的什么位置,,P135 5.1.3 重定位,9,静态重定位,当用户程序被装入内存时,一次性实现逻辑地址到物理地址的转换,以后不再转换,动态,10,动态重定位,动态重定位: 动态重定位在指令执行过程中,每次访问内存前动态地进行地址转换。,静态重定位:当用户程序被装入内存时,一次性实现逻辑地址到物理地址的转换,以后不再转换,11,动态重定位,在程序运行过程中要访问数据时再进行地址变换。由地址变换机构进行的地址变换,硬件上需要重定位寄存器的支持。,静态,12,2)、主存管理要解决的问题P119,内存空间管理 当用户需要内存时,系统为之分配相应的存储空间;不需要时,及时回收,以供其它用户使用。 记录内存的使用情况:设置相应的内存分配表 内存空间划分问题? 静态或动态,等长或不等长

      3、。 确定分配算法 地址转换(重定位) 把逻辑地址转换为相应的物理地址的过程,13,2)、主存管理要解决的问题,存储扩充 用户在编制程序时,不应该受内存容量限制,所以要采用一定技术来“扩充”内存的容量,使用户得到比实际内存容量大的多的内存空间。 存储保护和主存共享 为多个程序共享内存提供保障,使在内存中的各道程序,只能访问它自己的区域,避免各道程序间相互干扰,特别是当一道程序发生错误时,不致于影响其他程序的运行,先考虑问题1、2、4;最后考虑问题3,14,5.1.2 虚拟存储器,虚拟存储器是具有请求调入和交换功能、能从逻辑上对内存容量进行扩充、给用户提供了一个比真实的内存空间大得多的地址空间,在作业运行前可以只将一部分装入内存便可运行的、以逻辑方式存在的存储器。 实质上是让程序的访问地址,和内存的可用地址相脱离。 特性:虚拟性, 还有离散性、多次性和交换性等。,15,内容,5.1 概述 5.2 存储管理的基本技术 5.3 分页存储管理 5.4 分段存储管理 5.5 段页式存储管理 5.6 虚拟内存的置换算法,16,5.2 存储管理的基本技术,最基本的4种存储管理技术: 分区法、 可重定位

      4、分区法、 覆盖技术、 交换技术 。,17,5.2.1 分区法,最简单。 基本原理: 给每一个内存中的进程,划分一块适当大小的存储块,以连续存储。 管理方式: 固定分区 动态分区(可变分区) 回顾内存管理的3/4个问题,18,5.2.1 分区法,1. 固定分区法 主存分成若干个固定大小的连续区域(存储块) 每个存储区分给某一个作业使用, 分区长度和个数不变。 简单, 内存利用率不高。,19,分区说明表,记录存储分区情况及存储区使用状况的信息,分区的碎片:分区内没有使用的剩下的部分,大大的问题:有资源但没法使用,20,5.2.1 分区法,2. 动态分区法 根据进程的实际需要,动态地为它分配连续的内存空间。 各个分区是在相应作业装入内存时建立的,其大小恰好等于作业的大小。 系统中设置了相应的数据结构,来记录内存的使用情况: 有空闲分区表 空闲分区链,21,动态分区法,固定分区法,22,OS,312K,318K,333K,369K,512K,(6K),进程C (36K),进程B (25K),固定分区法,动态分区法,23,存储分配算法,(1)最佳适应法 挑选最接近作业尺寸且大于或等于作业大小的分

      5、区, 从而使分区内未用部分(又称碎片)浪费的最少。 (2)最先适应法 即按分区序号最先找到的且大于或等于作业大小的未分配分区,分给要求的作业。着眼点是在于缩短查找时间。 (3)最坏适应法 挑选最大的且大于和等于作业大小的分区分给要求的作业。为什么?,24,算法的利弊,最佳适应算法: 尽量多保留些大的分区,使被选中分区剩下尽可能小的未用碎片。但也正是这种做法使得系统中产生了许多小得无法再用的碎片。 最先适应算法: 尽可能缩短存储分配时间。为此目的许多设计者不但在算法上想办法,而且对空闲块的管理上也采取了不同方法。 最坏适应算法: 保证分配后剩下的分区足够大,以便满足后续要求。,25,碎片大大的问题:有资源但没法使用,内存碎片:由于各作业请求和释放主存块的结果,会导致内存中经常出现大量分散的小空闲区。内存中这种容量太小,无法被利用的小分区称为碎片。 内碎片 固定分区中 外碎片 可变分区中 问题: 减少了内存中作业的并发数 内存浪费、利用率低 存储分配和释放速度慢 解决方法,26,方法1: 把小碎片合并起来使之成为一个大分区。 实现方法: 移动各用户分区中的程序,使他们集中于主存的一端(顶部

      6、或底部),而使碎片集中于另一端,从而连成一个完整的大分区,这种技术通常称为存储器的“紧凑” 。 方法2: 把程序分成几部分装入不同的分区中去,也就是改变程序连续存放的要求。 实现方法: 分页、分段等存储管理技术。,碎片问题的解决办法,27,5.2.2 可重定位分区法,解决碎片问题引出的新问题: 在找不到足够大的空闲分区来满足用户需求时,进行紧凑处理,用户程序需要在主存中移动。程序移动后会无法正确执行(为什么?),用户程序 (60K),28,解决方法(程序移动后会无法正确执行),回顾原来地址转换的方法: 当用户程序被装入内存时,一次性实现逻辑地址到物理地址的转换,以后不再转换。 无法确定何时发生程序移动,移动到何处。 所以不能预先转换地址 在执行指令的时候进行地址转换(动态重定位),29,5.2.2 可重定位分区法,动态分区加动态重定位 实现过程,需要额外硬件 作业3大小为24KB,被装入起始地址为64KB的内存空间,30,5.2.3 覆盖技术,早期,当程序的长度大于内存的容量,怎么办?,部分装入! 覆盖、交换!对主存进行了逻辑扩充,覆盖技术,是在多道环境下扩充内存的方法,用以解决在较小

      7、的存储空间中,运行较大程序时遇到的矛盾。 在程序运行过程中,把同一存储区,在不同时刻,分配给不同的程序段或数据段来共享。 缺点是,程序员必须小心地设计程序及其数据结构,使得要覆盖的段块具有相对独立性,不存在直接联系或相互交叉访问。,31,覆盖技术,32,5.2.4 交换技术,交换是指将一个进程从内存拷贝到磁盘上,以腾出空间给其他进程使用。需要时,再将该进程调入内存。 由换出和换进两个过程组成, 换出是把内存中的数据和程序,换到外存的交换区, 换进则是把外存交换区中的数据和程序,换到内存的分区中。 在交换系统中,交换所占用的时间相当多。,33,交换与覆盖 比较,都是解决大作业与小主存矛盾的存贮管理技术,实质上是对主存进行了逻辑扩充。 交换技术不要求用户给出程序段之间的逻辑覆盖结构; 交换发生在进程或作业之间,而覆盖发生在同一进程或作业内。 覆盖只能覆盖那些与覆盖段无关的程序段,34,小结,基本概念 地址、逻辑地址与物理地址、程序的链接和装入 地址转换(重定位) 内存管理要解决的问题 1,内存空间管理 2,地址转换(重定位) 3,存储扩充 4,存储保护和主存共享 最基本的4种存储管理技术:

      8、 分区法:固定分区、可变分区、内存碎片及解决方法 可重定位分区法:程序移动带来的问题、动态重定位 覆盖技术、 交换技术,35,内容,5.1 概述 5.2 存储管理的基本技术 5.3 分页存储管理 5.4 分段存储管理 5.5 段页式存储管理 5.6 虚拟内存的置换算法,36,5.3 分页存储管理,碎片问题的解决方法1: 紧凑技术可重定位分区法 让储存器去适应程序对连续性的要求。 碎片问题的解决方法2: 把程序分成几部分,装入不同的分区中去,也就是改变程序连续存放的要求。 分页管理允许程序的存储空间是不连续的,用户程序的地址空间,被划分为若干个固定大小的区域。,37,5.3.1 基本概念 分页的基本思想,1 )、主存空间划分 物理块(页框、页架):把主存划分成相同大小的存储块; 物理块号:各物理块从0开始依次编号,称为页架号。 2)、 逻辑地址空间划分 页(页面):把用户的逻辑地址空间按照物理块大小,划分成若干个页面; 页号:各页从0开始依次编号,称为页号(逻辑页号); 页内地址:将逻辑页面中的所有单元从0开始依次编址。 如此划分后,可将任一页放在内存的任一块中(有什么好处?),38,3

      9、 )、 逻辑地址的表示 划分后逻辑地址由两部分组成: 可用一个数对(p,d)来表示; 若给定一个逻辑地址A,页面大小为L;则 p = INTA/L, d = A MOD L 4 )、主存分配 分配主存时,以页架为单位,按用户程序的页数进行分配; 逻辑上相邻的页在主存中不一定相邻。,5.3.1 基本概念 分页的基本思想,39,逻辑地址A为1005H,页的大小L为1024Byte,则A的页号、页内地址: A= 1005H= 4096+5= 212+22+20 , L=1024=210 。,例:划分后逻辑地址,40,5.3.1 基本概念 页表,2. 页表数据结构 每个进程都有自己的页面映象表,简称页表,页表中包含每个帧的基址及相应的页号。页表的作用是实现从页号到物理块号的地址映射。 页表的表项中常设置一存取控制字段,用于对该存储块中的内容进行保护。如果要利用分页系统去实现虚拟存储器,还需要增加另外的数据项。,41,例:页表,页表:由页号和页面号组成,指出逻辑地址中页号与主存中块号(页架号)的对应关系,42,5.3.1 基本概念 地址转换,3. 分页系统中的地址转换 地址转换机构,就是将逻辑地址中的页号,转换为内存中的物理块号。 地址转换任务是借助于页表来完成的, 有时也把页表称为地址变换表或地址映像表。,43,5.3.1 基本概念 (1)基本的地址转换P129,(1)地址转换机制把CPU给出的逻辑地址分为两部分:页号p和页内地址d; (2)将逻辑页号p与页表长度寄存器的内容比较,则为越界; (3)根据页表地址B得到页表在内存的首地址,并根据逻辑页号p在页表中找到对应的页架号p; (4)把页架号p与逻辑地址中的页内地址d合并成为物理地址。,44,缺点,页表放在主存中系统表格区,导致: 增加了系统在存储上的花销, 降低了CPU的访问速度。 每次对某一地址的访问,首先要访问内存中的页表,形成绝对地址后,才能进行所需要的真正访问。要两次访问内存储器才能实现,处理机执行速度降低50%。,45,页表大小,主存页架数N 主存大小 / 页大小 例: 128M的物理内存,每页4k 主存页架数N 128M / 4K 32 kilo 进程页表表目数 虚拟地址空间 / 页大小 32位虚拟地

      《华南理工大学-操作系统课件第5章内存管理》由会员F****n分享,可在线阅读,更多相关《华南理工大学-操作系统课件第5章内存管理》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.