操作系统chapter(5)课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《操作系统chapter(5)课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 chapter 课件
- 资源描述:
-
1、第三章第三章存储管理存储管理存储管理是指主存管理存储管理是指主存管理(外存管理见文件系统外存管理见文件系统),包括给进程分配主存片段,收回进程释放的主包括给进程分配主存片段,收回进程释放的主 存片段,为分配出去的主存片段提供保护与共存片段,为分配出去的主存片段提供保护与共 享,以及为作业提供一个虚拟的存储空间享,以及为作业提供一个虚拟的存储空间 第三章第三章存储管理存储管理3.1 物理主存物理主存 物理主存简称主存,它是计算机系统中的存储装置物理主存简称主存,它是计算机系统中的存储装置 个人计算机上通常都配有个人计算机上通常都配有12128MB的的RAM,除了操作系,除了操作系 统代码占用一部
2、分外,余者皆为用户区域,由用户进统代码占用一部分外,余者皆为用户区域,由用户进 程瓜分程瓜分 存储管理存储管理3.2 存储概念和虚存管理存储概念和虚存管理 链接工作的实质是按照各个程序段之间的链接工作的实质是按照各个程序段之间的调用关系把各段的地址统一成从调用关系把各段的地址统一成从0开始的一维开始的一维线性地址。链接既可在作业运行之前,也可线性地址。链接既可在作业运行之前,也可在作业的程序段执行过程中依调用关系动态在作业的程序段执行过程中依调用关系动态地进行。前者称为静态链接,由地进行。前者称为静态链接,由link程序完程序完成;后者称为动态链接成;后者称为动态链接 第三章第三章存储管理存储
3、管理3.2 存储概念和虚存管理存储概念和虚存管理 从从0开始的指令地址和数据段地址组成作业开始的指令地址和数据段地址组成作业 的地址空间,它是逻辑上的,与主存地址的地址空间,它是逻辑上的,与主存地址 毫不相干,因此称为虚拟空间或虚拟存储毫不相干,因此称为虚拟空间或虚拟存储 器。虚存的容量与主存大小无关,它是由器。虚存的容量与主存大小无关,它是由 计算机系统的地址结构和寻址方式确定的计算机系统的地址结构和寻址方式确定的 进程区共 享 区私 用 区系 统 区系 统V xD及W indow s系 统D LL共 享 对 象非 系 统D LL私 用 地 址空 间未 用不 可 寻 址4GB3GB4GB2G
4、B4M B16K BFFFFFFFF512M B0000000000第三章第三章存储管理存储管理3.2 存储概念和虚存管理存储概念和虚存管理 Windows API控制进程的虚拟地址空间控制进程的虚拟地址空间 (1)私用堆私用堆 用户使用用户使用HeapCreate()来产生私用堆空间来产生私用堆空间 HANDLE HeapCreate(flOptions,dwInitialSize,dwMaximumSize)DWORD flOptions;/堆的分配标记堆的分配标记 DWORD dwInitialSize;/堆的初始长度堆的初始长度 DWORD dwMaximumSize;/堆的最大长度堆
5、的最大长度 第三章第三章存储管理存储管理3.2 存储概念和虚存管理存储概念和虚存管理 (2)保留虚空间保留虚空间 LPVOID VirtualAlloc(lpvAddress,cbSize,fdwAllocationType,fdwProtect)LPVOID lpvAddress;/该区虚地址 DWORD cbSize;/该区域的长度 DWORD fdwAllocationType;/该区域被指定的类型 DWORD fdwProtect;/该区域的访问保护即访问权限 第三章第三章存储管理存储管理3.2 存储概念和虚存管理存储概念和虚存管理 (3)存储映射文件存储映射文件.最主要的虚存管理特性
6、是最主要的虚存管理特性是 通过存储映射支持共享虚存区域通过存储映射支持共享虚存区域 LPVOID MapViewOfFile(hmapObect,fdwAccess,OffsetHigh,dwOffsetlow,cbMap)HANDLE hmapObject;/存储映射对象的句柄 DWORD fdwAccess;/访问模式 DWORD dwOffsetHigh;/32位地址的高位部分 DWORD dwOffsetLow;/32位地址的低位部分 DWORD cbMap;/映射的字节数 第三章第三章存储管理存储管理3.3 地址变换地址变换 物理主存空间地址是一维线性排列的,不妨记作物理主存空间地址
7、是一维线性排列的,不妨记作 M=0,1,2,2m-1,表示主存容量为表示主存容量为2m。例如,当。例如,当m=23时,主存的容时,主存的容 量为量为8MB。虚存的一维线性空间和二维线性空间。虚存的一维线性空间和二维线性空间 分别记为:分别记为:V1=0,1,2,2v-1 V2=0段段0,1,2,n0,1段段0,1,2,n1,,s段段0,1,2,ns 第三章第三章存储管理存储管理3.3 地址变换地址变换 所谓地址变换所谓地址变换(又称地址映射又称地址映射)就是把多个就是把多个V空间映空间映射到射到M空间上去,或者说是把虚存地址变换成物理主空间上去,或者说是把虚存地址变换成物理主存地址存地址 第三
8、章第三章存储管理存储管理3.4 进程空间不大于主存空间的管理进程空间不大于主存空间的管理 图图3-2图图3-2 固定分区原理图固定分区原理图第三章第三章存储管理存储管理3.4.1 固定分区固定分区 由于进程空间由于进程空间(PS)的虚地址是从的虚地址是从0开始递增编址的,开始递增编址的,因此装入模块在把它装入到分区时,必须把所有因此装入模块在把它装入到分区时,必须把所有 虚地址变换成从分区始址为起点的物理地址,其虚地址变换成从分区始址为起点的物理地址,其 变换公式是变换公式是:物理地址物理地址=虚地址虚地址+分区的始址分区的始址 第三章第三章存储管理存储管理3.4.1 固定分区固定分区 静态重
9、定位静态重定位(static address relocation)动态重定位动态重定位(dynamic address relocation)如如图图3-3 图图3-3 动态重定位过程示意图动态重定位过程示意图BR(基址寄存器)VR(有效地址寄存器)+物址 1500物址 1000虚址虚址500Load 1,500虚址100虚址012345进程空间5001000第三章第三章存储管理存储管理3.4.1 固定分区固定分区 固定分区的保护是指各进程空间在主存内运行固定分区的保护是指各进程空间在主存内运行时保证其每个物理地址都不超越自己的上下界限时保证其每个物理地址都不超越自己的上下界限 2 2种保护
10、法(见种保护法(见图图3-43-4)对上下界保护法满足:对上下界保护法满足:(UR)(UR)物理地址物理地址(LR)LR)对基址对基址/限长保护法满足:限长保护法满足:(BR)(BR)物理地址物理地址(BR)+(LR)BR)+(LR)基址寄存器BR1000限长寄存器LR1000上界寄存器UR被保护的区域被保护的区域主存下界寄存器LR10002000PSi基址/限长保护法(左)上下界保护法(右)第三章第三章存储管理存储管理3.4.2 可变可变分区分区 根据进程空间的实际大小按需分配主存空间根据进程空间的实际大小按需分配主存空间 这种管理方法下,主存分区的个数,各区域的这种管理方法下,主存分区的个
11、数,各区域的大小,在主存内活动的进程个数等都是随时间而大小,在主存内活动的进程个数等都是随时间而变化的。所以,可变分区又称为动态分区变化的。所以,可变分区又称为动态分区 图图3-53-5 图图3-63-6PS5PS4PS3PS2PS10K主 存 需 求 量:50K70K30K 100K 60KOS估 计 运 行 时 间:15820510FCFS40K256K图图3-5 可变分区管理初始状态示例可变分区管理初始状态示例 40K100K200K230K256K(a)(b)(c)(d)(e)PS160K170KPS2100KPS2释放PS1PS330KPS330KPS330KPS330KPS330K
12、分配PS4PS1PS470KPS1释放PS470K分配PS5PS470KPS550K第三章第三章存储管理存储管理3.4.2.1 数据结构数据结构 有有2种数据结构,即自由区表种数据结构,即自由区表FBT(Free Block Table)和自由区链和自由区链FBC(Free Block Chain)供可变分供可变分区管理选用区管理选用(图图3-7)FBC的设计技巧在于,它利用自由区本身的空的设计技巧在于,它利用自由区本身的空间记录自由区的大小及前后自由区的位置间记录自由区的大小及前后自由区的位置 主存现状01260K40K30K 170K26K 230K大小 始址已分60K 170K60K F
13、REE已分30K 230K30K 40K已分26K FREE26K 170K已分始端指针当前指针尾端指针40K170K230KFREE 结点(a)FBT(b)FBC第三章第三章存储管理存储管理3.4.2.2 分区分配算法分区分配算法 首次适应法首次适应法(First Fit)找到第找到第1个能满足长度要求的自由区,从中截取所需空间个能满足长度要求的自由区,从中截取所需空间 最佳适应法最佳适应法(Best Fit)从自由区链中挑选能满足申请长度的最小自由区从自由区链中挑选能满足申请长度的最小自由区 最坏适应法最坏适应法(Worst Fit)总是挑选最大的自由区分割给申请者总是挑选最大的自由区分割
14、给申请者 第三章第三章存储管理存储管理3.4.2.3分配分配/回收程序与优先级考虑回收程序与优先级考虑 以首次适应算法和FBC结构为例,请求大小为x的自由存储区分配程序如下:PROCEDURE get_block(x,p);BEGIN i:=1;WHILE (FBCi.size0)AND (FBCi.size=THEN BEGIN FBCi.size:=y;FBCi.adder:=FBCi.adder+x:END END END 第三章第三章第三章第三章存储管理存储管理3.4.2.3分配分配/回收程序与优先级考虑回收程序与优先级考虑 回收过程回收过程(free_block)回收时要考虑回收的自
15、由区是否与原自由区邻接回收时要考虑回收的自由区是否与原自由区邻接 图图3-8回收区已分配已分配已分配回收区已分配已分配已分配回收区已分配已分配回收区第三章第三章存储管理存储管理3.4.2.3分配分配/回收程序与优先级考虑回收程序与优先级考虑 get_block算法越快,系统的性能越好算法越快,系统的性能越好 要研制快速要研制快速get_block算法并且给予它以算法并且给予它以高的优先级以便尽快得到高的优先级以便尽快得到CPU响应响应 第三章第三章存储管理存储管理3.4.2.4 地址变换与保护地址变换与保护图图3-9 地址变换与保护地址变换与保护虚地址CPU 有效地址寄存器比较电路分区长度限长
16、寄存器越界信号基 址基址寄存器主 存12345第三章第三章存储管理存储管理3.4.2.5 分区共享分区共享 只要只要2个进程空间包含相同的虚地址个进程空间包含相同的虚地址 (如如Windows 95),物理主存分区即被,物理主存分区即被2 进程所共享。同理,允许多进程共享进程所共享。同理,允许多进程共享 分区分区 第三章第三章存储管理存储管理3.4.3 页式管理页式管理把进程空间划分成较小的片段把进程空间划分成较小的片段(称为页面称为页面),把主存,把主存 也划分成较小的片段也划分成较小的片段(称为块称为块),使页长等于块长,使页长等于块长,恰好恰好1页能占用主存的页能占用主存的1块块(图图3
展开阅读全文