操作系统讲稿第四章内存管理课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《操作系统讲稿第四章内存管理课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 讲稿 第四 内存 管理 课件
- 资源描述:
-
1、第四章第四章 内存管理内存管理主存储器是仅次于主存储器是仅次于CPU的宝贵资源。的宝贵资源。众多进程共用一个存储器,必然涉及到存储器众多进程共用一个存储器,必然涉及到存储器的分配、安全、利用率、共享以及扩展等诸多的分配、安全、利用率、共享以及扩展等诸多问题。问题。存储管理需要做的事情是:存储管理需要做的事情是:将用户程序所用的地址空间转换为主存储器中的实将用户程序所用的地址空间转换为主存储器中的实际地址空间,将用户程序的操作地址变换为存储器际地址空间,将用户程序的操作地址变换为存储器上的具体位置。上的具体位置。为存储空间提供安全和共享的手段。为存储空间提供安全和共享的手段。为用户程序实现虚拟存
2、储空间等。为用户程序实现虚拟存储空间等。概述概述DOS分区及分段分区及分段 Windows XP的存储器的存储器 Linux存储管理存储管理 实用系统中的存储管理方法实用系统中的存储管理方法DOS分区及分段分区及分段 OS 用户区 扩展内存 0 640KB 1MB 主存储器被限制为主存储器被限制为1MB的内存空间。的内存空间。低端的低端的640KB的基的基本内存本内存。高端的扩展内存高端的扩展内存。系统启动后将操作系系统启动后将操作系统调入基本内存的低端统调入基本内存的低端位置,大概占几十位置,大概占几十KB的空间。的空间。基本内存的剩余部分便基本内存的剩余部分便是用来存放用户程序的是用来存放
3、用户程序的用户区。用户区。在在DOS发展的后期,已发展的后期,已经可以利用扩展内存来经可以利用扩展内存来存放系统的数据结构、存放系统的数据结构、驱动程序以及某些库文驱动程序以及某些库文件等内容,但用户不能件等内容,但用户不能对扩展存储器中的内容对扩展存储器中的内容进行修改。进行修改。程序和数据不能突程序和数据不能突破基本内存的限制,因破基本内存的限制,因此,用户程序的大小必此,用户程序的大小必须低于须低于640KB。用户区内只能存放用户区内只能存放一个用户程序,因此,一个用户程序,因此,DOS系统只支持单道程系统只支持单道程序。序。Windows xp的存储器的存储器 Windows xp要求
4、存储器最低为要求存储器最低为64MB。内存被划分为大小为内存被划分为大小为4KB的页面。内存中可以存放多个的页面。内存中可以存放多个用户任务的页面,因此,用户任务的页面,因此,Windows支持多任务同时运行。支持多任务同时运行。用户在编制程序时,其大小最高可达用户在编制程序时,其大小最高可达4GB,但在程序运,但在程序运行时,并不是全部程序都装入内存,而是只装入程序的部行时,并不是全部程序都装入内存,而是只装入程序的部分页面来运行。分页面来运行。当需要装入新的程序页面而内存中又没有足够的空闲区当需要装入新的程序页面而内存中又没有足够的空闲区域时,操作系统将内存中长期未使用的页面换出到辅助存域
5、时,操作系统将内存中长期未使用的页面换出到辅助存储器上早已安排的页面(储器上早已安排的页面(paging file)文件中,腾出空间)文件中,腾出空间后再将需要换进的页面调入。后再将需要换进的页面调入。Windows 支持虚拟存储器。支持虚拟存储器。Windows xp的存储器的存储器 页页面面在在内内存存中中换换出出换换进进 Page Faults/sec 是每秒是每秒钟发生页面缺失的平均钟发生页面缺失的平均数量。页面缺失将直接数量。页面缺失将直接导致页面换进。导致页面换进。Pages Input/sec 是从磁是从磁盘换进页面的速度。盘换进页面的速度。当一个进程引用一个虚当一个进程引用一个
6、虚拟内存的页面,而此页拟内存的页面,而此页面不存在于内存,就会面不存在于内存,就会发生页面缺失。发生页面缺失。Pages Output/sec 是指是指为了释放物理内存空间为了释放物理内存空间而将页面写入磁盘的速而将页面写入磁盘的速度。度。当物理内存不足时,当物理内存不足时,Windows 会将页面写回会将页面写回到磁盘以便释放空间。到磁盘以便释放空间。出页的峰值往往与进页出页的峰值往往与进页峰值接近。峰值接近。说明出页多是因为有进说明出页多是因为有进页需求,即只有当内存页需求,即只有当内存中没有可分配空间,同中没有可分配空间,同时又必须调入内存新的时又必须调入内存新的页面时,才需要换出页页面
7、时,才需要换出页面。面。Windows xp的存储器的存储器 可可用用物物理理内内存存Available MBytes 是计是计算机上运行的进程的可算机上运行的进程的可用物理内存大小。它是用物理内存大小。它是将零的、空闲的和备用将零的、空闲的和备用内存列表的空间添加在内存列表的空间添加在一起来计算的。一起来计算的。Linux存储管理存储管理 Linux系统也是将存储器空间划分成页面,系统也是将存储器空间划分成页面,根据进程运行时的需要来对页面进行换进、根据进程运行时的需要来对页面进行换进、换出的。换出的。同样在磁盘上也安排了交换区来与内存同样在磁盘上也安排了交换区来与内存协调工作,以达到扩大内
8、存的目的。协调工作,以达到扩大内存的目的。但是但是Linux系统的交换区多采用在硬盘上系统的交换区多采用在硬盘上划分出一个指定区域来作为交换区,因此,划分出一个指定区域来作为交换区,因此,交换区的大小不可变化。交换区的大小不可变化。4.1 内存管理功能内存管理功能 用户实体与存储空间用户实体与存储空间分配、释放及分配原则分配、释放及分配原则地址映射地址映射虚拟存储器虚拟存储器存储保护与共享存储保护与共享存储区整理存储区整理 用户实体与存储器的关系用户实体与存储器的关系任务任务在被激活之前在被激活之前存放在辅助存储器存放在辅助存储器上。上。当任务被激活时,它成为当任务被激活时,它成为进程进入主存
9、储器进程进入主存储器。进程的描述进程的描述部分部分及主程序及主程序部分始终存放于部分始终存放于主存储器主存储器,其他其他程序和数据部分视需要由操作系统程序和数据部分视需要由操作系统在内存与外存之在内存与外存之间交换间交换。当用户向计算机当用户向计算机提交提交自己的自己的任务任务时,存储管理是以一时,存储管理是以一种种逻辑形式逻辑形式来进行描述。来进行描述。而当操作系统而当操作系统处理处理用户的用户的任务任务时,是对具体的时,是对具体的存储器存储器地址进行操作。地址进行操作。存储管理存储管理的工作就是圆满地处理发生在的工作就是圆满地处理发生在衔接逻辑和物衔接逻辑和物理存储理存储时所产生的各种问题
10、。时所产生的各种问题。存储空间与存储地址存储空间与存储地址概念:概念:逻辑地址逻辑地址逻辑地址空间逻辑地址空间物理地址物理地址物理地址空间物理地址空间用户的每一条程序指令要访问的数据都用户的每一条程序指令要访问的数据都有一个对应的地址,这个地址被称为有一个对应的地址,这个地址被称为逻逻辑地址辑地址。由于它是相对于由于它是相对于0的地址,因此又被称的地址,因此又被称为为相对地址相对地址。当用户程序被编译为当用户程序被编译为目标代码目标代码时也使用时也使用的是相对地址。的是相对地址。原则上讲,因此用户可以无限制地加长原则上讲,因此用户可以无限制地加长自己的程序。自己的程序。在具体应用中在具体应用中
11、相对地址的大小受相对地相对地址的大小受相对地址寄存器位数的限制址寄存器位数的限制,如在,如在Windows 中中相对地址寄存器为相对地址寄存器为32位,表示相对地址位,表示相对地址最大可达最大可达4GB。逻辑地址空间可以逻辑地址空间可以定义定义为:实体(用户、为:实体(用户、作业、任务、进程或程序)所用的所有作业、任务、进程或程序)所用的所有逻辑地址的集合逻辑地址的集合。不同的操作系统赋予逻辑地址空间不同不同的操作系统赋予逻辑地址空间不同的表现形式,它的大小也是可以确定的。的表现形式,它的大小也是可以确定的。用户可以直接对逻辑地址和逻辑地址空用户可以直接对逻辑地址和逻辑地址空间进行访问和操作间
12、进行访问和操作。逻辑地址空间又称为逻辑地址空间又称为相对地址空间相对地址空间,有,有时候也被简称为用户空间或者作业空间。时候也被简称为用户空间或者作业空间。逻辑地址空间的大小被限制在逻辑地址空间的大小被限制在0到相对到相对地址最大值之间。地址最大值之间。内存中的实际地址被称为物理地址。内存中的实际地址被称为物理地址。由于它并不和任何相对地址相关,因由于它并不和任何相对地址相关,因此,物理地址又称为绝对地址。此,物理地址又称为绝对地址。物理地址的最小值为物理地址的最小值为0,最大值取决,最大值取决于内存的大小和内存地址寄存器的所于内存的大小和内存地址寄存器的所能表现的最大值,二者中较小的那一能表
13、现的最大值,二者中较小的那一个值为物理地址的最大值。个值为物理地址的最大值。物理地址空间可以定义为:当逻辑地物理地址空间可以定义为:当逻辑地址空间址空间被映射到内存被映射到内存时所对应的物理时所对应的物理地址的集合。地址的集合。物理地址空间又称为物理地址空间又称为绝对地址空间绝对地址空间。物理地址空间并不是指物理内存,只物理地址空间并不是指物理内存,只有当逻辑地址空间存在时,才会有物有当逻辑地址空间存在时,才会有物理地址空间。理地址空间。物理地址空间受存储器大小的限制,物理地址空间受存储器大小的限制,也就是说物理地址空间最大只能达到也就是说物理地址空间最大只能达到内存的大小。内存的大小。一、地
14、址重定位一、地址重定位 mov AL,nn mov AL,nn 逻辑空间 0 内存 m nn L nn+m L+m 装入后的作业并不能立即运行,装入后的作业并不能立即运行,因为作业中每一个指令要访问的因为作业中每一个指令要访问的地址依然是地址依然是相对地址相对地址,相对地址,相对地址是逻辑地址空间中的地址,并不是逻辑地址空间中的地址,并不是内存中的实际地址,因此不能是内存中的实际地址,因此不能够访问。够访问。装入是指将逻辑地址空间安装入是指将逻辑地址空间安排到内存中具体的物理位置上。排到内存中具体的物理位置上。装入针对的是整个逻辑地址空装入针对的是整个逻辑地址空间。间。1.装入装入 mov A
15、L,nn mov AL,nn+m 逻辑空间 0 内存 m nn L nn+m L+m 2.地址映射地址映射对于指令要访问的地址进行相对对于指令要访问的地址进行相对地址到绝对地址的变换,就是地地址到绝对地址的变换,就是地址映射。址映射。地址映射就是将逻辑地址空间中地址映射就是将逻辑地址空间中的地址映射到物理地址空间中去。的地址映射到物理地址空间中去。采用的办法为重定位。采用的办法为重定位。1.装入程装入程序序 在装入过程完成后,根据装入的起始位在装入过程完成后,根据装入的起始位置来修改程序中指令要访问的地址,将置来修改程序中指令要访问的地址,将相对地址改为绝对地址就是重定位。相对地址改为绝对地址
16、就是重定位。绝对地址绝对地址(BR)相对地址)相对地址 根据不同的根据不同的地址修改时间地址修改时间可可将重定位划分为将重定位划分为静态静态重定位重定位和和动态动态重定位。重定位。2.重定位:重定位:静态重定位静态重定位动态重定位动态重定位 mov AL,nn mov AL,nn+m 逻辑空间 0 内存 m nn L nn+m L+m 静态重定位是在装入过程完成后在静态重定位是在装入过程完成后在程序运行程序运行前前,一次一次将所有的指令要访问的地址全部修改将所有的指令要访问的地址全部修改为绝对地址,在程序运行过程中不再修改。为绝对地址,在程序运行过程中不再修改。静态重定位要求程序一旦装入其静态
17、重定位要求程序一旦装入其绝对地址空间绝对地址空间就就不能发生变化不能发生变化了。了。mov AL,nn m nn+m nn+mov AL,nn m L+m 0 L nn 逻辑空间 L 基址寄存器 L 地址寄存器 内存 L 动态重定位是在程序的动态重定位是在程序的运行过程运行过程中,当指令需中,当指令需要执行时对将要访问的要执行时对将要访问的地址地址进行进行修改修改。动态重定位动态重定位允许允许在在程序运行过程程序运行过程中,其中,其绝对地绝对地址址空间发生变化或被分割为不同的区域,空间发生变化或被分割为不同的区域,变化变化后后只需要将基地址寄存器中的内容作对应修改。只需要将基地址寄存器中的内容
18、作对应修改。采用静态重定位方式的采用静态重定位方式的主要优点主要优点是:是:(1)可以在一般机器上全部用)可以在一般机器上全部用。(2)装入程序可以实现)装入程序可以实现。静态重定位方式静态重定位方式主要缺点主要缺点是:是:(1)执行期间程序)执行期间程序在主存储器中在主存储器中,所以对提高主存储器的利用率不利。所以对提高主存储器的利用率不利。(2)若程序空间大于被分配的物理空间,)若程序空间大于被分配的物理空间,由程序员自行采取某种手段来由程序员自行采取某种手段来问题,问题,如采用覆盖结构。如采用覆盖结构。(3)用户)用户已经存放在主存中的同已经存放在主存中的同一个程序,如果几个用户要使用同
19、一个程序,一个程序,如果几个用户要使用同一个程序,则每个用户必须在各自的主存空间中存放一则每个用户必须在各自的主存空间中存放一个程序副本。个程序副本。采用动态重定位方式的采用动态重定位方式的主要优点主要优点有:有:(1)在程序开始执行之前,)在程序开始执行之前,不不一定要一定要把整把整个程序个程序都都调入调入到主存中。一个程序可以被分到主存中。一个程序可以被分配在多个配在多个不连续不连续的主存物理空间内,以提高的主存物理空间内,以提高主存储器的利用率。主存储器的利用率。(2)几个程序)几个程序可以共享可以共享存放在主存中的同存放在主存中的同一个程序段。一个程序段。(3)支持)支持虚拟虚拟存储器
20、。存储器。动态重定位方式的动态重定位方式的主要缺点主要缺点有:有:(1)需要有)需要有硬件支持硬件支持。(2)实现存储管理的软件算法)实现存储管理的软件算法比较复杂比较复杂。二、二、内存内存分配与回收分配与回收 1.存储分配存储分配 2.存储释放存储释放 3.分配原则分配原则 在设计分配程序时需要考虑诸多因素:(1)内存空间的划分(2)数据结构的确定(3)作业空间的划分(4)淘汰算法(5)分配算法 存储分配实际上是将作存储分配实际上是将作业的逻辑地址空间映射成业的逻辑地址空间映射成为内存中的物理地址空间。为内存中的物理地址空间。内存中有许多尚未使用内存中有许多尚未使用的区域即自由区都可以被的区
21、域即自由区都可以被分配,但到底选择哪一自分配,但到底选择哪一自由区必须依据分配算法来由区必须依据分配算法来确定。确定。存储释放实际上是解除存储释放实际上是解除逻辑地址空间与物理地址逻辑地址空间与物理地址空间的联系,并释放物理空间的联系,并释放物理空间。空间。存储释放程序将回收的存储释放程序将回收的内存区域重新设定为自由内存区域重新设定为自由区,并将其安排进入自由区,并将其安排进入自由区队列。进入自由区队列区队列。进入自由区队列的具体位置也必须依据分的具体位置也必须依据分配算法。配算法。三、三、存储保护与共享存储保护与共享 存储保护就是要保护进程的数据不被非法访存储保护就是要保护进程的数据不被非
22、法访问者破坏。问者破坏。(1)界地址寄存器保护法)界地址寄存器保护法(2)访问授权保护)访问授权保护(1)界地址寄存器保护法)界地址寄存器保护法 采用硬件:采用硬件:基地址寄存器基地址寄存器BR长度寄存器长度寄存器LR 采用软件:采用软件:地址寄存器指令中逻辑地址 出错(地址寄存器)(基址寄存器)?否 是(地址寄存器)(基址寄存器)+(长度寄存器)?运行指令 当进程之间需要共享当进程之间需要共享某些数据时,使用界地址某些数据时,使用界地址寄存器就表现得无能为力。寄存器就表现得无能为力。(2)访问授权保护)访问授权保护分区号 访问权 1 2 2 0 3 1 1 0 P1 P2 进程访问权 当进程
23、访问某个区域时,若进程的当进程访问某个区域时,若进程的访问权限大于等访问权限大于等于被访问区域的权限值于被访问区域的权限值,访问可以进行,否则视为,访问可以进行,否则视为非法。非法。系统为每一个系统为每一个存储区域存储区域都给都给定一个定一个访问权限值。访问权限值。同时也为每一个同时也为每一个进程进程赋予一赋予一个个访问权限值访问权限值。一个进程可以对不同存储区域有一个进程可以对不同存储区域有不同的访问权限;不同的访问权限;一个存储区域也可以被多个具有一个存储区域也可以被多个具有不同访问权限的进程按权限级别进不同访问权限的进程按权限级别进行访问。行访问。访问授权保护还有一个好处是它访问授权保护
24、还有一个好处是它允许存储区域的共享。允许存储区域的共享。四、四、虚拟存储器虚拟存储器(1)实际内存空间实际内存空间(2)辅助存储器上的内存交换区辅助存储器上的内存交换区(3)虚拟地址虚拟地址(4)换进、换出机制换进、换出机制 虚拟存储器是将内存进行虚拟,使用户能使用虚拟存储器是将内存进行虚拟,使用户能使用比实际内存大得多的虚拟空间。比实际内存大得多的虚拟空间。要实现虚拟内存必须具备如下条件:要实现虚拟内存必须具备如下条件:目前的操作系统几乎目前的操作系统几乎全部全部具具备虚拟存储器功能,虽然不同的备虚拟存储器功能,虽然不同的系统其实现虚拟存储器的系统其实现虚拟存储器的基本条基本条件都相似件都相
25、似,但在数据的换进、换,但在数据的换进、换出出策略上是可以不同策略上是可以不同的。的。存储区整理存储区整理 当系统运行一段时间后,可能出现如下当系统运行一段时间后,可能出现如下问题问题:产生许多产生许多碎片碎片;进程过分进程过分分散存储分散存储;换进、换出的次数过多,导致系换进、换出的次数过多,导致系统统运行缓慢运行缓慢;不断不断“内存空间不够内存空间不够”。存储区存储区需要整理需要整理。存储器的存储器的整理方法整理方法:(1)定期将内存中的)定期将内存中的碎片合并;碎片合并;(2)将某些)将某些进程进程的分散存储区域的分散存储区域移动移动到一起。到一起。经过经过整理后整理后 系统中有更大的自
展开阅读全文