操作系统课件07主存管理

上传人:F****n 文档编号:88049890 上传时间:2019-04-17 格式:PPT 页数:74 大小:1.69MB
返回 下载 相关 举报
操作系统课件07主存管理_第1页
第1页 / 共74页
操作系统课件07主存管理_第2页
第2页 / 共74页
操作系统课件07主存管理_第3页
第3页 / 共74页
操作系统课件07主存管理_第4页
第4页 / 共74页
操作系统课件07主存管理_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《操作系统课件07主存管理》由会员分享,可在线阅读,更多相关《操作系统课件07主存管理(74页珍藏版)》请在金锄头文库上搜索。

1、第七章 主存管理,(一) 主存的共享方式 (二) 主存管理的功能 (三) 分区存储管理技术 (四) 页式存储管理技术 (五) 段式及段页式存储管理技术,2,计算机系统存储结构,内存管理的目的,操作系统的“方便”性 便于用户装入程序,无须了解底层细节 可实现动态的存储空间伸缩,适应不同程序的需要 操作系统的“合理”性 合理分配内存空间,保证多道程序的顺利运行 合理保护内存空间,防止各种可能的破坏泄漏 操作系统的“有效性” 有效保持内存空间的可用性,防止对资源的浪费 有效实现“小空间大容量”,提高计算机的适应性 有效配合CPU的调度过程,实现系统运行的稳定,(一) 主存的共享方式,内存储器(简称内

2、存、主存、物理存储器) 处理机能直接访问的存储器。用来存放系统和用户的程序和数据,其特点是存取速度快,断电信息丢失。,主存的共享方式包含三种:,大小不等的区域 分区存储管理 分段存储管理 大小相等的片 页式存储管理 两者结合 段页式存储管理,(二)主存管理的功能,一. 几个概念 1、物理地址(绝对地址、实地址): 把内存分成若干个大小相等的存储单元,每个单元给一个编号,这个编号称为内存地址,是计算机主存单元的真实地址。存储单元占8位,称作字节(byte)。 2. 物理地址空间: 物理地址的集合称为物理地址空间(主存地址空间),它是一个一维的线性空间。,3. 逻辑地址(相对地址、虚地址): 用户

3、编程序时所用的地址。基本单位可与内存的基本单位相同,也可以不相同。 4. 逻辑地址空间(作业地址空间、虚地址空间): 用户的程序地址的集合称为逻辑地址空间,它的编址总是从0开始的。,二. 主存管理的功能,1. 地址映射 将程序地址空间中使用的逻辑地址变换成主存中的地址的过程。 2. 主存分配 按照一定的算法把某一空闲的主存区分配给作业或进程。 3. 存储保护 保证用户程序(或进程映象)在各自的存储区域内操作,互不干扰。 4. 主存扩充(提供虚拟存储技术) 向用户提供一种不受物理存储器大小和结构限制的用户编程时使用的存储器。即使在用户程序比主存容量还要大的情况下,程序也能正确运行。,1. 主存功

4、能地址映射, ,(1)为什么要进行地址映射 作业的相应进程在处理机上运行时,所要访问的指令和数据的物理地址和作业地址空间中的地址是不同的。,将500号单元处的数据123送到寄存器r1中,(2)地址映射的定义 将程序地址空间中使用的逻辑地址变换成主存中的地址的过程称为地址映射。有时也称为地址重定位。 (3)地址映射的方式 编程或编译时确定地址映射关系 静态地址映射 动态地址映射,静态地理映射定义: 在作业装入过程中随即进行的地址变换方式称为静态重定位或静态地址映射。,动态地址映射定义: 在程序运行时确定地址映射关系。在程序执行期间,随着每条指令和数据的访问自动地连续地进行地址映射。,静态地址映射

5、与动态地址映射的区别,构造分配用的数据结构 主存资源信息块(M_RIB)、空闲区队列等等 制定分配策略,2、主存功能主存分配,实施主存分配与回收,主存扩充也就是提供虚拟存储器 1)问题的提出,3、主存扩充,物理存储器容量是有限的,用户程序的大小,可能比内存容量小,也可能比内存容量大,有时候要大得多。 在主存容量十分紧张的情况下, 如何让用户使用计算机不受主存容量的限制?,2)解决问题的思路 装入部分程序地址空间,它还能正确地执行? 3)实现方法 程序的全部代码和数据存放在辅存中; 将程序当前执行所涉及的那部分程序代码放入主存中; 程序执行时,当所需信息不在主存,由操作系统和硬件相配合来完成主存

