计算机操作系统-第4章存储管理.ppt_第1页
计算机操作系统-第4章存储管理.ppt_第2页
计算机操作系统-第4章存储管理.ppt_第3页
计算机操作系统-第4章存储管理.ppt_第4页
计算机操作系统-第4章存储管理.ppt_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

清华大学出版社,计算机操作系统,刘 腾 红 主编,Computer Operating System,第4章 存储管理,要求学生了解存储管理的一般性概念;重 点掌握分区式管理、分页式管理、分段 式管理以及段页式管理的原理,在学习 中要注意每种管理方式提出的背景和解 决的问题,还要了解系统内部提供的软 硬件支持。,第4章 存储管理,4.1 存储管理概述 4.2 简单的存储管理 4.3 分页式存储管理 4.4 请求分页存储管理 4.5 分段存储管理 4.6 段页式存储管理 4.7 Windows XP的内存管理,4.1.1 内存概念与存储器层次 计算机系统由计算子系统(处理机与 CPU)、存储子系统、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 存储管理概述,举例:如图4-4所示,4.1 存储管理概述,图44 进程的寻址要求,2重定位 含义:由相对地址到物理地址的地址变换 (1)静态重定位 程序运行之前进行重定位 缺点: 一旦程序装入后,不能在内存中移动 它要求分配给程序的内存空间连续,不 易实现 不利于多进程共享程序,4.1 存储管理概述,(2)动态重定位 程序运行过程中通过硬件来实现虚-实地 址变换,如图4-5所示,4.1 存储管理概述,图45 动态重定位的过程,(2)动态重定位 优点:高效 内存移动简单,为存储空间紧缩与内存 碎片处理提供了可能 一个程序可以存放在连续的内存空间, 有利于充分利用内存。 多个进程共享程序或数据段时,可以 只要一个副本。,4.1 存储管理概述,3内存共享 4存储保护 上下界限保护如图4-6(a)所示, 基址、限长寄存器保护如图4-6(b),4.1 存储管理概述,(a)上下界限寄存器保护,(b) 基址、限长寄存器保护,图46 界限寄存器的存储保护,4存储保护 (2) 存储键保护:如图4-7所示,4.1 存储管理概述,图47 存储保护键的内存保护,5逻辑组织 程序被逻辑化地组织成一系列的模块 6物理组织 7虚拟存储器 这种技术的实质是将外存作为内存的外延 对于应用程序,以为系统提供了一个足以 存放当前系统运行的所有用户进程的程序 与数据集的、比实际内存空间大的多的存 储空间,这个存储空间就是虚拟存储器。,4.1 存储管理概述,4.2.1 单一连续区分配 在个人计算机中,管理方法如图4-8所示,4.2 简单的存储管理,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 可变式分区主存分配情况,2可变式分区 (1)分区说明表 如图4-11所示:图中的两张表的内容是对 图4-10(d)情况的描述。,4.2 简单的存储管理,(a)已分配区表,(b)未分配区表,图4-11 可变式分区说明,2可变式分区 一个回收区R邻接空闲区的情况有三种, 如图4-12所示。,4.2 简单的存储管理,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。,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 所示。,4.2 简单的存储管理,4-18 分区分配中的空闲区拼接,4碎片问题 拼接技术的缺点是: 消耗系统资源,为移动已分配区信息要花费大量的CPU时间。 当系统进行拼接时,它必须停止所有其他的工作。对交互作用的用户,可能导致响应时间不规律;对实时系统的紧迫任务而言,由于不能及时响应,可能造成严重后果。 拼接需要重新定义已存入主存的作业。,4.2 简单的存储管理,5分区管理的优、缺点 主要优点为: 实现了主存的共享 实现分区管理的系统设计相对简单,不需要更多的系统软硬件开销。 实现存储保护的手段也比较简单。,4.2 简单的存储管理,5分区管理的优、缺点 主要缺点为: 主存利用仍不够充分,存在严重的碎片问题 不能实现对主存的“扩充” 和单一连续区分配一样,要求一个作业运行之前必须全部装入主存。,4.2 简单的存储管理,4.2.3 覆盖与交换 1虚拟存储器 部分装入程序 实现虚拟存储技术要求:外存、主存、 地址变换机构 2覆盖 覆盖:是指同一主存区可以被不同的程 序段重复使用 覆盖的基本原理可用图4-19加以说明。,4.2 简单的存储管理,2覆盖 覆盖的基本原理可用图4-19加以说明。,4.2 简单的存储管理,图4-19 覆盖示例,3交换 采用交换技术,实际上是用辅存作缓冲, 让用户在较小的存储空间中通过不断地换 出作业而运行较大的作业,以提高作业周 转速度和主存利用率。 交换主要是在作业间进行,而覆盖主要 是在作业内进行。,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页表 页表应该包括下列信息:,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算法:如图427(d)所示 4时钟算法 时钟算法是寻找一个从上次检查以来没有被访 问过的页面,4.4请求分页存储管理,(a)最佳算法,(b)先进先出算法,(c)最近最久未使用算法,(d)近似的LRU算法,图427 不同淘汰算法对同一页面请求序列的效果,4.5.1 有关分段的基本概念 1.分段 每个分段是由从0开始编址的连续的地址空间, 它的长度由逻辑信息的内容多少决定 分段系统中 逻辑地址=段号S+段内地址W,4.5 分段存储管理,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 分段式系统共享与保护 1段的共享,4.5 分段存储管理,图430 分段的共享,4.5.3 分段式系统共享与保护 2段的保护 分段存储管理中段的保护主要: 1)地址越界保护 2)存取方式控制,4.5 分段存储管理,4.6.1 基本概念 在段页式系统中, 逻辑地址=段号+段内页号+页内地址,4.6 段页式存储管理,4.6.2 段页式系统地址变换,4.6 段页式存储管理,图431 段页式存储管理的地址变换,4.7.1 Windows XP的虚地址映射 默认情况下,32位的Windows XP系统能提供 4G的地址空间,如图4-32所示,4.7 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的内存管理,4.7.3 Windows XP分页系统的数据结构与地 址变换 Windows XP虚拟地址变换过程(图4-34)如下: 1)由页目录寄存器的内容确定当前进程的页目录在内存中的位置。 2)利用虚拟地址中的“页目录索引”找到所需页表在页目录中对应的页目录项。页目录项中包含有对应页表在内存中的物理页框号,由此查找指定页表在内存中的位置。,4.7 Windows XP的内存管理,4.7.3 Windows XP分页系统的数据结构与地 址变换 Windows XP虚拟地址变换过程(图4-34)如下: 3)再利用虚拟地址中的“页表索引”查找指定页面在该页表中对应的页表项。页表项中包含有指定页面在内存中的物理页框号。 4)最后,利用虚拟地址中的“字节索引”查找指定数据在物理页框中的位置。 Windows XP分页系统的主要数据结构除了页目 录和页表以外,还有支持快速地址变换的快表 TLB。,4.7 Windows XP的内存管理,图4-34 虚拟地址转换为物理地址的变换过程,4.7.4 Windows XP的内存分配技术 1)用户空间存储分配技术: 以页为单位的虚拟内存分配方法、内存映射 文件方法、内存堆栈方法 2)系统空间存储分配技术: 系统初始化时,内存管理程序会创建两种动 态大小的内存缓冲池,非分页缓冲池和分页缓 冲池。 3)快速内存分配机制,称为后备链表(Look- Aside List),4.7 Windows XP的内存管理,4.7.5 Windows XP的缺页中断处理过程 引起缺页错误的情形:1)用户空间存储分配技术: 1)进程访问的页面在磁盘上的某个页文件或映射文件中,尚未进入内存。 处理:为进程分配一个物理页框,将所需的 页面从外存装入,并放入进程的工作集。 2)所访问的页面在后备链表或修改链表中 处理:将该页移到进程或系统的工作集中。,4.7 Windows XP的内存管理,3)所访问的页面不包含在进程页目录中,但 该页面存在于系统空间且有效。 处理:从主系统页目录结构复制相应的页目 录项,并消除异常。 4)对于一个写时复制的页面执行写操作。 处理:为进程复制一个私有页面备份。 5)几类属于非法访问的操作,4.7 Windows XP的内存管理,4.7.5 Windows XP的缺页中断处理过程 线程也可能发生同样的缺页错误。 类似情况包括: 1)冲突页错误; 2)页面可能已经从虚拟地址空间中删除,并 重新映射; 3)页面的保护权限可能已经被修改等。,4.7 Windows XP的内存管理,4.7.6 Windows XP的页面调度策略 Windows XP采用了请求调页技术,并以簇为 单位装入页面。 当线程发生缺页中断时的“置页策略” 页面置换:在多处理机系统中,Windows XP 采用了局部“先进先出”置换策略。在单处理 机系统中,Windows XP采用了类似“最近最久 未用(LRU)”置换

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论