操作系统存储管理.pptx
《操作系统存储管理.pptx》由会员分享,可在线阅读,更多相关《操作系统存储管理.pptx(164页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本章内容5.1 存储管理的基本概念存储管理的基本概念5.2 分区存储管理5.3 简单页式存储管理5.4 请求页式虚拟存储管理5.5 windows系统的存储管理5.6 段式与段页式存储管理第1页/共164页5.15.1存储管理的基本概念存储管理的基本概念存储系统的层次组织存储系统的层次组织用户程序的地址空间、重定位概念存储管理的基本任务内存内存内存内存/主存:主存:主存:主存:(Main Memory/Primary Memory/Real Memory Main Memory/Primary Memory/Real Memory)是)是)是)是指指指指CPUCPU能直接存取指令和数据的存储器
2、能直接存取指令和数据的存储器能直接存取指令和数据的存储器能直接存取指令和数据的存储器.外存外存外存外存/辅存:辅存:辅存:辅存:(Secondary StorageSecondary Storage)硬盘、软盘和磁带等存储器。)硬盘、软盘和磁带等存储器。)硬盘、软盘和磁带等存储器。)硬盘、软盘和磁带等存储器。第2页/共164页1、存储器的层次第3页/共164页存储系统的层次组织1.1.存储器的层次存储器的层次 按照速度、容量和成本划分,存储器系统构成一个层次结构,如图所示。磁磁磁磁 带带带带磁磁磁磁 盘盘盘盘内内内内 存存存存寄存器寄存器寄存器寄存器高速缓存高速缓存高速缓存高速缓存存储器存取时
3、间减少存储器存取时间减少存储器存取时间减少存储器存取时间减少存储器存取速度增加存储器存取速度增加存储器存取速度增加存储器存取速度增加存储器成本增加存储器成本增加存储器成本增加存储器成本增加存储器容量减少存储器容量减少存储器容量减少存储器容量减少第4页/共164页存储系统的层次组织存储系统的层次组织用户程序的地址空间、重定位概念用户程序的地址空间、重定位概念存储管理的基本任务第5页/共164页用户程序的地址空间、重定位概念1.用户程序的地址空间用户程序的地址空间源程序:源程序:源程序:源程序:用高级语言或汇编语言编写的程序。用高级语言或汇编语言编写的程序。用高级语言或汇编语言编写的程序。用高级语
4、言或汇编语言编写的程序。编辑编辑编辑编辑:创建源文件(文本),创建源文件(文本),创建源文件(文本),创建源文件(文本),(形成符号空间)(形成符号空间)(形成符号空间)(形成符号空间)如:如:如:如:.asm.asm、.c.c、.cpp.cpp、.pas.pas等;等;等;等;编译编译编译编译:生成目标文件(能被处理机识别的二进制代码):生成目标文件(能被处理机识别的二进制代码):生成目标文件(能被处理机识别的二进制代码):生成目标文件(能被处理机识别的二进制代码),(生成目标代码)(生成目标代码)(生成目标代码)(生成目标代码)如:如:如:如:.o.o、.obj.obj;链接链接链接链接:
5、生成可执行文件:生成可执行文件:生成可执行文件:生成可执行文件 .exe.exe,(确定相对地址)确定相对地址)确定相对地址)确定相对地址)将编译或汇编后得到的一组目标模块及所需库函数装将编译或汇编后得到的一组目标模块及所需库函数装将编译或汇编后得到的一组目标模块及所需库函数装将编译或汇编后得到的一组目标模块及所需库函数装配成一个完整的模块;配成一个完整的模块;配成一个完整的模块;配成一个完整的模块;第6页/共164页用户程序的地址空间、重定位概念装入装入:完成重定位,装入内存;(可以确定物理地址)相对地址相对地址/逻辑地址逻辑地址 绝对地址绝对地址/物理地址物理地址 重定位重定位:逻辑地址-
6、物理地址装入方式:绝对装入方式、可重定位装入方式、动态运行时装入方式运行运行:建立进程并执行,得到运行结果。(可以确定物理地址)第7页/共164页第8页/共164页符号符号符号符号源程序源程序源程序源程序目标目标目标目标代码代码代码代码可执行代可执行代可执行代可执行代码码码码汇编汇编汇编汇编编译编译编译编译连接连接连接连接地址重定位地址重定位地址重定位地址重定位名字空间名字空间名字空间名字空间地址空间地址空间地址空间地址空间存储空间存储空间存储空间存储空间:x=x+1x=x+1:R=XR=XR=R+1R=R+1X=RX=R:0 0:K K 100100:100+K100+K:R=XR=XR=R
7、+1R=R+1X=RX=R:程序的名字空间、地址空间及存储空间程序的名字空间、地址空间及存储空间程序的名字空间、地址空间及存储空间程序的名字空间、地址空间及存储空间第9页/共164页程序中符号名的集合(符号空间)目标模块中的地址(逻辑空间)CPU直接执行的绝对地址程序。这一地址集合(物理空间)第10页/共164页用户程序的地址空间、重定位概念程序必须装入内存后才能运行,装入程序需要根据内存的使用情况和分配策略,将模块放入到内存中,需要执行重定位。逻辑地址逻辑地址:用户程序中经编译之后的每个目标模块都以0为基地址顺序编址。也称为相对地址。绝对地址绝对地址:内存中各物理存储单元的地址都是从统一的基
8、地址开始顺序编址。也称为绝对地址。它是数据在内存中的实际存储地址。逻辑地址:逻辑地址:Load 1,Load 1,500500物理地址物理地址:Load 1,Load 1,15001500第11页/共164页 逻辑地址空间逻辑地址空间:由程序中逻辑地址组成的地址范围。物理地址空间物理地址空间:由内存中一系列存储单元所限定的地址范围。内存空间的编址从统一的基址0开始,为线性的一维地址空间,简称物理空间或绝对空间。重定位重定位:程序和数据装入内存时,需对目标程序中的地址进行修改。将逻辑地址转换为内存物理地址的过程称作重定位。重定位的技术按重定位的时机可分为两种:静态静态重定位重定位(装入内存时重定
9、位)和动态重定位动态重定位(程序执行时重定位)。第12页/共164页第13页/共164页1.静态重定位 静态重定位:静态重定位:在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即将程序的逻辑地址都改成为实际的内存地址。装入操作要求一次性一次性完成。优点:优点:无需增加硬件地址转换机构,便于实现程序的静态连接。缺点:缺点:存储空间为连续区域,且不可移动,不利于内存空间的有效利用;各进程很难共享内存中同一程序的副本。第14页/共164页第15页/共164页静态地址重定位示意图静态地址重定位示意图静态地址重定位示意图静态地址重定位示意图100100:25002500:2600
10、2600:0 0:程序的地址空间程序的地址空间程序的地址空间程序的地址空间1000010000:1010010100:1250012500:1260012600:内存的地址空间内存的地址空间内存的地址空间内存的地址空间LOAD 1LOAD 1,1250012500LOAD 1LOAD 1,25002500365365如:LOAD 1,2500 这条指令是把相对地址为2500的存储单元的内容365装入1号累加器而这时内容为365的存储单元的实际物理地址为12500(起始地址10000+相对地址2500)所以LOAD 1,2500 这条指令中的直接地址码要作相应的修改,365365即改为即改为即改
11、为即改为LOAD 1LOAD 1,1250012500。第16页/共164页2.动态重定位在程序执行期间,每次访问内存前进行重定位。地址变换依靠硬件地址转换机构实现。优点优点:程序占用的内存空间动态可变,不必连续存放在一处;比较容易实现几个进程对同一程序副本的共享使用。缺点缺点:需附加的硬件地址变换机构,增加了机器成本,且软件实现算法复杂。第17页/共164页第18页/共164页存储系统的层次组织存储系统的层次组织用户程序的地址空间、重定位概念存储管理的基本任务存储管理的基本任务第19页/共164页存储管理的基本任务存储分配存储保护存储共享存储扩充第20页/共164页内存分配内存分配是存储器管
12、理的最基本任务,也就是按用户要求把适当的存储空间分配给相应的作业。(1)分配基本内存空间(2)增加新的内存空间 动态申请或释放内存空间(3)回收内存空间第21页/共164页存储分配步骤存储分配步骤 首首首首先先先先,根根根根据据据据系系系系统统统统的的的的内内内内存存存存分分分分配配配配算算算算法法法法,在在在在空空空空闲闲闲闲的的的的内内内内存存存存分分分分区区区区中中中中寻寻寻寻找找找找到到到到一一一一块块块块满满满满足足足足进进进进程程程程需需需需要要要要的的的的内内内内存存存存空空空空间间间间,将将将将其其其其分分分分配配配配给给给给进程。进程。进程。进程。然然然然后后后后,更更更更新
13、新新新进进进进程程程程的的的的资资资资源源源源分分分分配配配配清清清清单单单单、内内内内存存存存分分分分配配配配情情情情况况况况清清清清单单单单等数据结构等数据结构等数据结构等数据结构。第22页/共164页内存的回收内存的回收 更更更更新新新新相相相相应应应应的的的的数数数数据据据据结结结结构构构构,将将将将回回回回收收收收的的的的内内内内存存存存空空空空间间间间标标标标识识识识为为为为“空空空空闲可用闲可用闲可用闲可用”就行了。就行了。就行了。就行了。?该内存空间是否可以被回收该内存空间是否可以被回收该内存空间是否可以被回收该内存空间是否可以被回收?被其他进程共享被其他进程共享被其他进程共享
14、被其他进程共享?与相临的空闲空间进行合并与相临的空闲空间进行合并与相临的空闲空间进行合并与相临的空闲空间进行合并第23页/共164页存储保护存储保护 防止地址越界,防止操作越权。防止地址越界,防止操作越权。防止地址越界,防止操作越权。防止地址越界,防止操作越权。地地地地址址址址越越越越界界界界:进进进进程程程程访访访访问问问问不不不不属属属属于于于于自自自自己己己己的的的的地地地地址址址址空空空空间间间间,或或或或者者者者说说说说进进进进程程程程在在在在运运运运行行行行时时时时所所所所产产产产生生生生的的的的物物物物理理理理地地地地址址址址超超超超越越越越其其其其自自自自身身身身的的的的地地地
15、地址址址址空空空空间范围。间范围。间范围。间范围。可可可可能能能能侵侵侵侵犯犯犯犯其其其其他他他他用用用用户户户户进进进进程程程程空空空空间间间间,也也也也可可可可能能能能侵侵侵侵犯犯犯犯操操操操作作作作系系系系统统统统的存储空间的存储空间的存储空间的存储空间 操操操操作作作作越越越越权权权权:进进进进程程程程对对对对共共共共享享享享存存存存储储储储区区区区的的的的操操操操作作作作违违违违反反反反了了了了系系系系统统统统规规规规定定定定的权限。的权限。的权限。的权限。第24页/共164页地址变换地址变换 在一般情况下,一个作业装入时分配到的存储空间和它的地址空间是不一致的。因此,作业在装入的时
16、候,或在其执行时,必须把程序地址空间中的逻辑地址转换为内存空间对应的物理地址。第25页/共164页地址映射地址映射 逻辑地址,或相对地址:一般从逻辑地址,或相对地址:一般从逻辑地址,或相对地址:一般从逻辑地址,或相对地址:一般从0 0 0 0开始编址开始编址开始编址开始编址 物理地址,或绝对地址:标识内存中的每个存储单元。物理地址,或绝对地址:标识内存中的每个存储单元。物理地址,或绝对地址:标识内存中的每个存储单元。物理地址,或绝对地址:标识内存中的每个存储单元。进程执行时的寻址进程执行时的寻址当前栈顶当前栈顶进程控制信息进程控制信息程序入口点程序入口点地址值增加地址值增加进程控制块进程控制块
17、程序程序栈栈数据数据访问数据访问数据分支指令分支指令进程映像进程映像第26页/共164页存储共享存储共享 为了进程通信和节约内存空间,两个或多个进程共用为了进程通信和节约内存空间,两个或多个进程共用为了进程通信和节约内存空间,两个或多个进程共用为了进程通信和节约内存空间,两个或多个进程共用内存中相同的分区,即他们的物理空间有相交的部分。内存中相同的分区,即他们的物理空间有相交的部分。内存中相同的分区,即他们的物理空间有相交的部分。内存中相同的分区,即他们的物理空间有相交的部分。可以共享进程的代码,也可以共享进程数据。可以共享进程的代码,也可以共享进程数据。可以共享进程的代码,也可以共享进程数据
18、。可以共享进程的代码,也可以共享进程数据。一般地,进程之间共享代码的目的主要是为了节约存一般地,进程之间共享代码的目的主要是为了节约存一般地,进程之间共享代码的目的主要是为了节约存一般地,进程之间共享代码的目的主要是为了节约存储空间,共享数据的目的主要是为了实现进程间相互储空间,共享数据的目的主要是为了实现进程间相互储空间,共享数据的目的主要是为了实现进程间相互储空间,共享数据的目的主要是为了实现进程间相互通信。通信。通信。通信。第27页/共164页PCB3 数据数据代码代码PCB2 代码代码数据数据PCB1数据数据代码代码 进程进程1进程进程2进程进程3进程之间共享代码和数据进程之间共享代码
19、和数据第28页/共164页存储扩充存储扩充 内存:速度快、容量小、价格贵内存:速度快、容量小、价格贵内存:速度快、容量小、价格贵内存:速度快、容量小、价格贵 外存:容量大、速度慢、价格便宜外存:容量大、速度慢、价格便宜外存:容量大、速度慢、价格便宜外存:容量大、速度慢、价格便宜 目目目目的的的的:在在在在多多多多道道道道程程程程序序序序系系系系统统统统中中中中能能能能运运运运行行行行更更更更多多多多、更更更更大大大大的的的的程程程程序序序序,降低系统的造价,提高系统的性价比降低系统的造价,提高系统的性价比降低系统的造价,提高系统的性价比降低系统的造价,提高系统的性价比 存储扩充:采用软件手段,
20、在硬件的配合下,将部分存储扩充:采用软件手段,在硬件的配合下,将部分存储扩充:采用软件手段,在硬件的配合下,将部分存储扩充:采用软件手段,在硬件的配合下,将部分外存空间虚拟为内存空间,并将内存和外存有机地结外存空间虚拟为内存空间,并将内存和外存有机地结外存空间虚拟为内存空间,并将内存和外存有机地结外存空间虚拟为内存空间,并将内存和外存有机地结合起来,得到一个容量相当于外存、速度接近于内存、合起来,得到一个容量相当于外存、速度接近于内存、合起来,得到一个容量相当于外存、速度接近于内存、合起来,得到一个容量相当于外存、速度接近于内存、价格十分便宜的价格十分便宜的价格十分便宜的价格十分便宜的虚拟存储
21、系统虚拟存储系统虚拟存储系统虚拟存储系统第29页/共164页本章内容5.1 存储管理的基本概念5.2 5.2 分区存储管理分区存储管理5.3 简单页式存储管理5.4 请求页式虚拟存储管理5.5 windows系统的存储管理5.6 段式与段页式存储管理第30页/共164页5.2 分区管理技术分区法分区法1.固定分区法2.动态分区法可重定位分区分配第31页/共164页5.2 分区管理技术内存分区的基本思想:由系统把实际内存的物理空间划分为若干个分区,每个分区都是一片在地址上连续的“小”空间。某个进程建立时就获得一个内存分区,进程执行完后归还该分区。第32页/共164页1.固定分区法 固定分区法:固
22、定分区法:内存中分区的个数固定不变,各个分区的大小也固定不变,但不同分区的大小可以不同。每个分区只可装入一个进程。分区说明表分区说明表:内存的分配释放、存储保护以及地址变换都通过分区说明表进行。优点:优点:分配、回收方便,适用于用户不多的小型机;缺点:缺点:管理方式简单,内存空间利用率低;第33页/共164页操作系统操作系统操作系统操作系统进程进程1 1进程进程进程进程2 2进程进程进程进程3 3分区分区分区分区1 1分区分区分区分区2 2分区分区分区分区3 3分区分区分区分区4 4(未分配(未分配(未分配(未分配)0 0 0 020K20K20K20K45K45K45K45K80K80K80
23、K80K130K130K130K130K200K200K200K200K分区号分区号分区号分区号大小大小大小大小KBKB开始地址开始地址开始地址开始地址KK状态状态状态状态1 1 1 12525252520202020正使用正使用正使用正使用2 2 2 23535353545454545正使用正使用正使用正使用3 3 3 35050505080808080正使用正使用正使用正使用4 4 4 470707070130130130130未使用未使用未使用未使用分区说明表分区说明表分区说明表分区说明表第34页/共164页2.动态分区法 动态分区法:动态分区法:各个分区是在相应进程要进入内存时才建立的
24、,使其大小恰好适应进程的大小。优点优点:改变了固定分区中小进程占据大分区的浪费现象,从而提高了系统的利用率。操作系统内部设置一个内存登记表内存登记表,记载整个内存中所有空闲区和已用区的情况,每个分区占一个表项,每个表项包括相应分区的大小、位置和状态等。第35页/共164页 MVTMVTMVTMVT的内存分配和进的内存分配和进的内存分配和进的内存分配和进程调度情况程调度情况程调度情况程调度情况 第36页/共164页 动态分区的数据结构:动态分区的数据结构:空闲分区表:空闲分区表:内存中每一个空闲的分区占用该表的一项。分区号分区号分区号分区号分区大小分区大小分区大小分区大小(KB)(KB)(KB)
25、(KB)分区始址分区始址分区始址分区始址(K)(K)(K)(K)状态状态状态状态1 1505075750 02 226261701700 03 340402752750 04 460604184180 05 5.第37页/共164页空闲分区链:空闲分区链:空闲分区链:空闲分区链:使用链指针把所有的空闲分区链接成一使用链指针把所有的空闲分区链接成一使用链指针把所有的空闲分区链接成一使用链指针把所有的空闲分区链接成一条链。条链。条链。条链。第38页/共164页分配算法从一组空闲区中选择一个可用区的常用策略有两种:最先适应算法(First-fit)和最佳适应算法(Best-fit)。最先适应法:最先
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 存储 管理
限制150内