操作系统第四章课件-第四章存储器管理.ppt
《操作系统第四章课件-第四章存储器管理.ppt》由会员分享,可在线阅读,更多相关《操作系统第四章课件-第四章存储器管理.ppt(192页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Operating SystemOperating System操作系统第四章课件-第四章存储器管理 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望Operating SystemOperating System第四章第四章第四章第四章 存储器管理存储器管理存储器管理存储器管理q重点重点v理解重定位的基本概念理解重定位的基本概念 v掌握动态分区分配方式掌握动态分区分配方式 v掌握理解分页和分段存储管理方式掌握理解分页和分段存储管理方式 v理解虚拟存储器的基本概念理
2、解虚拟存储器的基本概念 v掌握请求分页系统的基本原理掌握请求分页系统的基本原理 q难点难点v动态分区分配算法动态分区分配算法 v分页和分段地址转换分页和分段地址转换v请求分页系统的地址转换及页面置换算法请求分页系统的地址转换及页面置换算法11/11/2022Page 2Operating SystemOperating System第四章第四章第四章第四章 存储器管理存储器管理存储器管理存储器管理q知识点知识点v重定位的基本概念重定位的基本概念 v动态分区分配方式及分配算法、分区保护动态分区分配方式及分配算法、分区保护v分页存储管理及地址变换、分段存储管理及地分页存储管理及地址变换、分段存储管
3、理及地址变换,信息共享和保护址变换,信息共享和保护v虚拟存储器的基本概念、特征,页面置换技术虚拟存储器的基本概念、特征,页面置换技术 v请求分页系统,页表机制、地址变换及页面置请求分页系统,页表机制、地址变换及页面置换算法换算法 11/11/2022Page 3Operating SystemOperating System第四章第四章第四章第四章 存储器管理存储器管理存储器管理存储器管理q存储器是计算机系统重要的组成部分存储器是计算机系统重要的组成部分q虽然存储器的容量不断扩大,但仍不能满虽然存储器的容量不断扩大,但仍不能满足要求,因此存储器管理是操作系统的重足要求,因此存储器管理是操作系统
4、的重要工作要工作11/11/2022Page 4Operating SystemOperating System第四章第四章第四章第四章 存储器管理存储器管理存储器管理存储器管理q存储器包括内存(主存)和外存(磁盘)存储器包括内存(主存)和外存(磁盘)v存储器的功能是保存数据,存储器的发展方向存储器的功能是保存数据,存储器的发展方向是高速、大容量和小体积。是高速、大容量和小体积。内存在访问速度方面的发展:内存在访问速度方面的发展:DRAM、SDRAM、SRAM等;等;硬盘技术在大容量方面的发展:接口标准、硬盘技术在大容量方面的发展:接口标准、存储密度等;存储密度等;q主存储器管理技术分为两大类
5、主存储器管理技术分为两大类v实存储器管理实存储器管理v虚拟存储器管理虚拟存储器管理11/11/2022Page 5Operating SystemOperating System第四章第四章第四章第四章 存储器管理存储器管理存储器管理存储器管理q存储器的物理组织、多级存储器存储器的物理组织、多级存储器v存储组织是指在存储技术和存储组织是指在存储技术和CPU寻址技术许可的寻址技术许可的范围内组织合理的存储结构。范围内组织合理的存储结构。其依据是访问速度匹配关系、容量要求和价其依据是访问速度匹配关系、容量要求和价格。格。“寄存器寄存器-内存内存-外存外存”结构结构“寄存器寄存器-缓存缓存-内存内存
6、-外存外存”结构;结构;v微机中的存储层次组织:微机中的存储层次组织:访问速度越慢,容量越大,价格越便宜;访问速度越慢,容量越大,价格越便宜;最佳状态应是各层次的存储器都处于均衡的最佳状态应是各层次的存储器都处于均衡的繁忙状态(如:缓存命中率正好使主存读写保繁忙状态(如:缓存命中率正好使主存读写保持繁忙);持繁忙);11/11/2022Page 6Operating SystemOperating System第四章第四章第四章第四章 存储器管理存储器管理存储器管理存储器管理q快速缓存:快速缓存:vData CachevTLB(Translation Lookaside Buffer)q内存:
7、内存:DRAM,SDRAM等;等;q外存:软盘、硬盘、光盘、磁带等;外存:软盘、硬盘、光盘、磁带等;11/11/2022Page 7Operating SystemOperating System第四章第四章第四章第四章 存储器管理存储器管理存储器管理存储器管理q主存储器管理功能主存储器管理功能v存储分配和回收:分配和回收算法及相应的数据结构。存储分配和回收:分配和回收算法及相应的数据结构。v地址变换和重定位:地址变换和重定位:可执行文件生成中的链接技术可执行文件生成中的链接技术程序加载程序加载(装入装入)时的重定位技术时的重定位技术进程运行时硬件和软件的地址变换技术和机构进程运行时硬件和软件
8、的地址变换技术和机构v存储共享和保护:存储共享和保护:代码和数据共享代码和数据共享地址空间访问权限(读、写、执行)地址空间访问权限(读、写、执行)v存储器扩充:存储器的逻辑组织和物理组织;存储器扩充:存储器的逻辑组织和物理组织;由应用程序控制:覆盖;由应用程序控制:覆盖;由由OS控制:交换(整个进程空间),虚拟存储的请求调入和控制:交换(整个进程空间),虚拟存储的请求调入和预调入(部分进程空间)预调入(部分进程空间)11/11/2022Page 8Operating SystemOperating System第四章第四章第四章第四章 存储器管理存储器管理存储器管理存储器管理q程序的装入和链接
9、程序的装入和链接 q连续分配方式连续分配方式 q基本分页存储管理基本分页存储管理 q基本分段存储管理基本分段存储管理q虚拟存储器的基本概念虚拟存储器的基本概念q请求分页存储管理方式请求分页存储管理方式q页面置换算法页面置换算法q请求分段存储管理方式请求分段存储管理方式11/11/2022Page 9Operating SystemOperating System程序的装入和链接程序的装入和链接程序的装入和链接程序的装入和链接q程序的装入程序的装入q程序的链接程序的链接11/11/2022Page 10Operating SystemOperating System程序的装入程序的装入程序的装入
10、程序的装入q多道程序环境下,程序要运行必须为之创建进程,多道程序环境下,程序要运行必须为之创建进程,而创建进程的第一件事就是分配内存而创建进程的第一件事就是分配内存q源程序要运行通常经过源程序要运行通常经过编译(编译(compile)链接链接(link)装入装入(load)等几个步骤等几个步骤11/11/2022Page 11Operating SystemOperating System4.1 程序的装入和链接程序的装入和链接 图 4-1 对用户程序的处理步骤 11/11/2022Page 12Operating SystemOperating System4.1.1 程序的装入程序的装入1
11、.绝对装入方式绝对装入方式(Absolute Loading Mode)2.可重定位装入方式可重定位装入方式(Relocation Loading Mode)3.动态运行时装入方式动态运行时装入方式(Dynamic Run-time Loading)11/11/2022Page 13Operating SystemOperating System程序的装入程序的装入程序的装入程序的装入q绝对装入方式绝对装入方式(Absolute Loading Mode)v事先事先确定确定了程序将了程序将驻留在内存驻留在内存的什么的什么位置位置,即,即在内存中的在内存中的绝对地址绝对地址v装入模块被装入内存后
12、,由于程序中的逻辑地装入模块被装入内存后,由于程序中的逻辑地址与实际内存地址完全相同,故不需对程序和址与实际内存地址完全相同,故不需对程序和数据的地址进行修改数据的地址进行修改v绝对地址的产生绝对地址的产生程序员直接赋予。不仅要求程序员熟悉内存程序员直接赋予。不仅要求程序员熟悉内存使用情况,而且一旦程序或数据被修改后,使用情况,而且一旦程序或数据被修改后,可能要改变程序中的所有地址。通常在程序可能要改变程序中的所有地址。通常在程序中采用符号地址,在编译或汇编时,再将符中采用符号地址,在编译或汇编时,再将符号地址转换为绝对地址。号地址转换为绝对地址。编译或汇编时产生编译或汇编时产生11/11/2
13、022Page 14Operating SystemOperating System程序的装入程序的装入程序的装入程序的装入q可重定位装入方式可重定位装入方式(Relocation Loading Mode)v绝对装入方式只能将目标模块装入到内存中事绝对装入方式只能将目标模块装入到内存中事先指定的位置先指定的位置v在多道程序环境下,不可能预知目标模块放在在多道程序环境下,不可能预知目标模块放在内存中的地址,因此绝对装入方式不适合在多内存中的地址,因此绝对装入方式不适合在多道环境下使用道环境下使用v程序中程序中目标模块的地址通常从目标模块的地址通常从0开始开始,其他地,其他地址都是相对于址都是相
14、对于0计算计算相对地址相对地址v把在装入时对目标程序中指令和数据的地址修把在装入时对目标程序中指令和数据的地址修改过程称为改过程称为重定位重定位,又因为,又因为地址变换通常是在地址变换通常是在装入时一次完成装入时一次完成的,以后不再改变,故称为的,以后不再改变,故称为静静态重定位态重定位11/11/2022Page 15Operating SystemOperating System程序的装入程序的装入程序的装入程序的装入作业装入内存时的情况作业装入内存时的情况 缺点:不断的分配和回收,造成内存中小空闲块很多,总缺点:不断的分配和回收,造成内存中小空闲块很多,总空闲空间量够,但分配不了空闲空间
15、量够,但分配不了办法:紧凑(移动),但该装入方法不支持办法:紧凑(移动),但该装入方法不支持11/11/2022Page 16Operating SystemOperating SystemLOAD 1,25003655000250010000作业地址空间作业地址空间36510000110001250015000内存空间内存空间LOAD 1,1250036520000210002250025000内存空间内存空间LOAD 1,22500将程序加载到将程序加载到10000?程序的装入程序的装入程序的装入程序的装入将程序移动到将程序移动到20000?11/11/2022Page 17Operati
16、ng SystemOperating System程序的装入程序的装入程序的装入程序的装入q动态运行时装入方式动态运行时装入方式(Denamic Run-time Loading)v可重定位方式不允许程序运行时可重定位方式不允许程序运行时在内存中移在内存中移动位置动位置v动态运行时的装入程序,是在把装入模块装动态运行时的装入程序,是在把装入模块装入内存后,并不立即把装入模块中的相对地入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种址转换为绝对地址,而是把这种地址转换推地址转换推迟到程序真正要迟到程序真正要执行执行时才进行时才进行。因此,。因此,装入装入内存后的所有地址都内存后
17、的所有地址都仍是相对地址仍是相对地址11/11/2022Page 18Operating SystemOperating System程序的装入和链接程序的装入和链接程序的装入和链接程序的装入和链接q程序的装入程序的装入q程序的链接程序的链接11/11/2022Page 19Operating SystemOperating System4.1 程序的装入和链接程序的装入和链接 图 4-1 对用户程序的处理步骤 11/11/2022Page 20Operating SystemOperating System4.1.2 程序的链接程序的链接 1.静态链接方式静态链接方式(Static Link
18、ing)2.装入时动态链接装入时动态链接(Load-time Dynamic Linking)3.运行时动态链接运行时动态链接(Run-time Dynamic Linking)11/11/2022Page 21Operating SystemOperating System程序的链接程序的链接程序的链接程序的链接q静态链接方式静态链接方式(Static Linking)v在程序在程序运行前运行前,先将各目标模块及所需的库函,先将各目标模块及所需的库函数链接成一个完整的装配模块,以后不再拆开数链接成一个完整的装配模块,以后不再拆开v在将这几个目标模块装配成一个装入模块时,在将这几个目标模块装配
19、成一个装入模块时,须解决以下两个问题须解决以下两个问题 对相对地址进行修改对相对地址进行修改 变换外部调用符号变换外部调用符号11/11/2022Page 22Operating SystemOperating System程序的链接程序的链接程序的链接程序的链接模块模块 ACALL B;Return;0L1模块模块 BCALL C;Return;0M1模块模块 CReturn;0N1(a)目标模块目标模块(外存外存)装入前装入前链接修链接修改地址改地址0模块模块 AJSR“L”Return;L1模块模块 BJSR“LM”Return;LLM1LMLMN1模块模块 CReturn;(b)装入模
20、块装入模块(外存)(外存)11/11/2022Page 23Operating SystemOperating System程序的链接程序的链接程序的链接程序的链接q装入时动态链接装入时动态链接(Loadtime Dynamic Linking)v将用户的源程序编译后所得的一组目标模块将用户的源程序编译后所得的一组目标模块在装入内存时采用在装入内存时采用边装入边链接边装入边链接的方式的方式便于修改和更新便于修改和更新 便于实现对目标模块的共享便于实现对目标模块的共享 11/11/2022Page 24Operating SystemOperating System模块模块 ACALL B;Re
21、turn;0L1模块模块 BCALL C;Return;0M1模块模块 CReturn;0N1外存外存0模块模块 AJSR“L”Return;L1模块模块 BJSR“LM”Return;LLM1LMLMN1模块模块 CReturn;内存内存程序的链接程序的链接程序的链接程序的链接装入时装入时链接修链接修改地址改地址11/11/2022Page 25Operating SystemOperating System程序的链接程序的链接程序的链接程序的链接q运行时动态链接运行时动态链接(Run-time Dynamic Linking)v应用程序在每次运行的模块可能不相同应用程序在每次运行的模块可能
22、不相同v运行时动态链接方式将对某些模块的运行时动态链接方式将对某些模块的链接推链接推迟到迟到执行执行时才进行时才进行,即在执行过程中,当,即在执行过程中,当发现一个被调用模块发现一个被调用模块尚未装入内存尚未装入内存时,立时,立即由即由OS去找到该模块并将之装入内存,去找到该模块并将之装入内存,把把它链接到调用者模块上它链接到调用者模块上v凡在执行过程中未被用到的目标模块,都不凡在执行过程中未被用到的目标模块,都不会被调入内存和被链接到装入模块上,这会被调入内存和被链接到装入模块上,这样不仅可样不仅可加快程序的装入过程加快程序的装入过程,而且可,而且可节节省大量的内存空间省大量的内存空间11/
23、11/2022Page 26Operating SystemOperating System模块模块 ACALL B;Return;0L1模块模块 BCALL C;Return;0M1模块模块 CReturn;0N1外存外存0模块模块 AJSR“L”Return;L1内存内存执行时执行时链接修链接修改地址改地址11/11/2022Page 27Operating SystemOperating System第四章第四章第四章第四章 存储器管理存储器管理存储器管理存储器管理q程序的装入和链接程序的装入和链接 q连续分配方式连续分配方式 q基本分页存储管理基本分页存储管理 q基本分段存储管理基本分
24、段存储管理q虚拟存储器的基本概念虚拟存储器的基本概念q请求分页存储管理方式请求分页存储管理方式q页面置换算法页面置换算法q请求分段存储管理方式请求分段存储管理方式11/11/2022Page 28Operating SystemOperating System连续分配方式连续分配方式连续分配方式连续分配方式q单一连续分配单一连续分配q固定分区分配固定分区分配q动态分区分配动态分区分配q可重定位分区分配可重定位分区分配q对换(对换(SwappingSwapping)11/11/2022Page 29Operating SystemOperating System单一连续分配单一连续分配单一连续分
25、配单一连续分配q连续分配方式为连续分配方式为一个用户一个用户程序分配一个连续的程序分配一个连续的内存空间内存空间q单一连续分配单一连续分配是最简单的一种存储管理方式,是最简单的一种存储管理方式,但只能用于但只能用于单用户、单任务单用户、单任务的操作系统中的操作系统中q把内存分为把内存分为v系统区:系统区:OS使用,通常放在内存低址部分使用,通常放在内存低址部分v用户区:用户区:用户可使用的全部内存空间用户可使用的全部内存空间q存储器保护机构不健全,易造成系统破坏存储器保护机构不健全,易造成系统破坏q优点:易于管理优点:易于管理q缺点:对要求内存空间少的程序,造成内存浪缺点:对要求内存空间少的程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 第四 课件 存储器 管理
限制150内