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

下载本文档

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

文档简介

第4章

存储管理教学内容:1、程序的装入和链接2、分区存储管理方式3、虚拟存储器的基本概念4、分页存储管理方式5、页面置换算法6、分段存储管理方式7、段页存储管理方式教学重点:1、程序的装入(地址空间、名字空间、物理空间、地址重定位)2、虚拟存储器的基本概念3、分页存储管理方式4、页面置换算法教学难点:1、地址重定位2、分页存储管理方式3.页面置换算法§4.1引言内存管理的需求内存管理使用的技术分区式管理:固定式、可变式分区、多重分区页式管理、段式管理段页式管理操作系统的存储管理机构必须解决以下问题内存分配存储保护地址变换存储共享存储扩充差距硬件无关、应用相关用户对内存的使用要求硬件相关、应用无关内存硬件的使用特性操作系统内存管理功能的工作范围:一、主存管理二、存储层次、性能指标、主存作用1、存储层次、性能指标(容量、速度、存取频度、成本)内存寄存器外存容量小速度高存取频度高成本高存储器主存(内存)辅存(外存)系统区(OS标准子程序)

用户区(用户程序、数据)2、主存作用中级对主存的性能要求:(1)主存速度要快到与CPU执行指令的速度相匹配主存技术的实际发展由于技术原因和经济原因,速度赶不上CPU速度容量赶不上或勉强赶上应用程序长增长(2)主存容量要大到能装下当前运行的程序与数据(3)开机上电时主存能一直正常工作保持稳定可靠§4.2分区式存储管理地址重定位静态重定位动态重定位固定式分区可变式分区多重分区覆盖与交换可变分区分配和释放算法为多个程序安排内存PCB1PCB2PCB3程序1程序2程序3OS

分配内存程序1程序2程序3名字空间:程序中符号名的集合地址空间:一个目标程序所限定的地址范围,通常把编译程序形成的从0开始编址的地址空间称为作业的地址空间。每个可执行程序都有一个自己的地址空间。存储空间:是指主存中一系列存储信息的物理单元的集合。这些单元的编号称为物理地址或绝对地址、内存地址。存储空间的大小是由主存的实际容量决定的。存储空间按字节编址,从0开始,扩展到系统配置可用的最大数量。32位计算机的内存空间最大值?地址空间是逻辑地址的集合。存储空间是物理地址的集合一个是虚的概念,一个是实的物体。程序的名字空间、地址空间及存储空间符号源程序目标代码可执行代码汇编编译连接地址重定位名字空间*.C地址空间*.OBJ存储空间*.EXE:x=x+1::R=XR=R+1X=R:0:K100:100+K:R=XR=R+1X=R:地址重定位:地址空间中使用的逻辑地址变换成主存空间中的物理地址的过程。物理(实际)地址=相对(逻辑)地址+定位地址

虚拟空间

内存空间12345LoadA,500

0:100:500:800:

1000:0+1000123451500:500+10001800:800+1000LoadA,15001100:100+1000………静态地址重定位装入一个作业时,把作业中的指令地址全部转换为绝对地址(地址转换工作在作业执行前集中一次完成)在作业执行过程中无须再进行地址转换工作。优点:加快作业的运行速度。缺点:作业一旦被装入内存,不允许再移动;程序的存储空间连续。动态地址重定位:动态地址重地位是在程序执行过程中,在cpu访问内存之前,将要访问的程序或数据地址转换成内存地址.动态重定位依靠硬件地址变换机构完成。

虚拟空间

内存空间12345LoadA,500

0:100:500:1000

1500:

BRLoadA,15001000:1100:12345LoadA,500

优点:(1)目标模快不加修改而装入内存(2)一个程序有若干个相对独立的目标组成时,各目标模快装入内存的存储区不必相连600:1600:实际地址-相对地址:1000-0+

VR500程序在其生命周期各阶段表现出的地址形式(1)编译或汇编阶段

编译两个转换:将语句转换为机器指令将符号转换为内存地址注意:1.转换出的地址可能是相对地址2.可能不是所有符号都已转换为内存地址(2)连接阶段(可执行目标程序)

a.统一各目标程序中的相对地址为该程序的相对地址b.符号地址内存地址(相对地址)(3)装入阶段

可能需要重定位(4)执行阶段可能需要重定位(5)释放空间以二进制文件驻流在硬盘上一、分区式存储管理将内存划分成若干个连续的区域,每个分区只能存储一个程序。缺点:内存不能充分利用、内存不能扩充二、固定分区分配

运行其间不再划分。内存利用率不高区号大小起始地址标志123416K32K64K124K20K36K68K132K已分配已分配已分配未分配操作系统作业A作业C作业B020K36K68K132K第1分区第2分区第3分区第4分区(未分配)(b)内存分配图(a)分区说明表可

例三、可变分区分配

分区的个数大小不是固定不变、分区根据装入的作业动态划分可变分区说明表序号P大小起址状态18K20K已分配232K28K已分配3——空表目4120K92K已分配5——空表目…………已分配分区说明

序号F大小起址状态132K60K空闲2300K212K空闲3——空表目4——空表目5——空表目…………空闲分区说明表

可变分区分配和释放算法分配算法一般有:①最佳适应(BestFit)算法,它从全部空闲区中找出能满足作业需求的容量最小的空闲区分配之,此法的着眼点是使碎片尽量小。②最先适应(FirstFit)算法,它按序查找,把最先找到的满足需求的空闲区分配之,此法的目的在于尽量减少查找时间。③最坏适应(WorstFit)算法,此法的目的在于使剩下的空区最大,减少空区碎片机会。④下次适应算法(NextFit),此法将空闲区链成环形链,每次分配从上次分配的位置开始查找合适的空闲区。

