版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章,存储管理,sh_,存储空间的分类和性质,主要内容,存储管理的功能划分,存储管理覆盖和交换技术,页面管理,段管理和段管理,局部性原则和抖动问题,谈存储管理的目的,操作系统的“方便性”是方便用户加载程序,不需要知道底层细节就可以实现动态存储空间扩展。适应不同程序的需要,操作系统的“合理性”合理分配内存空间,保证多通道程序的顺利运行,合理保护内存空间,防止各种可能的损害泄露操作系统的“有效性”,有效维护内存空间的可用性,防止资源浪费,有效实现“小空间大容量”,提高计算机的适应性,有效配合CPU的调度过程,实现系统的稳定运行。5.1存储管理功能、内存管理、分配和恢复、内存空间使用记录位图、分配
2、表、分区表、内存空间分配和恢复、固定长度和不定长度、静态和动态地址重定位(地址映射)、物理地址和逻辑地址的区别、真实模式和保护模式、内存共享和保护:进程和线程、中间件应用程序内存保护:如何防止地址越界或操作越权?内存的扩展虚拟存储:如何使用小内存空间运行大程序。5.1.1虚拟内存,有两层含义:主内存的概念:将作业信息放在外部内存中,作业运行时将必要的程序代码和数据放在内部内存中,将暂时不用的程序代码和数据放在外部内存中,需要时将它们转移到内部内存中。这样,内部存储器和外部存储器以统一的方式被管理,并且大量的主存储器被呈现给用户。外部存储器,虚拟存储器(2),地址空间的概念:一个作业进程的地址空
3、间是一个虚拟存储器,它占据一部分存储空间和一部分外部存储空间。本书的定义:由目标代码的虚拟地址和进程中的数据组成的虚拟空间称为虚拟内存。1.虚拟内存不考虑物理内存的大小和信息存储的实际位置,只指定每个进程中相关信息的相对位置。2.每个进程都有自己的虚拟内存,虚拟内存的容量仅由计算机的地址结构和寻址方式决定。例如,直接寻址时,如果中央处理器的有效地址长度为16位,其寻址范围为0到64k。5.1.2地址转换,用于程序命名空间用户编程的地址称为逻辑地址(或程序地址,或虚拟地址)。由逻辑地址组成的空间称为逻辑地址空间(或程序地址空间)。存储器的每个存储单元都有一个数字,称为存储器地址(或物理地址,绝对
4、地址)。内存地址的集合称为内存空间(或物理地址空间)。在源程序被汇编或编译后,它就形成了目标程序。每个目标程序以0的顺序作为基地址,最初由符号名访问的单元由特定的数据单元号代替。以这种方式生成的目标程序占用一定的地址空间,这种空间称为作业的逻辑地址空间。逻辑空间中每个指令的地址和指令中要访问的操作数地址统称为逻辑地址。5.1.2地址转换,将内存分成几个大小相等的存储单元,每个单元都有一个数字,称为内存地址(物理地址、绝对地址和真实地址),存储单元占用8位,称为字节。物理地址的集合称为物理地址空间(主存储器地址空间),它是一维线性空间。5.1.2地址转换,将虚拟地址映射到内存地址的问题称为地址重
5、定位或地址映射。当用户程序加载到内存中时,对指令地址部分的修改被定义为从程序地址到内存地址的地址映射或地址重定位。静态地址映射,动态地址映射1。静态地址重定位当程序被加载到内存中时,操作系统的连接加载器完成从程序的逻辑地址到内存地址的转换。假设加载到存储器中的程序的第一个地址是BR,程序地址是VR,存储器地址是MR,根据以下公式执行地址映射:MR=BR VR。例如,如果装入内存的程序的第一个地址是1000,汇编程序将根据磁流变=1000虚拟现实修改程序的所有地址部分,修改后的指令加载200将变成加载1200。优点:不需要硬件支持。缺点:程序必须占用连续的内存空间,并且一旦加载就不能移动。2.动
6、态地址重定位,动态地址映射(Dynamic Address Mapping)动态地址重定位是指在程序执行过程中,每次访问内存之前,将要访问的程序地址转换成内存地址。一般来说,这种转换是通过一种特殊的硬件机制来完成的。最简单的硬件机制是重新定位寄存器。在地址重定位机制中,存在基地址寄存器BR、程序地址寄存器VR和存储器地址寄存器MR.2。动态地址重定位,动态地址映射(Dynamic Address Mapping,Dynamic Relocation)过程描述:程序加载到内存后,系统会将它所占用的内存区域的第一个地址发送到基址寄存器BR。在程序执行过程中,如果你想访问内存,就把访问的逻辑地址发送
7、给虚拟现实。地址转换机制将虚拟现实和虚拟现实的内容相加,并将结果作为实际要访问的地址发送给虚拟现实。2。动态地址重定位和动态地址映射(动态重定位)优点:程序占用的内存空间是动态可变的。当程序从一个存储区域移动到另一个存储区域时,它只需要修改相应寄存器BR的内容。程序不一定需要占用连续的存储空间。您可以部分加载要运行的程序。多个进程共享同一个程序的代码很方便。2.动态地址重定位和动态地址映射(动态重定位)的缺点:需要硬件支持。实现存储管理的软件算法是复杂的。5.1.3控制内外存储器数据传输、存储器扩展:将待执行的程序数据转移到存储器中,并将处于等待状态的程序数据放入外部存储器中。内外存储数据传输
8、的控制涉及多种技术:覆盖技术、交换技术和呼叫请求技术。覆盖技术,将程序分成几个独立的功能段,根据程序的逻辑结构,让那些不会同时执行的段共享一个存储区。也就是说,未执行的程序段被放在外部存储器中,然后在先前的程序段被执行之后,随后的程序段被传送进来以覆盖先前的程序段。让用户看起来好像内存已经扩展。覆盖图:覆盖图,0 OS a常驻区初始段处理段输出段B覆盖程序段,交换技术,交换技术:将内存中等待的进程转移出内存,并将等待事件和就绪状态的进程替换到内存中。外部内存换出操作系统作业1用户区域作业2换入、交换和覆盖、交换和覆盖:交换可以在作业或进程之间执行,覆盖只能在同一作业或进程中执行;覆盖只能覆盖那
9、些与覆盖程序无关的程序段。调入、调入:程序执行时,如果被访问的程序段或数据段不在内存中,操作系统会自动将相关程序或数据从外部内存调入内存。预调用:预测那些程序段或数据段将很快被访问,并在被访问之前将其调用到内存中。5.1.4内存分配和回收,流程的开始和结束。在运行过程中,进程占用的内存也可能发生变化,比如堆栈的变化。过程图像在内存和外部内存之间传输。由于内存有限,不可能容纳系统中的所有进程,一些进程的映像可以存储在外部内存中。当运行这些进程时,它们必须被转移到内存中。为了充分利用内存空间,系统有时可能会调整内存空间。,设计在内存分配和回收、分配结构、放置策略、交换策略、调入策略、回收策略、5.
10、1.5存储保护、上限和下限存储保护中要考虑的策略:上限和下限保护是一种简单的存储保护技术。系统可以为每个作业设置一对上限和下限寄存器,用于在内存空间中存储当前运行作业的上限和下限地址,并使用它们来限制用户程序的活动范围。基址受限存储保护:上限和下限保护的变体是基址受限存储保护。上限和下限保护、基址长度限制保护、主要内容、存储管理功能、分区存储管理覆盖和交换技术、页面管理、分区管理和分区页面管理、局部性原则和抖动问题、5.2分区存储管理、5.2.1分区管理基本原则,将整个内存划分为几个不同大小的区域,操作系统占用一个区域,其他区域由系统中的多个进程共享,这种方法称为分区存储管理。这是最简单的一种
11、存储管理,分区的定时可以分为:固定分区分配,动态分区分配,1。固定分区分配。在早期支持多程序的管理模式中,用户可用的内存被划分为固定的大小,并根据作业长度来分配内存,以支持多程序大型机,目前几乎不再使用。1.固定分区分配,有n个分区,可以同时加载n个作业/任务。分区大小:相等和不相等,利用率高。内存分配:数据结构根据大小对分区进行排序,并记录它们的地址和分配标记。特点:简单和碎片(内部分数),1。固定分区分配,24K、32K、64K、128K、256K、分区描述表、作业大小和频率的性能分析在这种情况下,分区的大小等于作业大小,以便有效地使用内存。但是,如果作业的大小和频率未知,则分区的大小与作
12、业的大小相差甚远,这将造成存储空间的浪费,并影响整个系统的效率。1。固定分区分配,内存分配和回收多队列优化适应,最小适应和合理适应(各种变化)内存回收机制非常简单,只需要操作分区表,2。动态分区分配,在系统运行过程中建立分区,使分区大小与作业大小相等。它可以解决固定分区严重浪费内存的问题。这是一种实用的存储管理方法。有待解决的问题数据结构分区分配算法分区分配操作,2 .动态分区分配,数据结构在动态分区存储管理中,应该有相应的数据结构来注册空闲区域的描述信息,包括空闲区域的大小和位置。不同的系统根据设计要求采用不同的结构。常用的有表结构和队列结构。系统还应该建立一个等待分区队列。当系统中没有空闲
13、区域或没有满足要求的空闲区域时,申请人将被发送到等待队列,等待其他进程释放内存后,队列中的进程将被唤醒。动态分区分配算法在具有分区存储管理的系统中,系统启动后。除了操作系统占用一个分区,其余的存储区域是一个大的空闲区域。分区分配是指系统根据用户的请求,在空闲区表或队列中找到满足用户需求的空闲区,并将该空闲区分配给用户。以空闲区域表为例,当用户请求大小为的存储空间时,系统会查询空闲区域表以找到大于或等于大小的空闲区域。2。动态分区分配,分配算法空闲区表或队列的顺序是按照增加或减少空闲区大小的顺序,2。动态分区分配,当空闲区的大小等于三种分区分配情况下的大小时,修改空闲区表的相应条目,并将空闲区的
14、第一个地址返回给用户,表示空闲区已经分配给需要的用户。当自由区域大于大小时,自由区域被分成两部分。如果系统中没有满足要求的空闲区域,策略1:从自由区域的顶部给用户画一个大小为的自由区域;策略2:从自由区域的底部,为用户绘制大小的自由区域。通常使用第二种方法,因为空闲区域表中剩余部分的第一个地址不变,只需要修改大小。2.动态分区分配,分区分配算法第一适配算法第一适配算法第一适配算法第一适配算法第一适配算法第一适配算法第一适配算法第一适配算法第一适配算法第一适配算法第一适配算法第一适配算法第一适配算法第一适配算法第一适配算法第一适配算法第一适配算法第一适配算法第一适配算法第一适配算法第一适配算法最
15、坏情况自适应算法:原理、优点和缺点要求自由区域按照大小递减的顺序组织自由区域表(或队列)。2。动态分区分配,分区分配算法:首次自适应分配:当一个进程申请具有大小的内存时,系统从空闲区表的第一个条目开始查询,直到第一次找到等于或大于大小的空闲区。从这个区域画一个有大小的分区,并把它分配给进程。其余部分在自由区表中保留为自由区,但其第一个地址和大小应该修改。回收:根据释放区域的第一个地址查询空闲区域表。如果释放区域附近有空闲区域,将它们合并到相邻的空闲区域中,并修改该区域的大小和第一个地址;否则,将释放的区域作为空闲区域,并将其大小和第一个地址按第一个地址大小递增的顺序插入空闲区域表的适当位置。2
16、.动态分区分配,分区分配算法:第一自适应方法注:每次分配和回收后,空闲区表或空闲区队列应按第一地址递增的顺序排序。首次自适应方法的优点:当某个存储区域被释放时,如果它与自由区域相邻,它将被合并到相邻的自由分区中。这种情况不会改变区域在表格中的位置,只是修改其大小或第一个地址。该算法尽可能多地使用低位地址空间,以保证高位地址空间有较大的空闲空间。2.动态分区分配,分区分配算法:最优自适应分配:当一个进程申请一个存储区域时,系统从头部开始搜索,当找到第一个满足要求的空闲区域时停止搜索,这个空闲区域就是最佳空闲区域。所谓最佳或选定的自由区域是满足要求的最小自由区域。回收:根据释放区域的第一个地址查询
17、空闲区域表(队列)。如果有一个空闲区域与释放的区域相邻,将其合并到相邻的空闲区域中,并修改该区域的大小和第一个地址;否则,将释放的区域作为空闲区域插入空闲区域表(队列)。空闲区表(队列)应该在分配和回收后重新排序。2。动态分区分配,分区分配算法:最佳适配方法优点:如果系统中有一个与应用分区大小相同的空闲区域,它肯定会被选中,但第一个适配规则是不确定的。如果系统中没有与应用的分区大小相同的空闲区域,则选定的空闲区域是满足要求的最小空闲区域,较大的空闲区域不会被破坏。缺点:备用区的大小通常不等于应用程序分区的大小,因此它被分为两个,剩余的备用区通常太小而无法使用。随着时间的推移,系统中会有越来越多
18、的小空闲区域,导致存储区域的大量浪费。2.动态分区分配,分区分配算法:最差自适应分配:当进程申请具有大小的存储区域时,它总是检查空闲区域表中第一个空闲区域的大小是否大于或等于大小。如果空闲区域小于大小,分配将失败;否则,将空闲区中的大小存储区分配给用户,然后修改和调整空闲区表。回收:根据释放区域的第一个地址查询空闲区域表(队列)。如果有一个空闲区域与释放的区域相邻,将其合并到相邻的空闲区域中,并修改该区域的大小和第一个地址;否则,将释放的区域作为空闲区域插入空闲区域表(队列)。空闲区表(队列)应该在分配和回收后重新排序。2.动态分区分配,分区分配算法:最差拟合方法最差拟合方法看起来很荒谬,但是经过更仔细的研究,它仍然有它的优点:当程序加载到内存中最大的空闲区域时,剩余的空闲区域可能相当大,可以安装更大的程序。另一方面,一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京市2023北京日报社招聘笔试历年参考题库典型考点附带答案详解
- 云南省2024西南林业大学公开招聘博士研究生(119人)笔试历年参考题库典型考点附带答案详解
- 云南省2024云南文山州事业单位紧缺岗位招聘(243人)笔试历年参考题库典型考点附带答案详解
- 2026年山西经贸职业学院单招综合素质考试题库附参考答案详解(达标题)
- 2026年广东省外语艺术职业学院单招职业技能测试题库及答案详解(名师系列)
- 2026年山西铁道职业技术学院单招职业技能测试题库附答案详解(综合卷)
- 2026年岳阳职业技术学院单招职业技能测试题库带答案详解(模拟题)
- 2026年山西省晋城市单招职业倾向性考试题库及答案详解(基础+提升)
- 2026年广东科贸职业学院单招职业倾向性考试题库含答案详解(巩固)
- 2026年广东省河源市单招职业倾向性测试题库及答案详解(易错题)
- 2026贵州省气象部门第二批公开招聘应届毕业生22人考试参考题库及答案解析
- 2026甘肃安泰集团有限责任公司招聘工作人员6人考试备考题库及答案解析
- 2026年咸宁职业技术学院单招职业倾向性测试题库及答案详解(网校专用)
- 2026年上饶职业技术学院单招职业技能测试模拟测试卷附答案解析
- 迟到考勤考核制度
- 2025年番禺水务集团笔试及答案
- (高职)客房服务与管理电子全套教学课件(完整版)
- 潜水医学PPT完整全套教学课件
- 制浆造纸设备与机械
- 2023年黑龙江省高职单招面试题库及答案解析
- TZJXDC 002-2022 电动摩托车和电动轻便摩托车用阀控式铅酸蓄电池
评论
0/150
提交评论