《操作系统存储管理教案.pptx》由会员分享,可在线阅读,更多相关《操作系统存储管理教案.pptx(164页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、会计学1操作系统存储管理操作系统存储管理本章内容本章内容本章内容本章内容5.1 5.1 存储管理的基本概念存储管理的基本概念5.2 5.2 分区存储管理分区存储管理5.3 5.3 简单页式存储管理简单页式存储管理5.4 5.4 请求页式虚拟存储管理请求页式虚拟存储管理5.5 windows5.5 windows系统的存储管理系统的存储管理5.6 5.6 段式与段页式存储管理段式与段页式存储管理第1页/共164页5.1存储管理的基本概念存储管理的基本概念存储系统的层次组织存储系统的层次组织用户程序的地址空间、重定位概念用户程序的地址空间、重定位概念存储管理的基本任务存储管理的基本任务内存内存内存
2、内存/主存:主存:主存:主存:(Main Memory/Primary Memory/Real Memory Main Memory/Primary Memory/Real Memory)是)是)是)是指指指指CPUCPU能直接存取指令和数据的存储器能直接存取指令和数据的存储器能直接存取指令和数据的存储器能直接存取指令和数据的存储器.外存外存外存外存/辅存:辅存:辅存:辅存:(Secondary StorageSecondary Storage)硬盘、软盘和磁带等存储器。)硬盘、软盘和磁带等存储器。)硬盘、软盘和磁带等存储器。)硬盘、软盘和磁带等存储器。第2页/共164页1、存储器的层次、存储
3、器的层次第3页/共164页存储系统的层次组织存储系统的层次组织存储系统的层次组织存储系统的层次组织1.1.存储器的层次存储器的层次 按照速度、容量和成本划分,存储器系统构成一个按照速度、容量和成本划分,存储器系统构成一个层次结构,如图所示。层次结构,如图所示。磁磁磁磁 带带带带磁磁磁磁 盘盘盘盘内内内内 存存存存寄存器寄存器寄存器寄存器高速缓存高速缓存高速缓存高速缓存存储器存取时间减少存储器存取时间减少存储器存取时间减少存储器存取时间减少存储器存取速度增加存储器存取速度增加存储器存取速度增加存储器存取速度增加存储器成本增加存储器成本增加存储器成本增加存储器成本增加存储器容量减少存储器容量减少存
4、储器容量减少存储器容量减少第4页/共164页存储系统的层次组织存储系统的层次组织存储系统的层次组织存储系统的层次组织存储系统的层次组织存储系统的层次组织用户程序的地址空间、重定位概念用户程序的地址空间、重定位概念存储管理的基本任务存储管理的基本任务第5页/共164页用户程序的地址空间、重定位概念用户程序的地址空间、重定位概念用户程序的地址空间、重定位概念用户程序的地址空间、重定位概念1.1.用户程序的地址空间用户程序的地址空间源程序:源程序:源程序:源程序:用高级语言或汇编语言编写的程序。用高级语言或汇编语言编写的程序。用高级语言或汇编语言编写的程序。用高级语言或汇编语言编写的程序。编辑编辑编
5、辑编辑:创建源文件(文本),创建源文件(文本),创建源文件(文本),创建源文件(文本),(形成符号空间)(形成符号空间)(形成符号空间)(形成符号空间)如:如:如:如:.asm.asm、.c.c、.cpp.cpp、.pas.pas等;等;等;等;编译编译编译编译:生成目标文件(能被处理机识别的二进制代:生成目标文件(能被处理机识别的二进制代:生成目标文件(能被处理机识别的二进制代:生成目标文件(能被处理机识别的二进制代码),码),码),码),(生成目标代码)(生成目标代码)(生成目标代码)(生成目标代码)如:如:如:如:.o.o、.obj.obj;链接链接链接链接:生成可执行文件:生成可执行文
6、件:生成可执行文件:生成可执行文件 .exe.exe,(确定相对地址)确定相对地址)确定相对地址)确定相对地址)将编译或汇编后得到的一组目标模块及所需库函数装将编译或汇编后得到的一组目标模块及所需库函数装将编译或汇编后得到的一组目标模块及所需库函数装将编译或汇编后得到的一组目标模块及所需库函数装配成一个完整的模块;配成一个完整的模块;配成一个完整的模块;配成一个完整的模块;第6页/共164页用户程序的地址空间、重定位概念用户程序的地址空间、重定位概念用户程序的地址空间、重定位概念用户程序的地址空间、重定位概念装入装入:完成重定位,装入内存;:完成重定位,装入内存;(可以确定物理地址)(可以确定
7、物理地址)n n相对地址相对地址/逻辑地址逻辑地址n n绝对地址绝对地址/物理地址物理地址n n重定位重定位:逻辑地址:逻辑地址-物理地址物理地址装入方式装入方式:绝对装入方式、可重定位装入方式、动态运行时装入方式绝对装入方式、可重定位装入方式、动态运行时装入方式运行运行:建立进程并执行,得到运行结果。建立进程并执行,得到运行结果。(可以确定物理地址)(可以确定物理地址)第7页/共164页第8页/共164页符号符号符号符号源程序源程序源程序源程序目标目标目标目标代码代码代码代码可执行代可执行代可执行代可执行代码码码码汇编汇编汇编汇编编译编译编译编译连接连接连接连接地址重定位地址重定位地址重定位
8、地址重定位名字空间名字空间名字空间名字空间地址空间地址空间地址空间地址空间存储空间存储空间存储空间存储空间:x=x+1x=x+1:R=XR=XR=R+1R=R+1X=RX=R:0 0:K K 100100:100+100+K K:R=XR=XR=R+1R=R+1X=RX=R:程序的名字空间、地址空间及存储空间程序的名字空间、地址空间及存储空间程序的名字空间、地址空间及存储空间程序的名字空间、地址空间及存储空间第9页/共164页n n程序中符号名的集合(符号空间)程序中符号名的集合(符号空间)n n目标模块中的地址(逻辑空间)目标模块中的地址(逻辑空间)n nCPUCPU直接执行的绝对地址程序。
9、这一地址集合(物理空间)直接执行的绝对地址程序。这一地址集合(物理空间)第10页/共164页用户程序的地址空间、重定位概念用户程序的地址空间、重定位概念用户程序的地址空间、重定位概念用户程序的地址空间、重定位概念n n程序必须装入内存后才能运行,装入程序需要根据程序必须装入内存后才能运行,装入程序需要根据内存的使用情况和分配策略,将模块放入到内存中,内存的使用情况和分配策略,将模块放入到内存中,需要执行重定位。需要执行重定位。n n逻辑地址逻辑地址:用户程序中经编译之后的每个目标模块:用户程序中经编译之后的每个目标模块都以都以0 0为基地址顺序编址。也称为相对地址。为基地址顺序编址。也称为相对
10、地址。n n绝对地址绝对地址:内存中各物理存储单元的地址都是从统:内存中各物理存储单元的地址都是从统一的基地址开始顺序编址。也称为绝对地址。一的基地址开始顺序编址。也称为绝对地址。它是它是数据在内存中的实际存储地址。数据在内存中的实际存储地址。逻辑地址:逻辑地址:Load 1,Load 1,500500物理地址物理地址:Load 1,Load 1,15001500第11页/共164页n n逻辑地址空间逻辑地址空间:由程序中逻辑地址组成的地址范围。:由程序中逻辑地址组成的地址范围。n n物理地址空间物理地址空间:由内存中一系列存储单元所限定的:由内存中一系列存储单元所限定的地址范围。内存空间的编
11、址从统一的基址地址范围。内存空间的编址从统一的基址0 0开始,为开始,为线性的一维地址空间,简称物理空间或绝对空间。线性的一维地址空间,简称物理空间或绝对空间。n n重定位重定位:程序和数据装入内存时,需对目标程序中:程序和数据装入内存时,需对目标程序中的地址进行修改。将逻辑地址转换为内存物理地址的地址进行修改。将逻辑地址转换为内存物理地址的过程称作重定位。的过程称作重定位。重定位的技术按重定位的时机可分为两种:重定位的技术按重定位的时机可分为两种:静态重定静态重定位位(装入内存时重定位)(装入内存时重定位)和和动态重定位动态重定位(程序执行(程序执行时重定位)时重定位)。第12页/共164页
12、第13页/共164页1.静态重定位静态重定位n n静态重定位:静态重定位:在目标程序装入内存时,由装入程序在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即将对目标程序中的指令和数据的地址进行修改,即将程序的逻辑地址都改成为实际的内存地址。装入操程序的逻辑地址都改成为实际的内存地址。装入操作要求作要求一次性一次性完成。完成。n n优点:优点:无需增加硬件地址转换机构,便于实现程序无需增加硬件地址转换机构,便于实现程序的静态连接。的静态连接。n n缺点:缺点:存储空间为连续区域,且不可移动,不利于内存储空间为连续区域,且不可移动,不利于内存空间的有效利用;存空间的有效利用
13、;各进程很难共享内存中同一程序的副本。各进程很难共享内存中同一程序的副本。第14页/共164页第15页/共164页静态地址重定位示意图静态地址重定位示意图静态地址重定位示意图静态地址重定位示意图100100:25002500:26002600:0 0:程序的地址空间程序的地址空间程序的地址空间程序的地址空间1000010000:1010010100:1250012500:1260012600:内存的地址空间内存的地址空间内存的地址空间内存的地址空间LOAD 1LOAD 1,1250012500LOAD 1LOAD 1,25002500365365如:LOAD 1,2500 这条指令是把相对地址
14、为2500的存储单元的内容365装入1号累加器而这时内容为365的存储单元的实际物理地址为12500(起始地址10000+相对地址2500)所以LOAD 1,2500 这条指令中的直接地址码要作相应的修改,365365即改为即改为即改为即改为LOAD 1LOAD 1,1250012500。第16页/共164页2.动态重定位动态重定位n n在程序执行期间,每次访问内存前进行重定位。地址变换依靠硬件地址转换在程序执行期间,每次访问内存前进行重定位。地址变换依靠硬件地址转换机构实现。机构实现。n n优点优点:程序占用的内存空间动态可变,不必连续存放在一处;程序占用的内存空间动态可变,不必连续存放在一
15、处;比较容易实现几个进程对同一程序副本的共享使用。比较容易实现几个进程对同一程序副本的共享使用。n n缺点缺点:需附加的硬件地址变换机构,增加了机器成本,且软件实现算法复杂。:需附加的硬件地址变换机构,增加了机器成本,且软件实现算法复杂。第17页/共164页第18页/共164页存储系统的层次组织存储系统的层次组织存储系统的层次组织存储系统的层次组织存储系统的层次组织存储系统的层次组织用户程序的地址空间、重定位概念用户程序的地址空间、重定位概念存储管理的基本任务存储管理的基本任务第19页/共164页存储管理的基本任务存储管理的基本任务存储管理的基本任务存储管理的基本任务n n存储分配存储分配n
16、n存储保护存储保护n n存储共享存储共享n n存储扩充存储扩充第20页/共164页内存分配n n内存分配是存储器管理的最基本任务,也就是按用户要求把适当的存储空间内存分配是存储器管理的最基本任务,也就是按用户要求把适当的存储空间分配给相应的作业。分配给相应的作业。(1)(1)分配基本内存空间分配基本内存空间 (2)(2)增加新的内存空间增加新的内存空间 动态申请或释放内存空间动态申请或释放内存空间 (3)(3)回收内存空间回收内存空间第21页/共164页存储分配步骤存储分配步骤 首首首首先先先先,根根根根据据据据系系系系统统统统的的的的内内内内存存存存分分分分配配配配算算算算法法法法,在在在在
17、空空空空闲闲闲闲的的的的内内内内存存存存分分分分区区区区中中中中寻寻寻寻找找找找到到到到一一一一块块块块满满满满足足足足进进进进程程程程需需需需要要要要的的的的内内内内存存存存空空空空间间间间,将将将将其其其其分分分分配配配配给给给给进程。进程。进程。进程。然然然然后后后后,更更更更新新新新进进进进程程程程的的的的资资资资源源源源分分分分配配配配清清清清单单单单、内内内内存存存存分分分分配配配配情情情情况况况况清清清清单单单单等数据结构等数据结构等数据结构等数据结构。第22页/共164页内存的回收内存的回收 更更更更新新新新相相相相应应应应的的的的数数数数据据据据结结结结构构构构,将将将将回回
18、回回收收收收的的的的内内内内存存存存空空空空间间间间标标标标识识识识为为为为“空空空空闲可用闲可用闲可用闲可用”就行了。就行了。就行了。就行了。?该内存空间是否可以被回收该内存空间是否可以被回收该内存空间是否可以被回收该内存空间是否可以被回收?被其他进程共享被其他进程共享被其他进程共享被其他进程共享?与相临的空闲空间进行合并与相临的空闲空间进行合并与相临的空闲空间进行合并与相临的空闲空间进行合并第23页/共164页存储保护存储保护 防止地址越界,防止操作越权。防止地址越界,防止操作越权。防止地址越界,防止操作越权。防止地址越界,防止操作越权。地地地地址址址址越越越越界界界界:进进进进程程程程访
19、访访访问问问问不不不不属属属属于于于于自自自自己己己己的的的的地地地地址址址址空空空空间间间间,或或或或者者者者说说说说进进进进程程程程在在在在运运运运行行行行时时时时所所所所产产产产生生生生的的的的物物物物理理理理地地地地址址址址超超超超越越越越其其其其自自自自身身身身的的的的地地地地址址址址空空空空间范围。间范围。间范围。间范围。可可可可能能能能侵侵侵侵犯犯犯犯其其其其他他他他用用用用户户户户进进进进程程程程空空空空间间间间,也也也也可可可可能能能能侵侵侵侵犯犯犯犯操操操操作作作作系系系系统统统统的存储空间的存储空间的存储空间的存储空间 操操操操作作作作越越越越权权权权:进进进进程程程程对
20、对对对共共共共享享享享存存存存储储储储区区区区的的的的操操操操作作作作违违违违反反反反了了了了系系系系统统统统规规规规定定定定的权限。的权限。的权限。的权限。第24页/共164页地址变换地址变换 n n在一般情况下,一个作业装入时分配到的存储空间和它的地址空间是不一致在一般情况下,一个作业装入时分配到的存储空间和它的地址空间是不一致的。因此,作业在装入的时候,或在其执行时,必须把程序地址空间中的逻的。因此,作业在装入的时候,或在其执行时,必须把程序地址空间中的逻辑地址转换为内存空间对应的物理地址。辑地址转换为内存空间对应的物理地址。第25页/共164页地址映射地址映射 逻辑地址,或相对地址:一
21、般从逻辑地址,或相对地址:一般从逻辑地址,或相对地址:一般从逻辑地址,或相对地址:一般从0 0 0 0开始编址开始编址开始编址开始编址 物理地址,或绝对地址:标识内存中的每个存储单元。物理地址,或绝对地址:标识内存中的每个存储单元。物理地址,或绝对地址:标识内存中的每个存储单元。物理地址,或绝对地址:标识内存中的每个存储单元。进程执行时的寻址进程执行时的寻址当前栈顶当前栈顶进进程程控控制制信信息息程序入口点程序入口点地址值增加地址值增加进程控制块进程控制块程序程序栈栈数据数据访问数据访问数据分支指令分支指令进程映像进程映像第26页/共164页存储共享存储共享 为了进程通信和节约内存空间,两个或
22、多个进程共用为了进程通信和节约内存空间,两个或多个进程共用为了进程通信和节约内存空间,两个或多个进程共用为了进程通信和节约内存空间,两个或多个进程共用内存中相同的分区,即他们的物理空间有相交的部分。内存中相同的分区,即他们的物理空间有相交的部分。内存中相同的分区,即他们的物理空间有相交的部分。内存中相同的分区,即他们的物理空间有相交的部分。可以共享进程的代码,也可以共享进程数据。可以共享进程的代码,也可以共享进程数据。可以共享进程的代码,也可以共享进程数据。可以共享进程的代码,也可以共享进程数据。一般地,进程之间共享代码的目的主要是为了节约存一般地,进程之间共享代码的目的主要是为了节约存一般地
23、,进程之间共享代码的目的主要是为了节约存一般地,进程之间共享代码的目的主要是为了节约存储空间,共享数据的目的主要是为了实现进程间相互储空间,共享数据的目的主要是为了实现进程间相互储空间,共享数据的目的主要是为了实现进程间相互储空间,共享数据的目的主要是为了实现进程间相互通信。通信。通信。通信。第27页/共164页PCB3 数据数据代码代码PCB2 代码代码数据数据PCB1数据数据代码代码 进程进程1进程进程2进程进程3进程之间共享代码和数据进程之间共享代码和数据第28页/共164页存储扩充存储扩充 内存:速度快、容量小、价格贵内存:速度快、容量小、价格贵内存:速度快、容量小、价格贵内存:速度快
24、、容量小、价格贵 外存:容量大、速度慢、价格便宜外存:容量大、速度慢、价格便宜外存:容量大、速度慢、价格便宜外存:容量大、速度慢、价格便宜 目目目目的的的的:在在在在多多多多道道道道程程程程序序序序系系系系统统统统中中中中能能能能运运运运行行行行更更更更多多多多、更更更更大大大大的的的的程程程程序序序序,降低系统的造价,提高系统的性价比降低系统的造价,提高系统的性价比降低系统的造价,提高系统的性价比降低系统的造价,提高系统的性价比 存储扩充:采用软件手段,在硬件的配合下,将部分存储扩充:采用软件手段,在硬件的配合下,将部分存储扩充:采用软件手段,在硬件的配合下,将部分存储扩充:采用软件手段,在
25、硬件的配合下,将部分外存空间虚拟为内存空间,并将内存和外存有机地结外存空间虚拟为内存空间,并将内存和外存有机地结外存空间虚拟为内存空间,并将内存和外存有机地结外存空间虚拟为内存空间,并将内存和外存有机地结合起来,得到一个容量相当于外存、速度接近于内存、合起来,得到一个容量相当于外存、速度接近于内存、合起来,得到一个容量相当于外存、速度接近于内存、合起来,得到一个容量相当于外存、速度接近于内存、价格十分便宜的价格十分便宜的价格十分便宜的价格十分便宜的虚拟存储系统虚拟存储系统虚拟存储系统虚拟存储系统第29页/共164页本章内容本章内容本章内容本章内容5.1 5.1 存储管理的基本概念存储管理的基本
26、概念5.2 5.2 分区存储管理分区存储管理5.3 5.3 简单页式存储管理简单页式存储管理5.4 5.4 请求页式虚拟存储管理请求页式虚拟存储管理5.5 windows5.5 windows系统的存储管理系统的存储管理5.6 5.6 段式与段页式存储管理段式与段页式存储管理第30页/共164页5.2 5.2 分区管理技术分区管理技术分区管理技术分区管理技术分区法分区法1.1.固定分区法固定分区法2.2.动态分区法动态分区法可重定位分区分配可重定位分区分配第31页/共164页5.2 5.2 分区管理技术分区管理技术分区管理技术分区管理技术n n内存分区的基本思想:由系统把实际内存的物理空间划分
27、为若干个分区,每内存分区的基本思想:由系统把实际内存的物理空间划分为若干个分区,每个分区都是一片在地址上连续的个分区都是一片在地址上连续的“小小”空间。空间。n n某个进程建立时就获得一个内存分区,进程执行完后归还该分区。某个进程建立时就获得一个内存分区,进程执行完后归还该分区。第32页/共164页1.固定分区法固定分区法n n固定分区法:固定分区法:内存中分区的个数固定不变,各个分内存中分区的个数固定不变,各个分区的大小也固定不变,但不同分区的大小可以不同。区的大小也固定不变,但不同分区的大小可以不同。每个分区只可装入一个进程。每个分区只可装入一个进程。n n分区说明表分区说明表:内存的分配
28、释放、存储保护以及地址内存的分配释放、存储保护以及地址变换都通过分区说明表进行。变换都通过分区说明表进行。n n优点:优点:分配、回收方便,适用于用户不多的小型机;分配、回收方便,适用于用户不多的小型机;n n缺点:缺点:管理方式简单,内存空间利用率低;管理方式简单,内存空间利用率低;第33页/共164页操作系统操作系统操作系统操作系统进程进程1 1进程进程进程进程2 2进程进程进程进程3 3分区分区分区分区1 1分区分区分区分区2 2分区分区分区分区3 3分区分区分区分区4 4(未分配(未分配(未分配(未分配)0 0 0 020K20K20K20K45K45K45K45K80K80K80K8
29、0K130130130130K K K K200200200200K K K K分区号分区号分区号分区号大小大小大小大小KBKB开始地址开始地址开始地址开始地址KK状态状态状态状态1 1 1 12525252520202020正使用正使用正使用正使用2 2 2 23535353545454545正使用正使用正使用正使用3 3 3 35050505080808080正使用正使用正使用正使用4 4 4 470707070130130130130未使用未使用未使用未使用分区说明表分区说明表分区说明表分区说明表第34页/共164页2.动态分区法动态分区法n n动态分区法:动态分区法:各个分区是在相应进
30、程要进入内存时才建立的,使其大小恰好各个分区是在相应进程要进入内存时才建立的,使其大小恰好适应进程的大小。适应进程的大小。n n优点优点:改变了固定分区中小进程占据大分区的浪费现象,从而提高了系统的:改变了固定分区中小进程占据大分区的浪费现象,从而提高了系统的利用率。利用率。n n操作系统内部设置一个操作系统内部设置一个内存登记表内存登记表,记载整个内存中所有空闲区和已用区的,记载整个内存中所有空闲区和已用区的情况,每个分区占一个表项,每个表项包括相应分区的大小、位置和状态等。情况,每个分区占一个表项,每个表项包括相应分区的大小、位置和状态等。第35页/共164页 MVTMVTMVTMVT的内
31、存分配和进的内存分配和进的内存分配和进的内存分配和进程调度情况程调度情况程调度情况程调度情况 第36页/共164页n n动态分区的数据结构:动态分区的数据结构:空闲分区表:空闲分区表:内存中每一个空闲的分区占用该内存中每一个空闲的分区占用该表的一项。表的一项。分区号分区号分区号分区号分区大小分区大小分区大小分区大小(KB)(KB)(KB)(KB)分区始址分区始址分区始址分区始址(K)(K)(K)(K)状态状态状态状态1 1505075750 02 226261701700 03 340402752750 04 460604184180 05 5.第37页/共164页空闲分区链:空闲分区链:空闲
32、分区链:空闲分区链:使用链指针把所有的空闲分区链接成一使用链指针把所有的空闲分区链接成一使用链指针把所有的空闲分区链接成一使用链指针把所有的空闲分区链接成一条链。条链。条链。条链。第38页/共164页分配算法分配算法从一组空闲区中选择一个可用区的常用策略有两种:最先适应算法(First-fit)和最佳适应算法(Best-fit)。n n最先适应法:最先适应法:空闲表是按地址排列的空闲表是按地址排列的,即:空闲分区起始地址小的分区在表中,即:空闲分区起始地址小的分区在表中的序号也小。当要为进程分配内存空间时,就查该表,在各空闲分区中查找满足的序号也小。当要为进程分配内存空间时,就查该表,在各空闲
33、分区中查找满足大小要求的可用分区。大小要求的可用分区。只要找到第一个足以满足要求的空闲分区就停止查找只要找到第一个足以满足要求的空闲分区就停止查找,并,并把它分配出去把它分配出去 。同时修改空闲分区表。同时修改空闲分区表。第39页/共164页2.2.最佳适应法:最佳适应法:以空闲分区的大小为序、按增量形式排列的,即小分区在前,大以空闲分区的大小为序、按增量形式排列的,即小分区在前,大分区在后。它在满足需要的前提下,尽量分配最小的空闲分区。分区在后。它在满足需要的前提下,尽量分配最小的空闲分区。第40页/共164页n n3.3.最差适应算法:最差适应算法:是在所有空闲的分区中寻找最大的一个,把该
34、区按照申请是在所有空闲的分区中寻找最大的一个,把该区按照申请的尺寸进行分割,剩下的部分仍然是一个空闲区,而且可能仍然很大。的尺寸进行分割,剩下的部分仍然是一个空闲区,而且可能仍然很大。第41页/共164页5.2 5.2 分区管理技术分区管理技术分区管理技术分区管理技术分区法分区法1.1.固定分区法固定分区法2.2.动态分区法动态分区法可重定位分区分配可重定位分区分配第42页/共164页问题描述问题描述碎片碎片碎片碎片:内存中这种容量太内存中这种容量太内存中这种容量太内存中这种容量太小、无法被利用的小小、无法被利用的小小、无法被利用的小小、无法被利用的小分区。或称作分区。或称作分区。或称作分区。
35、或称作“零头零头零头零头”。依据碎片出现的位依据碎片出现的位依据碎片出现的位依据碎片出现的位置,分为置,分为置,分为置,分为内部碎片内部碎片内部碎片内部碎片和和和和外部碎片外部碎片外部碎片外部碎片两种。两种。两种。两种。第43页/共164页可重定位分区法可重定位分区法n n紧缩:移动某些已分配区的内容,使所有进程的分区紧挨在一起,而把空闲区留在另一端。n n采用紧缩技术的分区方法称为可重定位分区法。n n实现:动态重定位技术。硬件支持包括一对寄存器:基址寄存器和限长寄存器。n n一个存放用户程序在内存的起始地址,称作基址寄存器;另一个表示用户程序的逻辑地址的最大范围,称作限长寄存器。第44页/
36、共164页可重定位分区的紧缩 第45页/共164页动态重定位的实现过程动态重定位的实现过程 第46页/共164页可重定位分区法可重定位分区法改进:为了减少进程移动的数量,可以对紧缩的方向加以改进。进程装入内存时,不是从上至下依次放置,而是采用“占两头,空中间”的办法。当紧缩时,各个进程按地址大小分别向两端靠拢,从而使空闲区保留在内存的中间部位。优点:可以消除碎片,能够分配更多的分区,有助于多道程序设计,提高内存的利用率。缺点:紧缩花费了大量CPU时间;当进程大于整个空闲区时,仍要浪费一定的内存;进程的存储区内可能放有从未使用的信息;进程之间无法对信息共享。第47页/共164页1.1.把作业地址
37、空间中使用的逻辑地址变成内存中物理地址称为把作业地址空间中使用的逻辑地址变成内存中物理地址称为()。)。A A、加载、加载 B B、重定位、重定位 C C、物理化、物理化 DD、逻辑化、逻辑化2 2在可变分区存储管理中的紧凑技术可以在可变分区存储管理中的紧凑技术可以()()。A.A.集中空闲区集中空闲区 B.B.增加主存容量增加主存容量C.C.缩短访问时间缩短访问时间 D.D.加速地址转换加速地址转换3 3把逻辑地址转换成物理地址称为(把逻辑地址转换成物理地址称为()。)。A.A.地址分配地址分配 B.B.地址映射地址映射 C.C.地址保护地址保护 D.D.地址越界地址越界BBAABB第48页
38、/共164页4 4在内存分配的在内存分配的“最佳适应法最佳适应法”中,空闲块是按(中,空闲块是按()。)。A.A.始地址从小到大排序始地址从小到大排序 B.B.始地址从大到小排序始地址从大到小排序C.C.块的大小从小到大排序块的大小从小到大排序 D.D.块的大小从大到小排序块的大小从大到小排序5 5下面最有可能使得高地址空间成为大的空闲区的分配算法下面最有可能使得高地址空间成为大的空闲区的分配算法是(是()。)。A.A.首次适应法首次适应法 B.B.最佳适应法最佳适应法C.C.最坏适应法最坏适应法 D.D.循环首次适应法循环首次适应法6 6静态重定位的时机是(静态重定位的时机是()。)。A.A
39、.程序编译时程序编译时 B.B.程序链接时程序链接时C.C.程序装入时程序装入时 D.D.程序运行时程序运行时 AACCCC第49页/共164页7.通常所说的“存储保护”的基本含义是()A.防止存储器硬件受损 B.防止程序在内存丢失C.防止程序间相互越界访问 D.防止程序被人偷看8能够装入内存任何位置的代码程序必须是()。A.可重入的 B.可重定位 C.可动态链接 D.可静态链接9在固定分区分配中,每个分区的大小是()。A.相同B.随作业长度变化C.可以不同但预先固定D.可以不同但根据作业长度固定 BBCCCC第50页/共164页本章内容本章内容本章内容本章内容5.1 5.1 存储管理的基本概
40、念存储管理的基本概念5.2 5.2 分区存储管理分区存储管理5.3 5.3 简单页式存储管理简单页式存储管理5.4 5.4 请求页式虚拟存储管理请求页式虚拟存储管理5.5 windows5.5 windows系统的存储管理系统的存储管理5.6 5.6 段式与段页式存储管理段式与段页式存储管理第51页/共164页5.3 5.3 分页技术分页技术分页技术分页技术分页的基本概念分页的基本概念分页系统中的地址映射分页系统中的地址映射页的共享和保护页的共享和保护内存扩充内存扩充第52页/共164页分页的基本概念分页的基本概念分页的基本概念分页的基本概念逻辑空间分页:逻辑空间分页:将一个进程的逻辑地址空间
41、划分为若干大小相等将一个进程的逻辑地址空间划分为若干大小相等的部分的部分,每部分称作页面或页;每页都有一个编号,叫做页号,页每部分称作页面或页;每页都有一个编号,叫做页号,页号从号从0 0开始依次编排,如开始依次编排,如0 0,1 1,22。内存空间分块:内存空间分块:将内存划分成与页面相同大小的若干存储块将内存划分成与页面相同大小的若干存储块,称作称作内存块;块号从内存块;块号从0 0开始依次顺序排列:开始依次顺序排列:0#0#块,块,1#1#块,块,2#2#块,块,。页面和块的大小页面和块的大小由硬件决定由硬件决定,一般为一般为2 2n n,不同机器页面大小不同。,不同机器页面大小不同。第
42、53页/共164页分页的基本概念分页的基本概念分页的基本概念分页的基本概念 逻辑地址表示逻辑地址表示:其中011位为页内地址,表示每页的大小为212,即4 KB;1231位为页号,表示地址空间中最多可容纳220个页面。页号页号页号页号p p p p页内地址页内地址页内地址页内地址d d d d0111231第54页/共164页内存分配原则:内存分配原则:系统以块为单位把内存分给各个进程,进程的每个页面对应系统以块为单位把内存分给各个进程,进程的每个页面对应一个内存块,并且一个进程的若干页可以分别装入物理上不连续的内存块中。一个内存块,并且一个进程的若干页可以分别装入物理上不连续的内存块中。设立
43、页表:设立页表:在分页系统中,允许将进程的各页面离散地装入内存的任何空闲在分页系统中,允许将进程的各页面离散地装入内存的任何空闲块中。系统为每个进程设立一张页面映像表,简称页表。块中。系统为每个进程设立一张页面映像表,简称页表。页表的作用页表的作用:实现某一进程的逻辑页号到物理块号的地址映射。:实现某一进程的逻辑页号到物理块号的地址映射。分页的基本概念分页的基本概念分页的基本概念分页的基本概念第55页/共164页2、分页存储实现、分页存储实现进程进程进程进程1 1 1 1,0 0 0 0页页页页进程进程进程进程1 1 1 1,1 1 1 1页页页页进程进程进程进程1 1 1 1,2 2 2 2
44、页页页页进程进程进程进程1 1 1 1,N-1N-1N-1N-1页页页页进程进程进程进程1 1 1 1,4 4 4 4页页页页进程进程进程进程1 1 1 1,3 3 3 3页页页页第56页/共164页 建立内存块表建立内存块表 整个系统有一个整个系统有一个内存块表内存块表。每个内存块在内存块表中占一项,表明该块当前。每个内存块在内存块表中占一项,表明该块当前空闲还是已分出去了;如果已分出去,是分给哪个进程的哪个页面了。空闲还是已分出去了;如果已分出去,是分给哪个进程的哪个页面了。第57页/共164页5.3 5.3 分页技术分页技术分页技术分页技术分页的基本概念分页的基本概念分页系统中的地址映射
45、分页系统中的地址映射页的共享和保护页的共享和保护内存扩充内存扩充第58页/共164页分页的基本概念分页的基本概念分页的基本概念分页的基本概念页表地址结构页表地址结构 分页系统地址交换机构自动将逻辑地址转换为两分页系统地址交换机构自动将逻辑地址转换为两部分:部分:高位部分为页号,地位部分为页内地址;高位部分为页号,地位部分为页内地址;则逻辑地址:用数对(则逻辑地址:用数对(p p,d d)表示。)表示。页号页号页号页号p p p p页内地址页内地址页内地址页内地址d d d dP P P P表示表示表示表示 逻辑地址所在的页号,逻辑地址所在的页号,逻辑地址所在的页号,逻辑地址所在的页号,d d
46、d d表示页内地址。表示页内地址。表示页内地址。表示页内地址。d d d d、p p p p所占的位数取决于页的大小和有效地址长度所占的位数取决于页的大小和有效地址长度所占的位数取决于页的大小和有效地址长度所占的位数取决于页的大小和有效地址长度第59页/共164页n n通常页的大小为通常页的大小为2 2的的n n次幂。次幂。如取页大小为如取页大小为1024=1024=(2 21010)=1K=1K或或4096=4096=(2 21212)=4K=4K,若,若页的大小为页的大小为2 2n n,则:则:页内地址占位:页内地址占位:n n,页号占位:有效地址长度页号占位:有效地址长度-n-n;例:若
47、计算机例:若计算机例:若计算机例:若计算机cpucpu的有效地址为的有效地址为的有效地址为的有效地址为1616位,且页大小为位,且页大小为位,且页大小为位,且页大小为1k1k,则,则,则,则 页号页号页号页号p p和页内地址和页内地址和页内地址和页内地址d d分别占多少位?分别占多少位?分别占多少位?分别占多少位?页号页号页号页号p p p p页内地址页内地址页内地址页内地址d d d d0?91015第60页/共164页分页的基本概念分页的基本概念分页的基本概念分页的基本概念 逻辑地址表示逻辑地址表示:其中011位为页内地址,表示每页的大小为212,即4 KB;1231位为页号,表示地址空间
48、中最多可容纳220个页面。页号页号页号页号p p p p页内地址页内地址页内地址页内地址d d d d0111231计算页号和页内地址计算页号和页内地址计算页号和页内地址计算页号和页内地址:如果给定的逻辑地址是如果给定的逻辑地址是如果给定的逻辑地址是如果给定的逻辑地址是A A A A,页,页,页,页面的大小为面的大小为面的大小为面的大小为L L L L,则页号,则页号,则页号,则页号p p p p和页内地址和页内地址和页内地址和页内地址d d d d可按下式求得:可按下式求得:可按下式求得:可按下式求得:p p p p=INT INT INT INT A A A A/L L L L,d d d
49、 d=A A A A MODMODMODMOD L L L L其中,其中,其中,其中,INTINTINTINT是向下整除的函数,是向下整除的函数,是向下整除的函数,是向下整除的函数,MODMODMODMOD是取余函数。是取余函数。是取余函数。是取余函数。第61页/共164页分页系统中的地址映射分页系统中的地址映射用用页号页号P P去检索页表,从页表中得到该页的去检索页表,从页表中得到该页的物理块号物理块号f f,把它装入物理地址寄存器中;,把它装入物理地址寄存器中;将将页内地址页内地址d d直接送入物理地址寄存器的直接送入物理地址寄存器的块内地址块内地址d d字段中;字段中;物理地址寄存器中的
50、内容就是由物理地址寄存器中的内容就是由两者拼接两者拼接成的实际成的实际访问内存的地址,从而完成了从逻辑地址到物理地访问内存的地址,从而完成了从逻辑地址到物理地址的转换。址的转换。第62页/共164页3、分页系统中的地址映射、分页系统中的地址映射第63页/共164页 L=1024 L=1024,A=2052=2048+4=A=2052=2048+4=2 21111+2+22 2 页号页号p=2p=2,页内地址,页内地址d=4 d=4 10 000000010010 0000000100查页表得页号查页表得页号2 2对应的物理块号为对应的物理块号为1111,则,则20522052对应的物理地址为: