计算机操作系统-第4章存储管理

上传人:ji****72 文档编号:48534761 上传时间:2018-07-17 格式:PPT 页数:63 大小:2.08MB
返回 下载 相关 举报
计算机操作系统-第4章存储管理_第1页
第1页 / 共63页
计算机操作系统-第4章存储管理_第2页
第2页 / 共63页
计算机操作系统-第4章存储管理_第3页
第3页 / 共63页
计算机操作系统-第4章存储管理_第4页
第4页 / 共63页
计算机操作系统-第4章存储管理_第5页
第5页 / 共63页
点击查看更多>>
资源描述

《计算机操作系统-第4章存储管理》由会员分享,可在线阅读,更多相关《计算机操作系统-第4章存储管理(63页珍藏版)》请在金锄头文库上搜索。

1、清华大学出版社 计算机操作系统刘 腾 红 主编Computer Operating System第4章 存储管理要求学生了解存储管理的一般性概念;重 点掌握分区式管理、分页式管理、分段 式管理以及段页式管理的原理,在学习 中要注意每种管理方式提出的背景和解 决的问题,还要了解系统内部提供的软 硬件支持。第4章 存储管理q 4.1 存储管理概述q 4.2 简单的存储管理q 4.3 分页式存储管理q 4.4 请求分页存储管理q 4.5 分段存储管理q 4.6 段页式存储管理q 4.7 Windows XP的内存管理4.1.1 内存概念与存储器层次计算机系统由计算子系统(处理机与 CPU)、存储子系

2、统、I/O子系统组成。 如图4-1所示4.1 存储管理概述图41 计算机系统中内存的位置4.1.1 内存概念与存储器层次1存储层次(如图4-2所示)。4.1 存储管理概述图42 计算机存储层次关系4.1.2 存储管理1.内存空间管理负责内存区域的分配与回收2重定位程序存在名字空间、逻辑地址空间和物 理地址空间(如图4-3所示)4.1 存储管理概述B+N M0 BN0符号指令 数据说明 I/O说明 名字空间地址空间 存储空间 目标程序作业i图4-3 程序的名空间、逻辑地址空间和物理地址空间举例:如图4-4所示4.1 存储管理概述图44 进程的寻址要求2重定位 含义:由相对地址到物理地址的地址变换

3、 (1)静态重定位程序运行之前进行重定位缺点:一旦程序装入后,不能在内存中移动它要求分配给程序的内存空间连续,不 易实现不利于多进程共享程序4.1 存储管理概述(2)动态重定位 程序运行过程中通过硬件来实现虚-实地 址变换,如图4-5所示4.1 存储管理概述图45 动态重定位的过程(2)动态重定位 优点:高效内存移动简单,为存储空间紧缩与内存 碎片处理提供了可能一个程序可以存放在连续的内存空间 , 有利于充分利用内存。多个进程共享程序或数据段时,可以 只要一个副本。4.1 存储管理概述3内存共享 4存储保护(1)上下界限保护如图4-6(a)所示, 基址、限长寄存器保护如图4-6(b)4.1 存

4、储管理概述(a)上下界限寄存器保护(b) 基址、限长寄存器保护图46 界限寄存器的存储保护4存储保护 (2) 存储键保护:如图4-7所示4.1 存储管理概述图47 存储保护键的内存保护5逻辑组织 程序被逻辑化地组织成一系列的模块 6物理组织 7虚拟存储器 这种技术的实质是将外存作为内存的外延 对于应用程序,以为系统提供了一个足以 存放当前系统运行的所有用户进程的程序 与数据集的、比实际内存空间大的多的存 储空间,这个存储空间就是虚拟存储器。4.1 存储管理概述4.2.1 单一连续区分配在个人计算机中,管理方法如图4-8所示4.2 简单的存储管理256KB-1图4-8 单一连续区的存储空间的组织

5、256KB-10RAM中的操作系统用户程序ROM中的操作系统(a)操作系统占用低地址区256KB-100 RAM中的操作系统用户程序用户程序ROM中的操作系统(b)操作系统占用高地址区(c)操作系统分隔在存储器的两端4.2.1 单一连续区分配主要缺点有: (1)存储器得不到充分利用 (2)处理机的利用率比较低 (3)周转时间长 (4)缺乏灵活性4.2 简单的存储管理4.2.2 分区分配根据分区方式的不同,可分为: 1固定式分区(又称为静态分区)如图4-9 4.2 简单的存储管理图4-9 固定式分区分配4.2.2 分区分配 2可变式分区:如图4-10所示4.2 简单的存储管理图4-10 可变式分