可变分区的分配算法F=F+1置空闲区号F=1=LocF的起始地址置置F的状态=空表目置置P的大小=Xk置P的始址=Loc置P的=已分配本次无法分配=申请分配一个xk大小的分区F已超出最大项号?F的状态=空表目?F的大小

Xk?在已分配表中找一个状态=空表目的序号P返回序号P否是是否否否大于等于F的大小

Xk=新空闲块大小Loc+Xk=新起始地址回收示意图空闲区F1程序区回收区R空闲区F1

空闲区F2程序区回收区R

空闲区F2程序程序回收区R

程序区程序区回收区R

空闲区F2程序区程序区回收区R可变分区的回收算法=置新空闲分区的大小=Size始址=Loc状态=空闲在空闲分区表中置F2为空闲表目分区R与F1邻接?分区R与F1邻接?在空闲分区表中找一个空闲表目分区R与F2邻接?SizeSize+F2的大小已分配区说明表中置R的状态=空表目Size分区R的大小Loc分区的起始地址否是是是否否请求回收分区R置空闲分区F2的大小=Size+F1的大小置空闲分区F2的大小=Size始址=Loc返回F1四、多重分区基址寄存器1作业1作业1OS限长寄存器1基址寄存器2限长寄存器2提出背景:大程序、小空间解决方法:按需装入数据,不同时刻执行的代码或数据相互覆盖、需要事先确定所有代码和数据的位置(相互覆盖位置)五、覆盖技术覆盖技术举例A20KB50KF30KC30KD20KE40KRAMA20K覆盖区050K覆盖区140KBCFDE对覆盖的认识(1)覆盖由操作系统自动化完成,但要求作业各模块间有明确的调用结构,程序员必须正确设计覆盖结构和编程,任务繁重(2)额外的I/O操作覆盖通常限于用在微机和其他内存容量有限的或缺乏对更先进技术的硬件支持的系统中交换(swap)技术:发生进程切换时,总是把当前进程的所有代码、数据、栈全部从内存复制至外存,再把新当前进程的所有代码、数据、栈全部从外存复制至内存。盘交换区:在外存中用于存放所有换出进程的代码、数据、栈。六、交换技术交换技术中的五个问题:1.将哪个进程换出(入)内存?2.何时应发生交换?3.交换时需要做那些工作?4.换回位置的确定原则5.交换所需时间导致对时间片的影响、对程序长度保存使用要求、动态扩充时要及时登记的管理要求§4.3分页式存储管理实存管理分页原理页表地址变换机构虚存管理页表的扩充缺页中断处理页面淘汰算法快表页面共享一、分页原理1、等分内存2、等分地址空间3、地址形式4、页面尺寸:512-8KB0000010000000000

页内地址

页号相对页号P页内地值D物理块号页号二、建立页表有效(虚地址)操作系统物理块号特征页号作业2页表4528物理地址物理块号页表起始地址页表长度页表始址寄存器页号页内相对位移内存8644外存LOAD1,25004522150三、地址变换过程2023/2/4思考1:对指令LOADA5000进行地址重定位(页面长1K;页表中页面对应关系为0-1、1-3、2-4、3-6、4-7、5-8、6-9)。思考2:

对指令LOADA5000进行地址重定位(页面长2K;页表中页面对应关系为0-1、1-3、2-4、3-6、4-7、5-8、6-9)。请求分页页表页号特征内存块号外存块号修改位访问位0 00 11 01 1淘汰优先级01此页不在内存此页在内存Linux页表项定义缺页中断处理四、缺页处理产生原因:当前要执行的页信息不在主存中调用过程:文件系统管理设备管理进程状态地转换缺页中断处理过程页表

相对页号

物理块号

特征位

外存地址

0

1

2

3

m-1

存放位置、页表始址寄存器(当前运行用户程序的页表始址)快表 序号 相对页号 物理块号 访问过 特征位 0

1

2

3

m-1

快表地址映象35805628快表的地址映象操作

五、页面交换1、调页方式请调:动态地址变换机构产生一个缺页中断信号,OS接到信号后调用缺页中断处理程序。预调:按照某种算法,预测不久将要用到的页面并预先调入内存待用。2、淘汰时机设置空闲临界量3、淘汰算法

抖动:频繁进行页面调度,造成系统效率下降。页面淘汰算法先进先出(FIFO)最近最久未使用淘汰算法(LRU)最近不频繁使用淘汰算法(LFU)最优算法(OPT)以上几种淘汰算法中,FIFO算法最简单,但效率不高,有异常现象。LRU的近似算法和LFU是较为实用的算法,效果较好,实现也不难。OPT算法是一种最佳算法,但并不实用,因为要跟踪各页面方可预测未来。而这种预测往往是很困难的。目的:减少页面交换次数,节约处理机时间其他补救措施:1、在内存中的页若未被修改则在被淘汰时不必写回外存2、预淘汰方式,内存保留少量空页,减少延迟时间3、优化访问磁盘次序页式存储管理的保护措施:1、程序隔离:页面映像方法2、页面的存取控制:在页表中设置一个保护位2023/2/4思考3:

采用先进先出页面淘汰算法的系统中,一进程在内存占4块,页面访问序列为1、2、3、4、1、2、5、1、2、3、4、5、6、。运行时会产生()次缺页中断。§4.4分段存储管理一、原因:

(1)分区容易出现碎片(固定、动态)

(2)分页是利用率不高页式系统中一页或页号相连的几个逻辑页上存放的内容一般不是一个逻辑意义完整的信息单位,请调一页时可能只用到一部分内容。

段式地址结构段号s段内位移w分段地址空间:段表:二、段式地址变换段号段内地址sw长度基址段表第s段b+wl

温馨提示

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

评论

0/150

提交评论