第3章_存储器管理.ppt_第1页
第3章_存储器管理.ppt_第2页
第3章_存储器管理.ppt_第3页
第3章_存储器管理.ppt_第4页
第3章_存储器管理.ppt_第5页
已阅读5页,还剩184页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章是内存管理,它是操作系统的重要组成部分。它负责管理计算机系统的内存。3.1计算机系统中的内存、内存、外存和缓存越来越快,访问容量越来越小,成本越来越大。寄存器是中央处理器不可分割的一部分,可用于临时存储指令、数据和地址。常用寄存器有:指令寄存器、通用寄存器、控制寄存器等。高速缓存是位于中央处理器和内存之间的一种临时内存,它的容量比内存小,但交换速度快,内存大,存储容量大,访问速度快。存储单元以字节为单位寻址。用于存储用户当前需要执行的程序和数据,以及操作系统控制和管理的信息。内存、用户区域、0、n-1、操作系统、内存管理主要指内部内存的管理,用户程序中使用的地址为逻辑地址3360。逻辑地

2、址空间:程序中由逻辑地址组成的地址范围称为逻辑地址空间(相对地址空间)。3.2重定位,程序a、程序b和程序c,假设程序a、程序b和程序c分别有100、50和120条指令,询问它们各自的逻辑地址空间范围。0,1,99,0,1,49,0,1,119,为了便于内存管理,系统从0开始给内存中的每个字节单元编号,这称为与主内存的绝对地址相对应的内存空间,称为“物理地址空间”,内存地址空间,物理地址,从地址,加载内存,思考:指令加载的逻辑和物理地址是什么?数据12345的逻辑和物理地址是什么?需要修改指令LOAD 1,500,12345中涉及的地址数量、重定位:我们称之为修改目标程序重定位中的指令和数据的

3、地址的过程,重定位程序的技术根据重定位的时机可以分为两种:静态重定位和动态重定位。1.静态重定位是指当目标程序加载到内存中时,加载程序修改目标程序中指令和数据的地址的重定位。对于每个程序,该地址转换在加载时只完成一次,并且在程序运行期间不执行重定位。优点:无需增加硬件地址转换机制,便于实现程序的静态连接。缺点是程序重新定位后不能再移动,不利于内存空间的有效利用;每个用户进程很难在内存中共享同一个程序的副本。2.动态重定位是指在程序执行期间每次访问内存之前进行重定位。这种转换是通过硬件地址转换机制实现的。通常,使用重定位寄存器,其中放置当前正在执行的程序在存储空间中的起始地址。重定位寄存器、也称

4、为“基址寄存器”。动态重定位的主要优点是:程序占用的内存空间是动态可变的,因此不需要将其连续存储在一个地方;由几个进程共享使用同一个程序副本更容易实现。它的主要缺点是需要额外的硬件支持,增加了成本。在()重定位之后,程序可以直接加载到内存中而无需修改,并且可以执行。静态重定位B动态重定位B,3.3-3.6存储管理机制,有很多存储管理方案,大致可以归纳为四种类型:分区管理、分页管理、段管理和段页面管理。对于每一个方案管理,我们都应该掌握它的基本思想、工作原理和特点。分区管理、单用户连续存储管理、固定分区管理和可变分区管理主要适用于单批处理系统。分配策略的基本思想是将内部内存作为一个整体分成两个分

5、区。一个分区被固定地分配给操作系统,这被称为“系统区域”;另一个分配给用户,称为“用户区”。3.3单用户连续存储管理,单通道批处理系统,缺陷:系统效率低,资源利用率低。如果用户作业的相对地址空间大于用户区域,作业将无法运行。也就是说,大型作业不能在小内存上运行。如何保护记忆?提示:当执行一个用户程序时,在去一个地址获取指令或数据之前,中央处理器将地址与限制寄存器中的值进行比较。如果大于或等于该值,它可以继续执行,否则将产生地址越界中断。当采用这种存储分配策略时,用户程序将被静态地重新定位。1.处理器不能直接访问的存储器有()A、寄存器B、高速缓冲存储器C、主存储器D和CD 2。存储单元的寻址单

