算机操作系统课件.ppt
《算机操作系统课件.ppt》由会员分享,可在线阅读,更多相关《算机操作系统课件.ppt(104页珍藏版)》请在三一办公上搜索。
1、第四章 存储器管理,4.1 存储器的层次结构4.2 程序的装入和链接4.3 连续分配存储管理方式4.4 对换4.5 分页存储管理方式4.5 分段存储管理方式,1,4.1 存储器的层次结构,4.1.1 多级存储器结构4.1.2 主存储器与寄存器4.1.3 高速缓存和磁盘缓存,2,4.1.1 多级存储器结构,存储层次至少应有三级:CPU寄存器、主存、辅存,3,4.1.2 主存储器与寄存器,1、主存储器 主存也称可执行存储器。CPU可从其中取指令和数据,数据能从主存读取并装入到寄存器中,或从寄存器存入到主存。,2、寄存器 寄存器访问速度最快。其长度以字为单位。,4,4.1.3 高速缓存和磁盘缓存,1
2、、高速缓存(cache)容量大于寄存器,访问速度快于内存。Cache分类:一级cache紧靠内存,速度最高,容量最小。二级cache容量稍大,速度也稍低。,2、磁盘缓存 磁盘缓存本身并不是一种实际存储介质。实质:利用主存中的存储空间,来暂存从磁盘中读出或写入的信息,5,4.2 程序的装入和链接,从源程序到程序执行地址空间的概念重定位的概念程序的装入程序的链接,6,1、从源程序到程序执行,编译:编译程序由编译程序(Compiler)将用户源代码编译成若干个目标模块。链接:链接程序由链接程序(Linker)将编译后形成的一组目标模块,以及它们所需要的库函数链接在一起,形成装入模块。装入:装入程序由
3、装入程序(Loader)将装入模块复制到内存中。,库,7,2、地址空间的概念,物理(绝对)地址程序执行每个内存单元的固定顺序地址(编号)。内存:由字或字节组成的一维线性地址空间逻辑(相对)地址装入(汇编编译)被链接装配(或汇编、编译)后的目标模块所限定的地址的集合;相对于某个基准量(通常为:0)的编址。,8,重定位概念:在装入时对目标程序中指令和数据的修改过程称为重定位。即,逻辑地址变换为物理地址的过程。重定位的类型静态重定位:地址变换是在装入时一次完成的,以后不再改变。动态重定位:地址变换是在程序指令执行时进行的。,3、重定位的概念,9,BR:重定位寄存器VR:变址寄存器,0,0,10,4、
4、程序的链接,链接:把一个程序相关的一组目标模块和系统调用模块(库函数)链接形成一个整体装入模块的过程。具体工作:对相对地址的修改;变换外部调用符号。链接方式分类:静态链接装入时动态链接运行时动态链接,链接,11,5、程序的装入,含义:就是把链接好的装入模块装入“内存”。装入方式分类:绝对装入可重定位装入(静态重定位)动态运行时装入(动态重定位)提示:通常链接、装入程序是一体的。,12,4.3 连续分配存储管理方式,为用户程序分配一个连续的内存空间。曾被广泛应用,且现在仍被采用。单一连续分配固定分区分配动态分区分配基于顺序搜索的动态分区分配算法基于索引搜索的动态分区分配算法动态可重定位分区分配,
5、13,4.3.1 单一连续分配,基本思想把内存分为系统区和用户区,系统区供OS使用,通常放在低址部分;系统区以外的全部内存空间是用户区。特点只能用于单用户、单任务的OS中。软件简单,硬件要求低(无需存储保护)实例CP/M,MS-DOS,RT-11,14,4.3.2 固定分区分配,最简单的一种可运行多道程序的存储管理方式。1、划分分区的方法分区大小相等:缺乏灵活性,用于控制多个相同对象的系统分区大小不等:多个较小分区、适量中等分区、少量大分区2、内存分配管理将分区按大小排队建立分区使用表起址、大小、状态程序装入时,由内存分配程序检索分区使用表,找到符合要求的分区,并进行标记。,15,作业 1,作
6、业 2,作业 3,已使用,已使用,已使用,作业1进入,大小30K,作业2进入,大小500K,作业3进入,大小8K,16,、动态分区分配,根据进程的实际需要,动态的分配内存空间1、内存管理方式(数据结构):空闲分区表序号、起址、大小等项空闲分区链双向链表,N个字节可用,空闲链表结构,17,2、动态分区分配算法()基于顺序搜索的动态分区分配算法首次适应算法:空闲分区按起址递增次序排列,从头开始直至找到第一个满足要求的空闲分区。特点:内存低端会留下小的空闲区,高端有大的空闲区;,循环首次应算法:从上次分配的位置之后开始查找。特点:使内存的空闲分区均匀,但缺乏大的空闲分区;,18,最佳适应算法:空闲分
7、区按大小递增的次序排列,从头开始找到第一个满足要求的空闲分区。缺点:会留下大量小碎片。,最坏适应算法:空闲分区按大小递减的次序排列,最前面的最大的空闲分区就是找到的分区。优点:分配后剩下的可用空间比较大 缺点:一段时间后就不能满足对于较大空闲区的分配要求。,19,基于索引搜索的动态分区分配算法 1、快速适应算法:空闲分区按容量大小进行分类。对于每一类具有相同容量的所有空闲空间分区,单独设立一个空闲分区链表。在内存中设立一张管理索引表,每个表项对应一种空闲分区类型。优点:查找效率高。保留大分区也不会产生碎片 缺点:分区归还主存时算法复杂。,20,2、伙伴系统:分区(已分配和空闲)大小均为2的k次
8、幂(1=k=m),2m 为可分配内存大小。对不连续的空闲分区,按分区大小进行分类。对具有相同大小的所有空闲分区,单独设立一个空闲分区双向链表,即会存在k个空闲分区链表。分配时,设需分配长度为n,找2i分区链的分区,使2i-1n2i 若无,找2i+1且把它均分两块,称为伙伴。一个加入2i分区链,一个分配;.回收时,若已存在2i空闲分区,则将其于伙伴合并为2i+1分区,.特点:性能取决于查找空闲分区的位置和分割、合并的时间。时间上不及快速适应算法,但空闲分区的使用率高,21,3、哈希算法:利用哈希快速查找的优点,以及空闲分区在可利用空闲区表中的分布规律,建立哈希函数,构造一张一空闲分区大小为关键字
9、的哈希表,该表的每一个表项记录了一个对应的空闲分区链表。分配时,根据所需空闲分区大小,通过哈希函数计算,即得到在哈希表中的位置,再分配,22,3、分区分配操作(分配算法流程)分配内存从空闲分区链(表)中找到所需大小的分区。判断条件:M.Size-U.Size Size 剩余部分挂接到空闲分区链(表)上。回收内存回收区与插入点的前一个空闲分区相邻接;回收区与插入点的后一个空闲分区相邻接;回收区与插入点的前后两个空闲分区相邻接;回收区不与任何一个空闲分区相邻接;优缺点管理复杂,总会有闲置的小分区“碎片”。,请求的分区大小,表中空闲分区大小,下限值,23,内存分配流程,24,内存回收时的情况,情况1
10、:,情况2:,情况3:,情况4:,25,、可重定位分区分配,1、动态重定位的引入随着系统接收的作业的增加,内存中连续的大块分区不复存在,产生了大量的“碎片”。新的作业无法装入到每个“碎片”小分区上运行,但所有碎片的空间总和可能大于需求。通过“拼接”或“紧凑”来实现程序的浮动(动态重定位)。,26,27,2、动态重定位的实现必须由硬件地址变换机构支持实现重定位R重定位寄存器:存放程序在内存中的起始地址。,28,优缺点分析优点:消除了“碎片”,提高了内存利用率,同时提高了系统效率。缺点:需要动态重定位“硬件”机构支持,增加了系统成本,并轻度降低了程序执行速度,“紧凑”处理增加了系统开销。,3、可重
11、定位分区分配算法 与动态分区分配算法基本相同,但增加了紧凑功能,29,1、对换的引入对换的定义 P135目的:用于解决内存不足的问题;对换的类型:整体对换:以进程为单位的对换 部分对换:以“页”或“段”为单位的对换2、对换空间的管理外存的划分:文件区、对换区管理方式:空闲分区表、空闲分区链分配算法:首次适应法、循环首次适应法、最佳适应法,4.4、对换(Swapping),30,3、进程的换出与换入进程的换出选择处于阻塞状态且优先级最低的进程将该进程的程序和数据传送道磁盘的对换区上回收内存空间,修改该进程的PCB进程的换入定时查看进程状态将处于就绪态的换出时间最久的进程换入内存,31,例如:在分
12、时系统中,一台主机,多台终端,每个用户得到的内存有限,因此可利用外存作为补充。,内存,就绪队列,32,4.5基本分页存储管理方式,连续分配方式的不足,促使人们产生了离散分配的管理思想。从而引入了“分页”分配管理的管理方式。分为:基本分页(纯分页)和支持虚存管理的请求分页管理。页面与页表地址变换机构两级和多级页表基本分页的特点,33,、页面与页表,34,页号P和页内地址d的计算公式 PINT A/L INT:整除函数 dA MOD L MOD:取余函数(A:逻辑地址空间中的地址,L:页面大小)例如:某系统的页面大小为1KB,地址A=2170B,则求得P=2,d=1223、页表页面映像表数据结构:
13、页号、块号、存取控制项页表作用:实现从页号到物理块号的地址映射。,35,、地址变换机构,1、基本的地址变换机构地址变换机构的任务:实现地址映射,即从逻辑地址到物理地址的变换过程。页表存放在内存系统区的一个连续空间中;PCB和页表寄存器PTR中存有页表在内存的首地址和页表长度;地址映射过程:(如图)自动的将逻辑地址分为页号和页内地址根据页号查询页表:页表首地址+页号*表项长度;,36,找到该页对应的物理块号,装入物理地址寄存器将页内地址送入物理地址寄存器。,37,2、具有快表的地址变换机构快表(联想寄存器)具有并行查询能力的高速缓冲寄存器空间大小:几K到几百K,只含有部分页表项(16512个)快
14、表与页表同时访问;地址映射过程:将页号P送入快表,若有此页号,则读出该页对应的物理块号;若无,则访问页表将物理块号送入地址寄存器,并将此页表项存入快表。若快表已满,则换出一个不再用的页表项,38,、两级和多级页表,两级页表解决大页表占用大的连续存储空间的问题;将在内存中离散分配的页表再建立一张页表,称为外层页表。逻辑地址:外层页号+外层页内地址+页内地址增设外层页表寄存器,存放外层页表的始址,39,具有两级页表的地址变换机构,40,基本分页的特点:,优点:存在页内碎片,但碎片相对较小,内存利用率较高实现了离散分配,消除了程序浮动;缺点:需要专门的硬件支持,尤其“快表”;内存访问的效率下降。,4
15、1,4.6分段存储管理方式,分段管理思想的引入基本原理地址变换分段与分页的主要区别段页式存储管理方式,42,、分段管理思想的引入,分段存储管理方式主要是为了满足用户和程序员的下述需要:方便编程:LOAD 1,A|;信息共享:共享的实现以是信息的逻辑单位为基础信息保护:同样是对逻辑单位进行保护动态增长:如数据段动态链接:运行时调入内存并链接,43,、基本原理,1、分段作业(逻辑地址)空间分段,每个段都有名字:主程序段、子程序段、数据段、栈段等逻辑地址:二维地址(段号,段内地址)每个段装入内存中的一个连续的内存空间2、段表段号、段基址、段长度等每个段在段表中占一个表项段表寄存器:存放段表的起址和长
16、度利用段表实现地址映射,44,3、基本分段管理的地址变换与基本分页管理的变换机构和过程类似。段表寄存器存放段表的起始地址和段表长度;,越界访问控制逻辑地址的段号与段表长度比较;段内地址与段表中保存的段长比较;,45,150*1024=153600153600+105=153705,46,4、分段与分页的主要区别,页是信息的物理单位,段是信息的逻辑单位;页的大小固定,段的大小动态变化;分页系统中的逻辑地址空间是一维的,分段系统中的是二维的。,47,段表,基址,段长,240K,40K,80K,160K,1,0,段号,editor,Job1数据,进程1,editor,Job2数据,进程2,基址,段长
17、,380K,40K,80K,160K,1,0,段号,editor,Job1数据,Job2数据,分段系统易实现信息共享:,、信息共享,48,页表,editor1,data1,进程1,data1,进程2,editor2,editor40,editor1,editor2,editor40,data10,data10,0,21,22,60,61,70,71,80,49,例1:已知某分页系统,主存容量为64k,页面大小为1k,对一个4页大的作业,第0、1、2、3页被分配到内存的2、4、6、7块中。求:将十进制的逻辑地址1023、2500、4500转换成物理地址。,解:(1)1023/1K,得到页号为0,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课件

链接地址:https://www.31ppt.com/p-6329349.html