6、从辅存中调入信息,程序继续执行。,4. 什么是虚拟存储器,由操作系统和硬件相配合来完成主存和辅存之间的信息的动态调度。这样的计算机系统好像为用户提供了一个其存储容量比实际主存大得多的存储器(虚拟存储器)。,5. 虚拟存储器的核心 逻辑地址与物理地址分开 主存空间与地址空间分开 提供地址变换机构 6. 实现虚拟存储器的物质基础 有相当容量的辅存 足以存放多用户的作业的地址空间 有一定容量的主存 存放运行进程的当前信息 地址变换机构,4、存储保护,1)什么是存储保护 在多道程序设计的环境下,系统中有系统程序和多个用户程序同时存在,如何保证用户程序不破坏系统程序,用户程序之间不相互干扰? 主存储器按

7、区分配给各用户程序使用。为了互不影响,由硬件(软件配合)保证每道程序只能在给定的存储区域内活动,这种措施叫做存储保护。 2)存储保护方法 通常的存储保护方法 界地址保护和存储键保护(不介绍),(1) 上、下界防护,下界寄存器:存放程序装入内存后的开始地址 上界寄存器:存放程序装入内存后的末地址 判别式: 下界寄存器 物理地址 上界寄存器,(2) 基地址、限长防护,基址寄存器=下界寄存器 (首地址) 限长寄存器:存放程序长度 基址+限长=上界寄存器 (末地址) 判别式: 基址寄存器物理地址基址+限长寄存器,23,作业,第7章 第2题,(三) 分区存储管理,分区存储管理分为: 1. 固定分区 2.

8、 动态分区(可变分区),25,固定分区,固定分区,一. 动态分区分配 1. 什么是动态分区分配 在处理作业的过程中,建立分区,依用户请求的大小分配分区。 思想:分区的大小、数量和位置随内存中进程的大小和数量动态变化(根据作业的实际需要在装入内存时动态地分配连续的内存空间)。,(1) 动态分区的分配过程,作业1申请 32KB,作业2申请 14KB,作业3申请 64KB,作业4申请 100KB,作业5申请 50KB,(2) 动态分区的回收过程,29,2、分区分配机构 1) 主存资源信息块 在动态分区方法中,描述主存资源的数据结构是主存资源信息块,2) 分区描述器和空闲队列 主存中的每一个分区都有相

9、应的分区描 述器(pd)说明分区的特征信息。 flag: 为 0空闲区; 为 1已分配区 size: 分区大小 next:空闲区自由主存队列中的勾链字;已分配区此项为零,m_rib,pd,30,自由主存队列 (或空闲区队列) 结构 在主存分配中,主要讨论空闲区描述器和空闲区队列。下面是在t时刻的主存分布、空闲区描述器的内容和空闲区队列结构。,空闲区表的组织有两种方法: 1、按空闲区大小的升序(降序)组织; 2、按空闲区首址升序(降序)组织。,3、分区的分配与放置策略,1)分区分配 用户请求分配一个主存块 分区分配程序在自由主存队列中找一个满足用户需要的空闲块 若找到,则返回所分配区域的首址,否

10、则, 告之不能满足要求。,2)放置策略 选择空闲区的策略,称为放置策略。 空闲区表的组织有两种方法: 1、按空闲区大小的升序(降序)组织; 2、按空闲区首址升序(降序)组织。 根据空闲区表组织的方法的不同,有不同的放置策略:首次适应算法、最佳适应算法和最坏适应算法三种。,33,1)首次适应算法 空闲区按起始地址递增的顺序排列,将作业放到最先找到的空闲分区。,34,2)最佳适应算法 空闲区按由小到大的顺序排列,将作业放到满足要求的最小的空闲分区。,35,3)最坏适应算法 空闲区按由大到小的顺序排列,将作业放到满足要求的最大的空闲分区。,几种放置策略的比较,例如:某时刻系统中有三个空闲区,其大小和