6、元是:(一)二进制位字节C字D块,D,B,3。存储管理中的地址转换(重定位)是指将绝对地址转换为逻辑地址,将物理地址转换为逻辑地址,将逻辑地址转换为绝对地址,将物理地址转换为相对地址。昂贵且最快的存取速度,但容量较小的存储器是()寄存器b高速缓冲存储器c主存储器d辅助存储器5。程序状态字寄存器属于()指令寄存器b通用寄存器c控制寄存器d时钟寄存器6。在处理器中只设置一个限制寄存器的内存管理模式是()页内存管理b可变分区内存管理C固定分区内存管理D单用户存储管理,A,C,D,7。地址转换在作业执行前集中完成,执行过程中不进行地址转换的定位方法称为_ _ _ _ _ _ _ _ _。8._ _ _

7、 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _。9.必须具有硬件地址转换机制的地址转换模式被称为_ _ _ _ _ _ _ _ _ _ _ _ _ _、静态重定位、硬盘和动态重定位,这意味着内部存储器中可用于分配的用户区域被预先分成几个连续的分区,并且每个分区的大小可以相同或不同。分区后,内部内存中的分区数量和每个分区的大小保持不变。每个分区只允许加载一次作业运行。3.4固定分区存储管理、38、系统区域、0,20K、第一分区(8KB)、第二分区(32KB)、第三分区(64KB)、第四分区(132kb)和256kb内存。在这个内存中最

8、多允许同时执行多少个作业?有两个作业A和B依次进入内存,大小分别为80K和6K。如何分配内存?40、系统区域、0,20K、第一分区(8KB)、第二分区(32KB)、第三分区(64KB)、第四分区(132KB)、256KB内存、作业a、作业b、内部碎片、内部碎片、分配给用户但用户未使用的内存当使用标志为“0”时,表示该分区当前处于空闲状态,作业名称表示该分区已分配给该作业。固定分区存储管理的特点提高了内存资源的利用率。对进入分区的操作程序执行静态重定位。在固定分区存储管理中,不仅要防止用户程序对操作系统的入侵,还要防止用户程序之间的入侵。因此,必须在中央处理器中设置一对特殊寄存器、下限寄存器和上

9、限寄存器。当中央处理器想要执行该作业时,它将该作业的上限和下限地址加载到寄存器中。当执行指令时,如果下限地址绝对是上限地址,则意味着访问是合法的;否则,将发生“地址越界”中断。如何提高内存空间的利用率,并根据频繁发生的作业的大小和数量划分分区?尽可能充分利用每个分区。划分分区时,按照分区大小的顺序排列,以便找到满足作业要求的最小空闲区域,并将其分配到尽可能小的空闲空间。根据作业对主存的需求,排列多个作业队列,47,系统区域,0,20K,第一分区(8KB),第二分区(32KB),第三分区(64KB),48,操作系统,0,d,c,b,a,分区1,分区3,分区2,缺点:如果到达作业的大小大于任何分区

10、的长度,它就不能运行。进入分区的作业的大小不一定与分区的大小一致,这将不可避免地产生内部碎片并导致内存资源的浪费。也称为动态分区,存储空间的分区是在加载作业时执行的,分区大小正好满足作业的需要。3.5可变分区存储管理、主内存的分配和恢复当系统启动时,除了驻留的操作系统之外,内存是一个完整的大空闲区域。随后,几个调用作业被连续地分成不同大小几个分区,并被分配给它们。然而,在系统运行一段时间后,随着作业的退出和相应分区的释放,原始的整个存储区域将形成空闲分区和分配的分区交替的情况。作业甲(16KB)、作业乙(100KB)和作业丙(70KB)依次进入内存。此时,作业D(75KB)想要进入内存。您想分

11、配它吗?当作业需要加载到内部内存中时,如果当时内部内存中有足够的存储空间,则划分一个与作业的相对地址空间大小相同的分区并分配给它。如果没有足够的面积,分配将被拒绝。一段时间后,作业B的执行完成、和,当内存使用情况为F图时,如果另一个作业(大小为)、作业(大小为)和作业()相继提出内存使用申请,分析内存分配情况,剩余空间为外部碎片和外部碎片。在存储管理中,那些不能满足作业存储请求的空闲区域称为“外部碎片”。内部碎片是指分配给用户但用户未使用的存储区域。外部片段是不能分配给用户的存储区域。可变分区的管理模式:为了记录内存中已有的分区以及每个分区的类型,操作系统建立了一个名为“空闲区表”的表,用来记

