第4章-存储管理ppt课件.ppt
操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统第4章 存储管理 4.1 4.1 概述概述 4.2 4.2 基本存储空间管理基本存储空间管理 4.3 4.3 分页存储管理分页存储管理 4.4 4.4 分段存储管理分段存储管理 4.5 4.5 虚拟存储器虚拟存储器 4.6 4.6 实例:实例:WindowsWindows存储管理存储管理 本章主要内本章主要内容容操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统 存储管理一直是操作系统中的重要组成部分,因为冯诺依曼体系结构就是建立在存储程序概念上的,访问存储器的操作占CPU时间的70%左右。计算机系统中的存储器一般分为主存储器(简称主存、内存)和辅助存储器(简称辅存)。由于CPU只能直接与内存进行通信,因此计算机系统的程序以及与该程序相关的数据,只有被装入到内存中才能有效地执行。计算机系统能否高效地管理内存空间,不仅直接反映存储器的利用率,还会影响整个操作系统的性能。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统第4章 存储管理 4.1 4.1 概述概述 4.2 4.2 基本存储空间管理基本存储空间管理 4.3 4.3 分页存储管理分页存储管理 4.4 4.4 分段存储管理分段存储管理 4.5 4.5 虚拟存储器虚拟存储器 操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统4.1 概述4.1.1 4.1.1 存储层次存储层次4.1.2 4.1.2 地址转换地址转换4.1.3 4.1.3 程序的装入程序的装入操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统1 1层次结构层次结构 容量容量存取速度存取速度成本成本Cache主存储器主存储器辅助存储器辅助存储器操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2 2高速缓存高速缓存 高速缓存通常采用静态存储器(SRAM),速度小于25ns,常见的容量有128KB和256KB两种。它可以位于CPU和MMU之间(称为虚地址Cache),也可以位于MMU和内存之间(称为实地址Cache)。Cache的管理 Cache数据的一致性问题 操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统4.1 概述4.1.1 4.1.1 存储层次存储层次4.1.2 4.1.2 地址转换地址转换4.1.3 4.1.3 程序的装入程序的装入操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统1 1逻辑地址和物理地址逻辑地址和物理地址 通常用户程序是用高级语言编写的,并以二进制的形式保存在计算机的辅存中,称为源程序,源程序经过编译得到计算机能理解的目标程序,目标程序中的地址称为逻辑地址(相对地址)。计算机主存中每个存储单元都有一个编号与之对应,这些编号称为物理地址(绝对地址)。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2 2地址转换地址转换 将用户程序中的指令或数据的逻辑地址转换为存储空间中物理地址的工作称为地址转换地址转换或重定位或重定位。地址转换有两种方法:静态重定位、动态重定位 操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统内存内存1300+N130011001000N3001000LOAD 1,30012345LOAD 1,300123450程序程序静态地址重定位操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统动态地址重定位CPU存储器存储器程序程序内存内存1300+N130011001000N3001000LOAD 1,30012345LOAD 1,3001234503001000操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统4.1 概述4.1.1 4.1.1 存储层次存储层次4.1.2 4.1.2 地址转换地址转换4.1.3 4.1.3 程序的装入程序的装入操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统 程序在运行期间,被分为不同的生命期,每一步地址都有不同形式:编译阶段 链接阶段装入阶段 执行阶段操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统第4章 存储管理 4.1 4.1 概述概述 4.2 4.2 基本存储空间管理基本存储空间管理 4.3 4.3 分页存储管理分页存储管理 4.4 4.4 分段存储管理分段存储管理 4.5 4.5 虚拟存储器虚拟存储器 操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统4.2 4.2 基本存储空间管理基本存储空间管理4.2.1 4.2.1 单用户存储管理单用户存储管理4.2.2 4.2.2 固定分区存储管理固定分区存储管理4.2.3 4.2.3 可变分区存储管理可变分区存储管理4.2.4 4.2.4 交换交换操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统 这是最简单的一种存储管理方法,用于早期单用户系统中。它的最大特点是内存分配方式简单,整个内存空间被分割成系统区和用户区两部分,系统区用来存放操作系统驻留代码和数据,剩余空间则全部作为用户区,分配给一个用户作业使用。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统os内核代码内核代码用户进程用户进程空闲区域空闲区域系统区系统区用户区用户区基址寄存器基址寄存器单用户存储管理内存分配单用户存储管理内存分配 操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统单用户存储管理的存储保护单用户存储管理的存储保护 CPU界限寄存器逻辑地址YN寻址错误物理地址基址寄存器内存操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统4.2 4.2 基本存储空间管理基本存储空间管理4.2.1 4.2.1 单用户存储管理单用户存储管理4.2.2 4.2.2 固定分区存储管理固定分区存储管理4.2.3 4.2.3 可变分区存储管理可变分区存储管理4.2.4 4.2.4 交换交换操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统 固定分区存储管理是满足多道程序环境的最简单的存储管理方案。“固定”是指分区的大小和个数是在开机时由系统管理员指定,直到关机都不会再重新划分。每个分区只能存储一个进程,进程也只能在它所驻留的分区中运行。一个计算机系统中可以运行的进程数依赖于内存中的分区数量。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统os内核代码J1J2J304056072104136存储空间分区图 分区号大小(KB)始址(K)占用标记分区1(16k)分区2(16k)分区3(32k)分区4(32k)123416163232405672104J10J2J3主存分配表操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统 在多道程序环境下,可能出现申请分配存储空间的进程数大于内存的分区数,这就需要先将这些进程排队,当出现空闲分区时再从队列中取出,为其分配分区。操作系统操作系统分区分区1分区分区2分区分区3分区分区4操作系统操作系统分区分区1分区分区2分区分区3分区分区4带有多个输入队列带有多个输入队列 单个输入队列单个输入队列操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统逻辑地址逻辑地址界限寄存器界限寄存器YN寻址错误寻址错误基址寄存器基址寄存器操作系统操作系统分区分区1分区2分区分区3 固定分区存储管理的地址映射和存储保护 操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统4.2 4.2 基本存储空间管理基本存储空间管理4.2.1 4.2.1 单用户存储管理单用户存储管理4.2.2 4.2.2 固定分区存储管理固定分区存储管理4.2.3 4.2.3 可变分区存储管理可变分区存储管理4.2.4 4.2.4 交换交换操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统 1、可变分区存储管理的基本原理可变分区存储管理的基本原理 系统初启后,在内存中除常驻操作系统,其余空间为一个完整的大空闲区。当有进程申请分配内存空间时,系统从该空闲区中划分出一块与进程大小相同的区域进行分配。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统 可变分区存储管理中可以采用两种数据结构来完成存储空间的分配和回收。空闲分区表 空闲分区链 操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统分区号分区号大大小小(KB)始始址址(K)占用标记占用标记12343461454040123182239J300J45向向前前指指针针N+20向向后后指指针针N+20空闲分区空闲分区(N个字节)个字节)空闲分区表空闲分区表空闲分区链空闲分区链操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统 例:假设一个计算机系统的内存为2560KB,采用可变分区存储管理,操作系统占用内存低地址的400KB,则用户区的内存为2160KB。输入队列如下:进程 内存(KB)时间 J1 600 10 J2 400 5 J3 900 10 J4 300 18 J5 800 20操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2 2分区的分配策略分区的分配策略常用的分配策略有五种:最先适应算法(First Fit,FF)下次适应算法(Next Fit,NF)最佳适应算法(Best Fit,BF)最坏适应算法(Worst Fit,WF)快速适应法 (Quick Fit,QF)操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统3 3可变分区的回收可变分区的回收 外部碎片外部碎片有两种含义:一是指很小且很难分出的内存空间;另一种是当内存中的所有空闲分区的长度之和足够装入一个进程,但各个单个空闲分区的长度却不够装入一个进程,这些空闲分区就称为外部碎片。随着运行时间的增加,外部碎片的数量也会增多,这就势必会增加内存空间的浪费,而且空闲分区的查找效率也要降低。解决外部碎片的办法,就是紧凑紧凑(Compaction)。在空闲分区回收时将它与相邻的分区进行合并,形成一个大的空闲分区。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统操作系统操作系统J1200KBJ2300KBJ3400KB操作系统操作系统J1200KBJ2300KBJ3400KB操作系统操作系统J1200KBJ2300KBJ3400KB300KB700KB900KB1300KB1600KB1900KB2300KB300KB300KB2300KB2300KB700KB700KB1100KB1400KB1600KB1900KB900KB1300KB1600KB1900KB(a)(b)操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统4 4地址转换与存储保护地址转换与存储保护 地址转换机构中的两个寄存器:界限寄存器和基址寄存器,分别存放作业占用的连续存储空间的长度,和分配给作业的分区的最小绝对地址值。在进程运行过程中执行紧凑操作,需要移动内存中的代码,这时只要用新的起始地址代替基址寄存器中的地址即可,而不需要修改程序。有些系统为计算机提供多对基址/限长寄存器,允许一个进程占用多个分区。这些寄存器中有一对寄存器所指示的区域是共享的,可以存放共享代码和数据。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统4.2 4.2 基本存储空间管理基本存储空间管理4.2.1 4.2.1 单用户存储管理单用户存储管理4.2.2 4.2.2 固定分区存储管理固定分区存储管理4.2.3 4.2.3 可变分区存储管理可变分区存储管理4.2.4 4.2.4 交换交换操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统 利用交换(Swapping)技术可以有效缓解内存紧张的问题。交换又称对换,指在内存空间不够时,先把内存中暂时不用的程序和数据换出到辅存,将已具备运行条件的进程调入到内存。一般交换是以进程为单位的,称为“进程交换”,因此进程的大小必须小于内存的大小,大于内存的进程还是无法运行。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统1 1进程的换出进程的换出 当系统发现内存不够时,将调用对换程序逐个检查内存中驻留的进程,从处于阻塞或睡眠状态的进程中,按一定规则选出一个进程换出。系统首先申请辅存存储空间,申请成功后便将程序和数据写入辅存,并调用释放内存的程序,释放该进程所占有的内存空间,修改相应的内存分配表等数据结构。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2 2进程的换入进程的换入 首先要检查所有状态为“就绪且换出”的进程,为了避免一些优先级低的进程会被频繁执行对换操作,要优先考虑换出时间长的进程作为换入对象。然后根据进程的大小在内存中申请空间,如果没有合适大小的内存空间,则要将一些进程先换出。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统第4章 存储管理 4.1 4.1 概述概述 4.2 4.2 基本存储空间管理基本存储空间管理 4.3 4.3 分页存储管理分页存储管理 4.4 4.4 分段存储管理分段存储管理 4.5 4.5 虚拟存储器虚拟存储器 操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统4.3 4.3 分页存储管理分页存储管理4.3.1 4.3.1 分页存储管理的基本原理分页存储管理的基本原理4.3.2 4.3.2 硬件结构硬件结构4.3.3 4.3.3 页表结构页表结构操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统1 1页框的划分页框的划分 内存空间被划分为等长的区域,每个区域称为一个页框页框。页框的大小是由硬件决定的,通常情况下每个页框的大小是2i,起始地址由0开始,则页框内的地址范围是02i1,这称为页框内地址页框内地址。假设内存空间地址是2n,则可划分为2n-i个页框,每个页框也从0开始进行编号,称为页框号页框号。计算可知,内存中第k个页框的地址范围是:k2i(k1)2i1。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统 对于一个内存单元,其物理地址可由以下公式计算得到:物理地址第k页框起始地址页框内地址 页框号2k页框内地址 通过该公式可以看出,页框号是物理地址的高n-i位,而页框内地址是低i位,则物理地址可表示为:i位n-i位页框号页框内地址操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2 2页的划分页的划分 用户进程的逻辑空间也被划分为若干等长的区域,每个区域称为页页。页的长度与页框长度相同,即共有2i个存储单元。与页框类似,也从0开始依次编号,称为页号页号。每个页内单元从0开始依次编址,到2i1结束,称为页内地址页内地址。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统 页号=逻辑地址/页长 页内地址=逻辑地址%页长 即:将逻辑地址中的高n-i 位表示页号,低i位表示页内地址,则可得到逻辑地址。i位n-i位页号页内地址操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统3 3页与页框的对应关系页与页框的对应关系页框中的碎片问题页框的大小页表 描述页号、页框号的对应关系。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统4.3 4.3 分页存储管理分页存储管理4.3.1 4.3.1 分页存储管理的基本原理分页存储管理的基本原理4.3.2 4.3.2 硬件结构硬件结构4.3.3 4.3.3 页表结构页表结构操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统1 1地址转换机构地址转换机构 分页存储管理的地址转换是动态地址重定位的过程:首先由CPU产生逻辑地址,并由系统将其划分为页号和页内地址两部分。然后以页号为进程页表的索引找到页框号。查找前要进行越界检查,查看页号是否大于页表的长度,如果大于则表示此次转换地址已经超出范围,系统将产生一个越界中断。如果页号小于页表长度,则将页框号和页内地址合并得到物理地址。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统物理地址页表页表控制寄存器逻辑地址200KB202KB204KB206KB208KB210KB页号3 1444537页表起始地址 页表长度页号 页内地址(144)越界中断0123操作系统 0 1 2 3 4 5 +操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2 2存储分配过程存储分配过程 要建立一个进程,操作系统将根据内存页框的大小将进程的逻辑存储空间划分成相应大小的页。首先检查内存中的页框数是否满足该进程的要求;根据总页表,从第0行开始给进程分配页框,找到总页表中内容为“0”的行,将该行改为“1”,并将行数顺序写入页表;如果没有足够的空闲页框,则该进程放入等待队列排队。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统3 3含有快表的地址转换含有快表的地址转换 使用页表后,要两次访问内存后才能得到所需程序或数据,这样将使计算机的处理速度降低一半。相联存储器(Associative Memory),也称转换检测缓冲区(Translation Look Aside Buffer,TLB)TLB的特点是,访问速度比内存要快,具备一定的逻辑判断能力,可实现按内容检索,但造价很高。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统 如果要查找的页号已经登记在快表中,则称为命中(Hit),否则称为失误(Miss)。命中率(Hit Ratio)指的是通过快表实现内存访问的比率,定义为:命中率(命中次数/(命中次数失误次数)100 例例:假设访问快表需要20ns,直接访问内存的时间为100ns,假设快表的命中率是90,则有效访问时间是:12090%22010%130ns 操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统4 4页的共享与保护页的共享与保护 实现数据共享时,可允许不同的进程对共享数据页使用不同的页号,只要让各自页表中的相关项指向共享的页框就可以了。程序共享实现时要复杂些,由于分页存储管理要求逻辑地址空间是连续的,所以程序运行前它们的页号就是确定的。页的保护:保护权限位、保护键 操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统4.3 4.3 分页存储管理分页存储管理4.3.1 4.3.1 分页存储管理的基本原理分页存储管理的基本原理4.3.2 4.3.2 硬件结构硬件结构4.3.3 4.3.3 页表结构页表结构操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统1 1两级页表两级页表 类似于对存储空间进行分页,也对页表所需的内存空间,采用离散分配方式。将页表再分成大小与页框相同的页,并从0开始进行编号,这页框块称为页表页。页表页可以离散地分配到内存的不同页框中,同时为它建立一张页表,称为外层页表或页目录。每个外层页表中的表项记录了页表页的页号。10 10 12p1P2d页内地址外层页号外层页内地址操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统内存os程序代码页表外层页表p1P2p1逻辑地址页表始址外层页表地址页框地址二级页表结构的地址转换操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2 2多级页表多级页表 现代的计算机系统已经可以支持64位的虚拟地址,也就是说它的逻辑地址空间容量是264。如果还是采用二级页表结构,将页的大小设为4KB,逻辑地址中页内地址是12位,页表的大小是210,则最外层页表的索引将有42位。这242个页表项所组成的外层页表将会占用太大的连续存储空间,所以,二级页表结构显然不适合这些处理器。那么很自然的想法就是将外层页表继续分页,形成多级页表。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统3 3反置页表反置页表 反置页表面向的是内存的页框,即一个页表项对应一个页框,表项的顺序号就是内存的页框号,所以进程标识加上页号与内存的页框号是一一对应的,而且整个系统只有一个反置页表。逻辑地址是由三个字段组成:进程标识(pid),进程的页号(p)和页内地址(d)。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统 反置页表是按物理地址的页框号排序的,在查找时是根据逻辑地址的页号查找,因此有可能要查找整个页表,这种顺序查找会花费很长时间。可以使用哈希表(Hash Table)作为反置页表的上一级表,先将范围缩小到一个或几个表项再查找。使用哈希表也增加了一次对内存的访问,这样每次为了获取一个物理地址将访问两次内存:一次是查找哈希表,另一次是查找页表。为了提高性能,利用快表来加快查找速度,当失误时再去哈希表查找。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统哈希表iTLB反置页表物理地址pid p dpid pi d哈希函数 含有哈希表的反置页表结构操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统第4章 存储管理 4.1 4.1 概述概述 4.2 4.2 基本存储空间管理基本存储空间管理 4.3 4.3 分页存储管理分页存储管理 4.4 4.4 分段存储管理分段存储管理 4.5 4.5 虚拟存储器虚拟存储器 操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统4.4 4.4 分段存储管理分段存储管理4.4.1 4.4.1 程序分段程序分段4.4.2 4.4.2 分段存储管理的基本原理分段存储管理的基本原理4.4.3 4.4.3 段的共享与保护段的共享与保护4.4.4 4.4.4 段页式存储管理段页式存储管理操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统程序分段的特点特点:一般程序是由许多过程、函数和模块组成,此外还有一些数据结构,包括数组、堆栈、列表等。它们在物理上被组织在一起成为段,每个段都从“0”开始编址,段内地址连续,每段都有名字,而且具有完整的逻辑意义。程序员使用段时,是通过段的名字调用它们,而对它们存放的物理空间并不关心,其先后顺序不会影响程序结果。因为分段时是按逻辑意义划分的,所以段与段之间的长度不同,相互间的地址也是不连续的,在段内的指令或数据,都是相对于段的起始地址而言。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统内存数据段B主程序段子程序Y子程序Z load 1 B|call Y|call Z|F:D:E:内存中程序的分段操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统4.4 4.4 分段存储管理分段存储管理4.4.1 4.4.1 程序分段程序分段4.4.2 4.4.2 分段存储管理的基本原理分段存储管理的基本原理4.4.3 4.4.3 段的共享与保护段的共享与保护4.4.4 4.4.4 段页式存储管理段页式存储管理操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统1 1逻辑段与物理段逻辑段与物理段 分段存储管理中,地址的分割由用户进行的,用户根据程序需要来划分各个段。进程空间按逻辑被划分为一些长度不同的区域,每个区域称为一个逻辑段。一个逻辑段对应一个进程单元,例如一个子程序、一个模块或一个数据段等.一个进程是有若干逻辑段组成的,将这些段依次编号,称作段号。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统2 2数据结构数据结构 需要为每个在内存中的进程建立一张表,记录该进程的逻辑段在内存中的分布情况,称为段表段表。因为各个段的长度不是固定的,因此在段表中需要描述每个段的长度信息、该段的段号和起始地址。在分段存储管理下,内存空间将分为两种类型:已用块已用块和空闲块空闲块。这种情况与可变分区存储管理相似,因此也要使用一个空闲块表来记录内存中哪些块是空闲的,哪些块是使用了的,称为空闲块表。操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统段表 始址 长度 400 2002100 600进程空间内存逻辑段1逻辑段1逻辑段0逻辑段2100012001500190021002700逻辑段0主函数数据段逻辑段2子程序 进程空间、内存及段表的关系15001000操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是根据运动队在规定的比赛时间里得分多少来决定胜负的,因此,篮球比赛的计时计分系统是一种得分类型的系统内存4210段号 起始地址 长度8001000750 物理地址越界中断0123逻辑地址控制寄存器4010 200起始地址 长度段号 偏移量(200)操作系统4010分段存储管理系统的地址转换机构段表3002000550040101500+操作系统原理操作系统原理Principle of Operating System 精品课程精品课程篮球比赛是