6、区主存分配情况2可变式分区 (1)分区说明表 如图4-11所示:图中的两张表的内容是对 图4-10(d)情况的描述。4.2 简单的存储管理始址大小占用标志 20KB32KBJ1 52KB6KBJ6 66KB58KBJ5 130KB100KBJ4 空表目 空表目 始址大小占用标志 158KB8KB可用 124KB6KB可用 230KB26KB可用 空表目 空表目 空表目 (a)已分配区表 (b)未分配区表图4-11 可变式分区说明2可变式分区一个回收区R邻接空闲区的情况有三种, 如图4-12所示。4.2 简单的存储管理(c)回收区R与上下空闲 区邻接128KB-1128KB-1图4-12 回收区

7、邻接空闲区的三种情况0空闲区F1 R 空闲区F2(a)回收区R与上空闲区 邻接128KB-100空闲区F1 R 作业X作业X R 空闲区F2(b)回收区R与下空闲区 邻接2可变式分区 (2)空闲区链4.2 简单的存储管理图4-13 附有表格信息的分区格式2可变式分区 常用空闲区链的管理方法有三种: 首次适应算法(First-Fit) 图4-11(b)的未分配区表用空闲区链表示 时,变为图4-14。4.2 简单的存储管理图4-14 首次适应算法的空闲区链2可变式分区 常用空闲区链的管理方法有三种: 最佳适应算法(Best-Fit) 图4-11(b)的未分配区表用空闲区链表示 时,变为图4-15。

8、4.2 简单的存储管理图4-15 最佳适应算法的空闲区链2可变式分区 常用空闲区链的管理方法有三种: 最坏适应算法(Worst-Fit) 图4-11(b)的未分配区表用空闲区链表示 时,变为图4-16。4.2 简单的存储管理图4-16 最坏适应算法的空闲区链4.2.2 分区分配 3分区管理的存储保护 (1)存储保护键 (2)界限寄存器 上、下界防护 如图4-17(a) 基址、限长防护 如图4-17(b)4.2 简单的存储管理图4-17 界限寄存器保护4.2.2 分区分配 4碎片问题 碎片:是指在已分配区 之间存在着的一些没有 被充分利用的空闲区 解决办法之一: 采用拼接技术如图4-18 所示。

9、4.2 简单的存储管理4-18 分区分配中的空闲区拼接4碎片问题 拼接技术的缺点是: 消耗系统资源,为移动已分配区信息要 花费大量的CPU时间。 当系统进行拼接时,它必须停止所有其 他的工作。对交互作用的用户,可能导 致响应时间不规律;对实时系统的紧迫 任务而言,由于不能及时响应,可能造 成严重后果。 拼接需要重新定义已存入主存的作业。4.2 简单的存储管理5分区管理的优、缺点 主要优点为: 实现了主存的共享 实现分区管理的系统设计相对简单,不 需要更多的系统软硬件开销。 实现存储保护的手段也比较简单。4.2 简单的存储管理5分区管理的优、缺点 主要缺点为: 主存利用仍不够充分,存在严重的碎片

10、 问题 不能实现对主存的“扩充” 和单一连续区分配一样,要求一个作业 运行之前必须全部装入主存。4.2 简单的存储管理4.2.3 覆盖与交换1虚拟存储器部分装入程序实现虚拟存储技术要求:外存、主存、 地址变换机构2覆盖覆盖:是指同一主存区可以被不同的程 序段重复使用覆盖的基本原理可用图4-19加以说明。4.2 简单的存储管理2覆盖 覆盖的基本原理可用图4-19加以说明。4.2 简单的存储管理图4-19 覆盖示例3交换采用交换技术,实际上是用辅存作缓冲 , 让用户在较小的存储空间中通过不断地换 出作业而运行较大的作业,以提高作业周 转速度和主存利用率。交换主要是在作业间进行,而覆盖主要 是在作业