12、录空闲区的起始地址和长度。可变分区描述表,未分配,未分配,空,空,空,空闲区域分配算法:在可变分区存储管理中,常用的分区分配算法有:第一自适应算法,最佳当第一自适应算法实现此分配算法时,总是将第一个找到的满足存储要求的空闲分区作为分配对象。在实现这种分配算法时,最优自适应算法总是从所有当前空闲区域中找出满足存储要求的最小空闲分区作为分配对象。最坏情况自适应算法在实现这种分配算法时,总是从所有当前空闲区域中找出满足存储要求的最大空闲分区作为分配对象。如果作业d到达,提出20KB的存储需求。如果系统实现了第一个自适应算法,应该给它分配哪个空闲分区?分配后的内存情况以图形方式显示。如果系统实现了最好

13、的自适应算法和最差的自适应算法,应该给作业D分配哪个空闲分区?Sikao,First Adaptive Algorithm,Best Adaptive Algorithm,Thinking:Job 1在每个算法下的内存分配,Start address,length,sign,a,d,c,b,16k,30k,10k,14k,Job 1: 13k自由区表的内容被不同地排序:First Adaptive Algorithm:在自由区表中按照自由区的地址顺序从小到大注册;最佳适配算法:在自由区表中根据自由区的长度从小到大注册;1(多种选择)在可变分区管理的主存分配算法中,需要在自由区表中按长度递增或递

14、减的顺序排列自由区项目的分配算法有:(a)、第一次适配(b)、循环第一次适配(c)、最佳适配(d)、最差适配(e)、随机适配(d)等。当回收由撤消作业占用的分区时,有必要检查回收的分区是否与空闲区域相邻,如果是,则将它合并成一个连续的大分区,在空闲区域表中注册它,并等待稍后的作业应用程序再次进行分配思考:当一个作业结束退出内存时,内存中空闲区域的数量一定会增加吗?当作业a的执行完成并且内存被推出时,每个图形中的空闲区域的数量有什么变化?3.5.2地址转换和存储保护。使用可变分区管理时,作业通常通过动态位置调整来加载。硬件设置两个特殊的控制寄存器:基址寄存器和长度限制寄存器,工作在内存的起始地址

15、和结束地址,73、基址寄存器、长度限制寄存器和绝对地址。内存、操作系统、0、a、ab、a、c、a、k、c、作业地址空间0、a、a、b、a、c、a、k、c、a、c、是、否、地址越界中断,图3-。3.5.3移动技术,移动,将作业从一个存储区域移动到另一个存储区域的工作,移动的目的,集中和分散的自由区域,这便于作业动态扩展内存,77、操作系统、作业1,自由区域,作业2,自由区域,作业3,自由区域、操作系统,作业1。作业1,空闲区域,作业2,空闲区域,作业3,空闲区域,作业3,空闲区域,空闲区域,a .分散空闲区域,c .移动作业3后,b .移动作业2后,使用移动技术,应该注意移动会增加系统开销。移动

16、是有条件的,系统资源被操作系统占用,需要处理器时间。不,它可以移动,有好处也有坏处。内存共享算法简单易实现,有外部碎片(碎片),由于内存浪费,无法实现内存扩展。1.可以使用静态重定位来转换地址的管理存储器方案是(A)、页面管理(B)、页面虚拟管理(C)、可变分区管理(D)、固定分区管理(D)。减少可变分区存储管理中碎片的措施是(A)增加分区长度(B)增加分区数量(C)使用移动技术(D)减少可变分区存储管理中的分区长度(3), 通常最快的分配算法是:(a)第一自适应分配b)最佳自适应分配c)最差自适应分配d)随机分配c,a,与地址转换相关的4个CPU寄存器是(a)指令寄存器b)基地址寄存器c)程

17、序状态字寄存器d)边界寄存器e)上限和下限寄存器BD, 6.单用户连续存储管理采用_ _ _ _ _ _ _ _ _模式进行地址转换。7在可变分区存储管理中,可用区域表来管理每个分区的分配和恢复。当一个作业完成并且分区被恢复时,发现空闲区域表条目没有增加,但是还减少了一项,表明作业_ _ _ _ _ _ _ _。8.当使用可变分区管理主存时,移动技术可以集中分散的空闲区域,方便_ _ _ _ _ _ _ _的操作。硬盘,静态重定位,上下自由区,动态内存扩展。前言:分区管理方案要求将作业放在连续的存储区域中,导致内存利用率低。例如,剩余的空间是。思考:当前的可用内存容量是10K,但是在分区管理方案下,你能加载8KB大小的程序吗?7KB,3KB,3.6页虚拟存储管理,在分区管

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论