第7章-操作系统课件-07主存管理.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第7章-操作系统课件-07主存管理.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 课件 07 主存 管理
- 资源描述:
-
1、 第七第七章章 主存管理主存管理(一)(一) 主存的共享方式主存的共享方式(二)(二) 主存管理的功能主存管理的功能(三)(三) 分区存储管理技术分区存储管理技术(四)(四) 页式存储管理技术页式存储管理技术(五)(五) 段式及段页式存储管理技术段式及段页式存储管理技术2计算机系统存储结构计算机系统存储结构外存(secondary storage)DOS核心命令处理程序内存(primary storage)快速缓存(cache)寄存器(register)内存管理的目的内存管理的目的n操作系统的操作系统的“方便方便”性性n便于用户装入程序,无须了解底层细节便于用户装入程序,无须了解底层细节n可实
2、现动态的存储空间伸缩,适应不同程序的需要可实现动态的存储空间伸缩,适应不同程序的需要n操作系统的操作系统的“合理合理”性性n合理分配内存空间,保证多道程序的顺利运行合理分配内存空间,保证多道程序的顺利运行n合理保护内存空间,防止各种可能的破坏泄漏合理保护内存空间,防止各种可能的破坏泄漏n操作系统的操作系统的“有效性有效性”n有效保持内存空间的可用性,防止对资源的浪费有效保持内存空间的可用性,防止对资源的浪费n有效实现有效实现“小空间大容量小空间大容量”,提高计算机的适应性,提高计算机的适应性n有效配合有效配合CPUCPU的调度过程,实现系统运行的稳定的调度过程,实现系统运行的稳定(一)(一)
3、主存的共享方式主存的共享方式n内存储器(简称内存、主存、物理存储器)内存储器(简称内存、主存、物理存储器) 处理机处理机能直接能直接访问的存储器。用来存放系统访问的存储器。用来存放系统和用户的程序和数据,其特点是和用户的程序和数据,其特点是存取速度快存取速度快,断断电信息丢失电信息丢失。主存的共享方式包含三种:主存的共享方式包含三种:n 大小不等的区域大小不等的区域 分区存储管理分区存储管理 分段存储管理分段存储管理n 大小相等的片大小相等的片 页式存储管理页式存储管理n 两者结合两者结合 段页式存储管理段页式存储管理(二)主存管理的功能(二)主存管理的功能一一. . 几个概念几个概念1 1、
4、物理、物理地址(绝对地址地址(绝对地址、实、实地址):地址):把把内存分成若干个大小相等的存储单元,内存分成若干个大小相等的存储单元,每个单元给一个编号,这个编号称为内每个单元给一个编号,这个编号称为内存地址,是计算机主存单元的真实地址。存地址,是计算机主存单元的真实地址。存储单元占存储单元占8位,称作字节(位,称作字节(byte)。)。2. 2. 物理地址空间:物理地址空间:物理物理地址的集合称为物理地址空间(地址的集合称为物理地址空间(主主存地址空间存地址空间),它是一个一维的线性空),它是一个一维的线性空间。间。3. 3. 逻辑地址(相对地址、虚地址)逻辑地址(相对地址、虚地址): :用
5、户编程序时所用的地址。基本单用户编程序时所用的地址。基本单位可与内存的基本单位相同,也可位可与内存的基本单位相同,也可以不相同。以不相同。4. 4. 逻辑地址空间(作业地址空间、逻辑地址空间(作业地址空间、虚地址空间)虚地址空间): :用户的程序地址的集合称为逻辑地用户的程序地址的集合称为逻辑地址空间,它的编址总是从址空间,它的编址总是从0开始的。开始的。作业地址空间作业地址空间01n-1二二. . 主存管理的功能主存管理的功能1. 地址映射地址映射将程序地址空间中使用的逻辑地址变换成主存中的地址的过程。将程序地址空间中使用的逻辑地址变换成主存中的地址的过程。2. 主存分配主存分配 按照一定的
6、算法把某一空闲的主存区分配给作业或进程。按照一定的算法把某一空闲的主存区分配给作业或进程。3. 存储保护存储保护 保证用户程序保证用户程序(或进程映象或进程映象)在各自的存储区域内操作,互不干扰。在各自的存储区域内操作,互不干扰。4. 主存扩充(提供虚拟存储技术)主存扩充(提供虚拟存储技术)向用户提供一种不受物理存储器大小和结构限制的用户编程时使用的向用户提供一种不受物理存储器大小和结构限制的用户编程时使用的存储器。即使在用户程序比主存容量还要大的情况下,程序也能正确存储器。即使在用户程序比主存容量还要大的情况下,程序也能正确运行。运行。1. 1. 主存功能主存功能地址映射地址映射主存空间01
7、m-1作业1地址空间01n-1作业 i 地址空间01k-1 (1)为什么要进行地址映射)为什么要进行地址映射 作业的相应进程在处理机上运行时,所要访问的指令作业的相应进程在处理机上运行时,所要访问的指令和数据的物理地址和作业地址空间中的地址是不同的和数据的物理地址和作业地址空间中的地址是不同的。mov r1,500123mov r1,50012301005005990 1000110015001599256k-1作业地址空间作业地址空间存储空间存储空间将将500号单号单元处的数元处的数据据123送到送到寄存器寄存器r1中中(2)地址映射的定义)地址映射的定义将程序地址空间中使用的逻辑地址变换成
8、主存中的地址的将程序地址空间中使用的逻辑地址变换成主存中的地址的过程称为地址映射。有时也称为地址重定位。过程称为地址映射。有时也称为地址重定位。 (3 3)地址映射的方式)地址映射的方式编程或编译时确定地址映射关系编程或编译时确定地址映射关系静态地址映射静态地址映射动态地址映射动态地址映射静态地理映射定义:静态地理映射定义: 在在作业装入过程中作业装入过程中随即进行的地址变换方式称为随即进行的地址变换方式称为静态重定位或静态重定位或静态地址映射静态地址映射。mov r1,500123mov r1,500+m12301005005990mm+100256k-1作业地址空间作业地址空间存储空间存储
9、空间m+500重定位重定位装入程序装入程序n动态地址映射定义:动态地址映射定义: 在在程序运行时程序运行时确定地址映射关系。在程序执行期间,随着确定地址映射关系。在程序执行期间,随着每条指令和数据的访问自动地连续地进行地址映射。每条指令和数据的访问自动地连续地进行地址映射。mov r1,5001230100500599作业地址空间0 mov r1 , 500 1231000256k-1存储空间110015001600重定位寄存器 1000500逻辑地址+静态地址映射与动态地址映射的区别静态地址映射与动态地址映射的区别静态地址映射静态地址映射动态地址映射动态地址映射在作业装入过程中进行地址映射在
10、作业装入过程中进行地址映射 需软件变换机构重定位装入程序需软件变换机构重定位装入程序 需硬件地址变换机构重定位装入需硬件地址变换机构重定位装入程序程序 需花费较多需花费较多CPU时间时间 地址变换快地址变换快不灵活不灵活 灵活灵活构造构造分配用的数据结构分配用的数据结构 主存主存资源信息资源信息块(块(M_RIB)、空闲区队列等等)、空闲区队列等等 制定分配策略制定分配策略 2 2、主存功能、主存功能主存分配主存分配 实施主存分配与回收实施主存分配与回收 主存扩充也就是主存扩充也就是提供虚拟存储器提供虚拟存储器 1)问题的提出)问题的提出3、主存扩充、主存扩充 n物理存储器容量是有限的,用户程
11、序的大小,可能比内存物理存储器容量是有限的,用户程序的大小,可能比内存容量小,也可能比内存容量大,有时候要大得多。容量小,也可能比内存容量大,有时候要大得多。n在在主存容量十分紧张主存容量十分紧张的情况下,的情况下,如何如何让让用户使用计算机不受主存容量的限制?用户使用计算机不受主存容量的限制?2 2)解决问题的思路)解决问题的思路 装入部分程序地址空间,它还能正确地执行?装入部分程序地址空间,它还能正确地执行?3 3)实现方法)实现方法 程序的全部代码和数据存放在辅存中;程序的全部代码和数据存放在辅存中; 将程序当前执行所涉及的那部分程序代码放入主将程序当前执行所涉及的那部分程序代码放入主存
12、中;存中; 程序执行时,当所需信息不在主存,由操作系统程序执行时,当所需信息不在主存,由操作系统和硬件相配合来完成主存从辅存中调入信息,程和硬件相配合来完成主存从辅存中调入信息,程序继续执行。序继续执行。 4. 4. 什么是虚拟存储器什么是虚拟存储器 n由操作系统和硬件相配合来完成主存和辅存之间的信由操作系统和硬件相配合来完成主存和辅存之间的信息的动态调度。这样的计算机系统好像为用户提供了息的动态调度。这样的计算机系统好像为用户提供了一个其存储容量比实际主存大得多的存储器一个其存储容量比实际主存大得多的存储器(虚拟存虚拟存储器储器)。5. 5. 虚拟存储器的核心虚拟存储器的核心 逻辑地址与物理
13、地址分开逻辑地址与物理地址分开 主存空间与地址空间分开主存空间与地址空间分开 提供地址变换机构提供地址变换机构 6. 6. 实现虚拟存储器的物质基础实现虚拟存储器的物质基础 有相当容量的辅存有相当容量的辅存 足以存放多用户的作业的地址空间足以存放多用户的作业的地址空间 有一定容量的主存有一定容量的主存 存放运行进程的当前信息存放运行进程的当前信息 地址变换机构地址变换机构4 4、存储保护、存储保护1 1)什么是存储保护)什么是存储保护在多道程序设计的环境下,系统中有系统程序和多个用户程序同在多道程序设计的环境下,系统中有系统程序和多个用户程序同时存在,时存在,如何保证用户程序不破坏系统程序,用
14、户程序之间不相如何保证用户程序不破坏系统程序,用户程序之间不相互干扰?互干扰?主存储器按区分配给各用户程序使用。为了互不影响,由硬主存储器按区分配给各用户程序使用。为了互不影响,由硬件件(软件配合软件配合)保证每道程序只能在给定的存储区域内活动,这种保证每道程序只能在给定的存储区域内活动,这种措施叫做存储保护。措施叫做存储保护。2 2)存储保护方法)存储保护方法 通常的存储保护方法通常的存储保护方法 界地址保护界地址保护和和存储键保护(不介绍)存储键保护(不介绍)n (1) 上、下界防护上、下界防护 mov r1 , 500 123020KB256KB 1存储空间存储空间24KB下界寄存器下界
15、寄存器 20KB上界寄存器上界寄存器 24KB下界寄存器:下界寄存器:存放程序装入存放程序装入内存后的开始地址内存后的开始地址上界寄存器:上界寄存器:存放程序装入存放程序装入内存后的末地址内存后的末地址判别式:判别式:下界寄存器下界寄存器 物理地址物理地址 上界寄存器上界寄存器n (2) 基地址、限长防护基地址、限长防护 mov r1 , 500 123020KB256KB 1存储空间存储空间24KB基址寄存器基址寄存器 20KB限长寄存器限长寄存器 4KB基址寄存器基址寄存器=下界寄存器下界寄存器 (首地址)首地址)限长寄存器:存放程序长度限长寄存器:存放程序长度基址基址+限长限长=上界寄存
16、器上界寄存器 (末地址)(末地址)判别式:判别式:基址寄存器基址寄存器物理地址基物理地址基址址+限长寄存器限长寄存器23作业作业w 第第7章章 第第2题题(三)(三) 分区存储管理分区存储管理分区存储管理分为:分区存储管理分为:1. 固定分区固定分区2. 动态分区(可变分区)动态分区(可变分区)25 固定分区固定分区固定分区一一. . 动态分区分配动态分区分配1. 1. 什么是动态分区分配什么是动态分区分配 在处理作业的过程中,建立分区,依用户请求的大小分在处理作业的过程中,建立分区,依用户请求的大小分配分区。配分区。 思想:分区的大小、数量和位置随内存中进程的大小思想:分区的大小、数量和位置
17、随内存中进程的大小和数量动态变化(根据作业的实际需要在装入内存时和数量动态变化(根据作业的实际需要在装入内存时动态地分配连续的内存空间)。动态地分配连续的内存空间)。 (1) 动态分区的分配过程动态分区的分配过程 20KB 0 os 作业作业1 作业作业2 作业作业3 作业作业4 52KB66KB130KB230KB256KB 1主存主存20KB 0 os 作业作业1 作业作业2 作业作业3 52KB66KB130KB256KB 1主存主存20KB 0 os 作业作业1 52KB256KB 1主存 0 os 256KB 1主存主存20KB20KB 0 os 作业作业1 作业作业2 52KB66
18、KB256KB 1主存主存作业作业1申请申请 32KB作业作业2申请申请 14KB作业作业3申请申请 64KB作业作业4申请申请 100KB作业作业5申请申请 50KB (2) 动态分区的回收过程动态分区的回收过程 20KB 0 os 作业作业1 作业作业2 作业作业3 作业作业4 52KB66KB130KB230KB256KB1主存20KB 0 os 作业作业1 作业作业3 作业作业4 52KB66KB130KB230KB256KB1主存作业2完成作业4完成20KB 0 os 作业作业1 作业作业3 52KB66KB130KB230KB256KB1主存292、分区分配机构、分区分配机构 1)
19、 主存资源信息块主存资源信息块 在动态分区方法中,描在动态分区方法中,描述主存资源的数据结构述主存资源的数据结构是主存资源信息块是主存资源信息块等待队列指针等待队列指针空闲区队列指针空闲区队列指针主存分配程序入口指针主存分配程序入口指针2) 分区描述器和空闲队列分区描述器和空闲队列 主存中的每一个分区都有相应的分区描主存中的每一个分区都有相应的分区描述器(述器(pd)说明分区的特征信息。)说明分区的特征信息。nflag: 为为 0空闲区空闲区; 为为 1已分配区已分配区 nsize: 分区大小分区大小 nnext:空闲区:空闲区自由主存队列中的勾自由主存队列中的勾链字链字;已分配区已分配区此项
20、为零此项为零m_ribpd分配标志分配标志flag分区大小分区大小size勾链字勾链字next30n自由主存队列自由主存队列 (或空闲区队列或空闲区队列) 结构结构n在主存分配中,主要讨论空闲区描述器和空闲区队列。下面是在t时刻的主存分布、空闲区描述器的内容和空闲区队列结构。 020KB os 作业1 作业3 作业4 52KB66KB130KB230KB256KB1主存 52KBm-rib 0 14KB 230KB 0 26KB 空闲区队列结构空闲区表的组织有两种方法:空闲区表的组织有两种方法:1、按空闲区大小的升序(降序)组织;、按空闲区大小的升序(降序)组织;2、按空闲区首址升序(降序)组
21、织。、按空闲区首址升序(降序)组织。3 3、分区的分配与放置策略、分区的分配与放置策略1 1)分区分配)分区分配 用户请求分配一个主存块用户请求分配一个主存块 分区分配程序在分区分配程序在自由主存队列自由主存队列中找一个满足中找一个满足用户需要的空闲块用户需要的空闲块 若找到,则返回所分配区域的首址,否则,若找到,则返回所分配区域的首址,否则, 告之不能满足要求。告之不能满足要求。2 2)放置策略)放置策略选择空闲区的策略,称为放置策略。选择空闲区的策略,称为放置策略。 空闲区表的组织有两种方法:空闲区表的组织有两种方法:1、按空闲区大小的升序(降序)组织;、按空闲区大小的升序(降序)组织;2
22、、按空闲区首址升序(降序)组织。、按空闲区首址升序(降序)组织。 根据空闲区表组织的方法的不同,有不同的放置根据空闲区表组织的方法的不同,有不同的放置策略:策略:首次适应首次适应算法、算法、最佳适应最佳适应算法和算法和最坏适应最坏适应算法三种。算法三种。33 1 1)首次适应算法)首次适应算法空闲区按起始空闲区按起始地址递增地址递增的顺序排列,将作业放到的顺序排列,将作业放到最最先先找到的空闲分区。找到的空闲分区。34 2)最佳适应算法最佳适应算法 空闲区按空闲区按由小到大由小到大的顺序排列,将作业放到满足要的顺序排列,将作业放到满足要求的求的最小最小的空闲分区。的空闲分区。 35 3)最坏适
23、应算法最坏适应算法空闲区按空闲区按由大到小由大到小的顺序排列,将作业放到满足要的顺序排列,将作业放到满足要求的求的最大最大的空闲分区。的空闲分区。几种放置策略的比较几种放置策略的比较例如:某时刻系统中有三个空闲区,其大小和首址为:(35KB,100KB)、(12KB,156KB)、(28KB,200KB)有一作业系列: (JOB1,12KB)、(JOB2,30KB)、(JOB3,28KB)用首次适应算法、最佳适应算法和最坏适应算法来处理该作业序列,看哪种算法合适?注:注:设分配时从空闲区的高地址分设分配时从空闲区的高地址分割,以保持剩余空闲区的起始地割,以保持剩余空闲区的起始地址不变。址不变。
24、 os在使用在使用在使用在使用在使用在使用在使用在使用12KB28KB0KB100KB35KB156KB200KB228KB- -135KB156KB首次适应算法首次适应算法12KB200KB28KBNULL100KB作业作业1(12KB)放到首址)放到首址100KB的空闲区的空闲区23KB156KB12KB200KB28KBNULL100KB作业作业2(30KB)不能分配)不能分配作业作业3(28KB)放到首址)放到首址200KB的空闲区的空闲区12KB200KB最佳适应算法最佳适应算法28KB100KB35KBNULL156KB作业作业1(12KB)放到首址)放到首址156KB的空闲区的空
25、闲区28KB100KB35KBNULL200KB作业作业2(30KB)放到首址)放到首址100KB的空闲区的空闲区作业作业3(28KB)放到首址)放到首址200KB的空闲区的空闲区5KB200KB28KBNULL100KB35KB200KB最坏适应算法最坏适应算法28KB156KB12KBNULL100KB作业作业1(12KB)放到首址)放到首址100KB的空闲区的空闲区作业作业2(30KB)不能继续分配)不能继续分配作业作业3(28KB)放到首址)放到首址200KB的空闲区的空闲区28KB100KB23KB156KB12KBNULL200KB四、碎片问题及拼接技术四、碎片问题及拼接技术1.
展开阅读全文