11、内进行。4.2 简单的存储管理4.3.1页面与物理块1虚拟存储器内存物理块或块:从地址0开始递增编 号页或页面:与内存块大小相等的逻辑地 址空间,也从地址0开始顺序编号。按照分页式的概念:逻辑地址=页号+页内地址如图4-20所示4.3 分页式存储管理图420 逻辑地址空间的分页4.3.2 页表 对于图4-21中的作业2的页表,如图 4-21所示4.3 分页式存储管理图421 内存的分页和页表4.3.3 分页式系统的地址变换4.3 分页式存储管理图422 分页系统的地址变换示意图4.3.4 采用快表的地址变换4.3 分页式存储管理图4-23 分页系统中采用快表的地址变换4.4.1页表 页表应该包

12、括下列信息:4.4请求分页存储管理页号内存块号状态位修改位引用位保护信息4.4.2 请求分页系统的地址变换与缺页中断处理 请求分页系统的地址变换如图4-24所示 请求的页3被调入后的情况如图425所示 请求页式系统的地址变换与缺页中断处理如图4 26所示图424 请求页式的地址变换图425 请求的页3被调入后的情况图426 请求页式系统的地址变换与缺页中断处理4.4.3 页面淘汰算法 1最佳算法:如图427(a) 选择距下次被引用时间间隔最大的页来淘汰 2先进先出算法:如图427(b) 3最近最久未使用算法:如图427(c)所示 把到目前为止最长时间没有被使用的页淘汰 近似的LRU算法:如图4

13、27(d)所示 4时钟算法 时钟算法是寻找一个从上次检查以来没有被访 问过的页面4.4请求分页存储管理232152453252 222222444222 33333333333 1 5 5555555FFF222231552243 33315224435 1 5 2443352FFFFFF222231524533 33315245325 1 5 2453252FFFFF222231524333 33315243225 152455552 FFFFF(a)最佳算法(b)先进先出算法(c)最近最久未使用算法(d)近似的LRU算法图427 不同淘汰算法对同一页面请求序列的效果4.5.1 有关分段的基

14、本概念 1.分段 每个分段是由从0开始编址的连续的地址空间 , 它的长度由逻辑信息的内容多少决定分段系统中 逻辑地址=段号S+段内地址W4.5 分段存储管理段号S段内地址W段号内存起始地址段长2.段表4.5.2 段式系统的地址变换 1.地址变换:如图4-28所示4.5 分段存储管理图428分段存储管理的地址变换4.5.2 段式系统的地址变换 2段表扩展段在内存首址外还增加:状态位、访问位、修改位、存取方式、外存 起址、增补位这样段表中包括了缺段中断处理时所要的各 项信息。4.5 分段存储管理3缺段中断:如图4-29所示4.5 分段存储管理图429 分段管理的内存访问与缺段处理4.5.3 分段式

15、系统共享与保护 1段的共享4.5 分段存储管理图430 分段的共享4.5.3 分段式系统共享与保护 2段的保护分段存储管理中段的保护主要:1)地址越界保护2)存取方式控制4.5 分段存储管理4.6.1 基本概念在段页式系统中,逻辑地址=段号+段内页号+页内地址4.6 段页式存储管理段号s段内页号p页内地址w4.6.2 段页式系统地址变换4.6 段页式存储管理图431 段页式存储管理的地址变换4.7.1 Windows XP的虚地址映射默认情况下,32位的Windows XP系统能提供 4G的地址空间,如图4-32所示4.7 Windows XP的内存管理0xFFFFFFFF064KB的区域,用

16、于空 指针赋值(不可访问 )64KB的区域,用于坏 指针赋值(不可访问 )2GB的用户地址空间 (可使用)2GB的区域,用于操 作系统(不可访问)图4-32 Windows XP默认的虚拟地址空间4.7.2 Windows XP中进程页面的状态Windows XP采用分页管理技术管理系统内存Windows XP的一个进程页面状态:1)空闲2)保留:可通过Win32 VirtualAlloc和 VirtualAllocEx函数实现3)提交4.7 Windows XP的内存管理4.7.3 Windows XP分页系统的数据结构与地 址变换Windows XP分页系统采用了二级页表结构, 其虚拟地址结构如图4-33所示4.7 Windows XP的内存管理012 1122 2131页目录索引

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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