11、首址为:(35KB,100KB)、(12KB,156KB)、(28KB,200KB) 有一作业系列: (JOB1,12KB)、(JOB2,30KB)、(JOB3,28KB) 用首次适应算法、最佳适应算法和最坏适应算法来处理该作业序列,看哪种算法合适? 注:设分配时从空闲区的高地址分割,以保持剩余空闲区的起始地址不变。,首次适应算法,100KB,作业1(12KB)放到首址100KB的空闲区,100KB,作业2(30KB)不能分配 作业3(28KB)放到首址200KB的空闲区,最佳适应算法,156KB,作业1(12KB)放到首址156KB的空闲区,200KB,作业2(30KB)放到首址100KB的

12、空闲区 作业3(28KB)放到首址200KB的空闲区,100KB,最坏适应算法,100KB,作业1(12KB)放到首址100KB的空闲区,作业2(30KB)不能继续分配 作业3(28KB)放到首址200KB的空闲区,200KB,四、碎片问题及拼接技术,1. 什么是碎片问题 在已分配区之间存在着的一些没有被充分利用的空闲区。 如何解决碎片问题? 2. 拼接技术 所谓拼接技术是指移动存储器中某些已分配区中的信息,使本来分散的空闲区连成一个大的空闲区。,41,OS,400KB,JOB1(100KB),JOB2(200KB),0,300KB,JOB6(100KB),800KB,700KB,900KB,

13、JOB5(100KB),JOB4(100KB),JOB7(100KB),600KB,1000KB,1024KB,OS,400KB,JOB2(200KB),0,300KB,JOB6(100KB),800KB,700KB,900KB,JOB5(100KB),JOB4(100KB),JOB7(100KB),600KB,1000KB,空闲(24KB),1024KB,空闲(100KB),OS,400KB,JOB2(200KB),0,300KB,800KB,700KB,900KB,JOB5(100KB),JOB7(100KB),600KB,1000KB,空闲(24KB),1024KB,空闲(100KB),

14、空闲(100KB),空闲(100KB),有一大小为200K的作业需要运行!,空闲(24KB),分区管理的优缺点,优点: 实现了多道程序共享主存。 实现分区管理的系统设计相对简单,不需要更多的系统软硬件开销。 实现存储保护的手段也比较简单。 缺点: 主存利用不够充分。系统中总有一部分存储空间得不到利用,这部分被浪费的空间叫碎片。 没有实现主存的扩充问题。 当作业的地址空间大于存储空间时,作业无法运行。也即作业的地址空间受实际存储空间限制。,(四) 页式存储管理,一. 问题的提出 分区存储管理的主要问题是碎片问题。 在采用分区存储管理的系统中,会形成一些非常小的分区,最终这些非常小的分区不能被系统

15、中的任何用户(程序)利用而浪费。 造成这样问题的主要原因是用户程序装入内存时是整体装入的,为解决这个问题,提出了分页存储管理技术。,二. 页式系统的基本概念,1. 页面 程序的地址空间被等分成大小相等的片,称为页面,又称为虚页。 2. 主存块 主存被等分成大小相等的片,称为主存块,又称为实页。,作业页面与主存块的关系,页表 地址映射,3. 页表,(1)什么是页表 为了实现从地址空间到物理主存的映象,系统建立的记录页与内存块之间对应关系的地址变换的机构称为页面映像表,简称页表。 包括用户程序空间的页面与内存块的对应关系、页面的存储保护和存取控制方面的信息。,三. 页式地址变换,1. 虚地址结构

16、虚地址是用户程序中的逻辑地址,它包括页号和页内地址(页内位移)。 区分页号和页内地址的依椐是页的大小,页内地址占虚地址的低位部分,页号占虚地址的高位部分。 【例】设虚地址长度为16位,页面大小为1KB: 页号 页内地址(位移量) P W 15 10 9 0,49,如何方便将逻辑地址线性分割求出页号P和页内位移W: 逻辑地址以十进制数给出: 页号P=逻辑地址 % 页大小 页内位移W=逻辑地址 mod 页大小 逻辑地址以十六进制、八进制、二进制的形式给出: 将逻辑地址转换成二进制; 按页的大小分离出页号P和位移量W(低位部分是位移量,高位部分是页号);,50,【例】:有一系统采用页式存储管理,有一作业大小是8KB,页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号