第5章存储器管理.ppt
《第5章存储器管理.ppt》由会员分享,可在线阅读,更多相关《第5章存储器管理.ppt(88页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5 5章章 存储器管理存储器管理(一)(一)主存的共享方式主存的共享方式(二)(二)主存管理的功能主存管理的功能(三)(三)分区存储管理技术分区存储管理技术(四)(四)页式存储管理技术页式存储管理技术(五)(五)段式及段页式存储管理技术段式及段页式存储管理技术(一)(一)主存的共享方式主存的共享方式一一.存储器存储器 (storage,(storage,memmorymemmory)能接收数据和保存数据、而且能根据命令提供这些数据的装置。二二.存储器的分类存储器的分类n n 内内存存储储器器(简简称称内内存存、主存)主存)n n 外外存存储储器器(简简称称外外存存、辅存)辅存)n n处处理
2、理机机能能直直接接访访问问的的存存储储器器。用用来来存存放放系系统统和和用用户户的的程程序序和和数数据据,其其特特点点是是存取速度快,存存储储方方式式是是以以新新换换旧旧,断电信息丢失。n n 处处理理机机不不能能直直接接访访问问的的存存储储器器。用用来来存存放放用用户户的的各各种种信信息息,存存取取速速度度相相对对内内存存而而言言要要慢慢得得多多,但但它它可可用用来来长期保存用用户户信信息息。在在文文件件系系统中介绍。统中介绍。三三.主存的共享方式主存的共享方式空间分片空间分片n n 大小不等的区域大小不等的区域 分区存储管理分区存储管理 分段存储管理n n 大小相等的片大小相等的片 页式存
3、储管理页式存储管理n n 两者结合两者结合 段页式存储管理段页式存储管理(二)主存管理的功能(二)主存管理的功能一一.几个概念几个概念1.1.物物理理地地址址(绝绝对对地地址址、实地址):实地址):把内存分成若干个大小相等的存储单元,每个单元给一个编号,这个编号称为内存地址,是计算机主存单元的真实地址。存储单元占8位,称作字节(byte)。2.2.物理地址空间:物理地址空间:物理地址的集合称为物理地址空间(主存地址空间),它是一个一维的线性空间。3.3.逻辑地址(相对地址、虚地址)逻辑地址(相对地址、虚地址):用用户户编编程程序序时时所所用用的的地地址址。基基本本单单位位可可与与内内存存的的基
4、基本本单位相同,也可以不相同。单位相同,也可以不相同。4.4.作作业业地地址址空空间间(逻逻辑辑地地址址空空间间、虚虚地地址址空空间间):用用户户程程序序地地址址的的集集合合称称为为逻逻辑辑地地址址空空间间,它它的的编编址址总总是是从从0 0开开始始的的,可可以以是是一一维维线线性性空空间间,也也可可以以是是多多维维空间。5.5.作业地址空间与主存空间作业地址空间与主存空间二二.主存管理的功能主存管理的功能1.地址映射地址映射将程序地址空间中使用的逻辑地址变换成主存中物理地址的过程.2.主存分配主存分配 按照一定的算法把某一空闲的主存区分配给作业或进程。3.存储保护存储保护 保证用户程序(或进
5、程映象)在各自的存储区域内操作,互不干扰。4.主存扩充(提供虚拟存储技术)主存扩充(提供虚拟存储技术)向用户提供一种不受物理存储器大小和结构限制的用户编程时使用的存储器。即使在用户程序比主存容量还要大的情况下,程序也能正确运行。三三.主存映射主存映射1.1.什么是地址映射什么是地址映射(1)为什么要进行地址映射)为什么要进行地址映射 作业的相应进程在处理机上运行时,所要访问的指令和数据的实际地址和地址空间中的地址是不同的。(2)地址映射的定义)地址映射的定义 将程序地址空间中使用的逻辑地址变换成主存中的地址的过程称为地址映射。有时也称为地址重定位。2.2.地址映射的方式地址映射的方式(1)编程
6、或编译时确定地址映射关系不能浮动的程序模块(2)静态地址映射(3)动态地址映射(1)静态地址映射(静态重定位)静态地址映射(静态重定位)评价评价:n优点是实现简单,不要硬件的支持。n缺点是程序一旦装入内存,移动就比较困难。有时间上的浪费。在程序装入内存时要将所有访问内存的地址转换成物理地址。在程序装入内存时程序装入内存时完成从逻辑地址到物理地址的转换的。(重定位装入程序)(2)动态地址映射)动态地址映射在在程程序序执执行行期期间间,随随着着每每条条指指令令和和数数据据的的访访问问自自动动地地连连续续地地进进行行地地址址映映射射。一一般般由由系系统统硬硬件件完完成成从从逻逻辑辑地地址址到到物物理
7、理地址的转换的。地址的转换的。系系统统中中设设置置了了重重定定位位寄存器寄存器。n n动态地址映射由硬件执行时完成,程序中不执行的程序就不做地址映射的工作,这样节省了CPU的时间。n n动态地址映射技术能满足以下目标:(1)具有给用户程序任意分配内存区的能力(2)可实现虚拟存储(3)具有重新分配的能力(4)对于用户程序,可以分配到多个不同的存储区3.3.静态地址映射与动态地址映射的区别静态地址映射与动态地址映射的区别 静态地址映射静态地址映射 动态地址映射动态地址映射 在作业装入过程中 在程序执行期间 进行地址映射 进行地址映射 需软件 需硬件地址变换机构 重定位装入程序 重定位寄存器 需花费
8、较多CPU时间 地址变换快 不灵活 灵活 四四.主存分配主存分配1.1.构造分配用的数据结构构造分配用的数据结构 主存资源信息块:等待队列头指针 自由主存队列头指针 主存分配程序地址 2.2.制定分配策略制定分配策略(1)放置策略:决定内存中放置信息的区域(或位置),即如何在若干个空闲区中选择一个或几个空闲区的原则(2)调入策略:决定信息装入内存的时机预调策略:在执行前将信息预先调入内存预调策略:在执行前将信息预先调入内存请调策略:在用户请求时将信息调入主存请调策略:在用户请求时将信息调入主存(3)淘汰策略:在主存中没有任何可用的空闲区(内存不足)时,决定哪些信息从主存中移走,即确定淘汰已占用
9、的内存区的原则3.3.实施主存分配与回收实施主存分配与回收五五.主存扩充(提供虚拟存储器)主存扩充(提供虚拟存储器)1 1、问题的提出、问题的提出用户程序结构:n一维空间一维空间 一个用户程序就是一个程序,并且程序和数据是不分离的n二维空间二维空间 程序由主程序和若干个子程序(或函数)组成,并且程序与数据是分离的 nn维空间维空间 即一个大型程序,由一个主模块和多个子模块组成,其中,各子模块又由主程序和子程序(或函数)组成n物理存储器的结构是个一维的线性空间,容量是有限的。n用户程序可能比内存容量小,也可能比内存容量大,有时候要大得多。n在主存容量十分紧张的情况下,如何让用户使用计算机不受主存
10、容量的限制?如何将与物理内存结构不同,且大于物理内存容量的用户程序装入运行?2.2.解决问题的思路解决问题的思路 装入部分程序地址空间,它还能正确地执行?3.3.实现方法实现方法 程序的全部代码和数据存放在辅存中;将程序当前执行所涉及的那部分程序代码放入主存中;程序执行时,当所需信息不在主存,由操作系统和硬件相配合来完成主存从辅存中调入信息,程序继续执行。4.4.什么是虚拟存储器什么是虚拟存储器 n由操作系统和硬件相配合来完成主存和辅存之间的信息的动态调度。这样的计算机系统好像为用户提供了一个其存储容量比实际主存大得多的存储器(虚拟存储器)。n现代计算机操作系统都采用了这种技术,使得用户编程序
11、时不需要考虑物理内存的结构和容量,极大地方便了用户。n虚拟存储器需要大容量的外存储器的支持,或称物质基础。5.5.虚拟存储器的核心虚拟存储器的核心 逻辑地址与物理地址分开 主存空间与地址空间分开 提供地址变换机构 6.6.实现虚拟存储器的物质基础实现虚拟存储器的物质基础 有相当容量的辅存 足以存放多用户的作业的地址空间 有一定容量的主存 存放运行进程的当前信息 地址变换机构六六.存储保护存储保护1.1.什么是存储保护什么是存储保护在多道程序设计的环境下,系统中有系统程序和多个用户程序同时存在,如何保证用户程序不破坏系统程序,用户程序之间不相互干扰?主存储器按区分配给各用户程序使用。为了互不影响
12、,由硬件(软件配合)保证每道程序只能在给定的存储区域内活动,这种措施叫做存储保护。2.2.存储保护方法存储保护方法常用的存储保护有两种:界地址保护存储键保护3.3.界地址保护界地址保护(1)上下界防护)上下界防护n下界寄存器 存放程序装入内存后的始地址(首址)n上界寄存器 存放程序装入内存后的末地址n判别式:(下界寄存器)物理地址(上界寄存器)n n例:例:有一程序装入内存的首地址是500,末地址是1500,访问内存的逻辑地址是500、345、1000。下界寄存器:500 上界寄存器:1500 逻辑地址装入内存的首地 物理地址 1、500500 1000 500 1000 1500 2、345
13、500 845 500 845 1500 3、1000500 1500 500 1500 1500(2)基址、限长寄存器保护)基址、限长寄存器保护n基址寄存器:存放程序的起始地址。n限长寄存器:存放程序的长度(单位:字节)n判别式:0 程序地址 (限长寄存器)n n例:例:有一程序装入内存的首地址是500,末地址是1500,访问内存的逻辑地址是500、345、1000。基址寄存器:500 限长寄存器:1000 1、500 500 1000 2、500 345 1000 3、500 1000 10004.4.两种存储保护技术的区别两种存储保护技术的区别 1、寄存器的设置不同2、判别式中用的判别条
14、件不同上下界寄存器保护法用的是物理地址物理地址基址、限长寄存器保护法用的是程程序序的的逻辑地址地址(三)(三)分区存储管理分区存储管理一一.动态分区分配动态分区分配1.1.什么是动态分区分配什么是动态分区分配在在处处理理作作业业的的过过程程中中,建建立立分分区区,依依用用户户请求的大小请求的大小分配分区。分配分区。系统生成后,操作系统占用内存的一部分,一般在物理内存的开始处,比如,一个操作系统占20KB,装入系统后占用020KB的内存空间,剩下的部分作为一个空闲区,当一个用户程序(作业、进程)调入内存时,把这个空闲区的低地址部分的区域分配给它。2.2.动态分区的分配、回收过程动态分区的分配、回
15、收过程 (1)动态分区的分配过程动态分区的分配过程(2)动态分区的回收过程动态分区的回收过程 当有作业完成后释放所占用的存储区。在系统运行的过程中,系统中形成多个空闲的不连续的存储区,称主存空闲。二二.分区分配机构分区分配机构1.1.分区描述器分区描述器flagflag:为为 00空闲区空闲区 为为 11已分配区已分配区 sizesize:分区大小分区大小 nextnext:空闲区空闲区自由主存队列中的勾链字自由主存队列中的勾链字 已分配区已分配区此项为零此项为零分配标志flag大小size勾链字next2.2.自由主存队列结构自由主存队列结构三三.分区的分配与回收分区的分配与回收1.1.分区
16、分配分区分配 用户请求分配一个主存块 分区分配程序在自由主存队列中找一个满足用户需要的空闲块 若找到,则返回所分配区域的首址,否则,告之不能满足要求。n 切割空闲区有两种方法:从空闲区头开始 从空闲区尾开始n 空闲区大小50KB,首址156KB,申请34KB。分区分配算法分区分配算法requestrequest以空闲内存队列的数据结构进行分配。注:注:1、分配算法中切割空闲区是从低低地地址址开始的,例如,一个空闲区大小是100KB,首址是230KB,一申请者要求80KB,分配时将从230KB开始的80KB分配给申请者,剩下的部分仍作为一个空闲区,其首址是310KB,大小是20KB。2、门门限限
17、值值是切割空闲区后剩下的区域若小于门限值,就不切割该空闲区,统统分给申请者。2.2.分区回收分区回收 回收分区回收分区r 上邻空闲区上邻空闲区 回收分区回收分区r 下邻空闲区下邻空闲区r与 f1 合并成为一个大的空闲区f1 r与 f2 合并成为一个大的空闲区f2 回收分区回收分区r 回收分区回收分区r 上、下邻空闲区上、下邻空闲区 上、下邻已分配区上、下邻已分配区 r与 f1、f2 合并成为一个大的空闲区f1 r成为一个新的空闲区f分区回收算法分区回收算法releaserelease当一个进程(或程序)释放某内存区时,要调用存储区释放算法release,它将首先检查释放区是否与空闲区表(队列)
18、中的其它空闲区相邻,若相邻则合并成一个空闲区,否则,将释放为一个空闲区插入空闲区表(或队列)中的适当位置。四四.放置策略放置策略1.1.什么是放置策略什么是放置策略选择空闲区的策略,称为放置策略。空闲区表的组织有两种方法:1、按空闲区大小的升序(降序)组织;2、按空闲区首址升序(降序)组织。根据空闲区表组织的方法的不同,有不同的放置策略:最最佳佳适适应应算法、首首次次适适应应算法和最最坏坏适适应应算法三种。2.2.首次适应算法首次适应算法(1)什么是首次适应算法什么是首次适应算法首首次次适适应应算算法法是是将将输输入入的的作作业业放放置置到到主主存存里里第一个足够装入它的可利用的空闲区中。它的
19、可利用的空闲区中。首首次次适适应应算算法法的的表表是是按按空空闲闲区区首首址址升升序序的的(即空闲区表是按空闲区首址从小到大)方法组织的。(2)首次适应算法的例子首次适应算法的例子(3)特点特点 这种算法的实质是尽可能地利用低地址部分的空闲区,而尽量地保留高地址部分的大空闲区,使其不被切削成小的区,其目的是保证在大的作业到来时有足够大的空闲区满足请求者。3.3.最佳适应算法最佳适应算法(1)什么是最佳适应算法什么是最佳适应算法最佳适应算法是将输入的作业放置到主存中与它所需大小最接近的空闲区中。最佳适应算法的空闲区表按空空闲闲区区大大小小升序升序方法组织。(2)最佳适应算法的例子)最佳适应算法的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 存储器 管理
限制150内