操作系统_存储管理0509

上传人:kms****20 文档编号:57098055 上传时间:2018-10-18 格式:PPT 页数:48 大小:700.50KB
返回 下载 相关 举报
操作系统_存储管理0509_第1页
第1页 / 共48页
操作系统_存储管理0509_第2页
第2页 / 共48页
操作系统_存储管理0509_第3页
第3页 / 共48页
操作系统_存储管理0509_第4页
第4页 / 共48页
操作系统_存储管理0509_第5页
第5页 / 共48页
点击查看更多>>
资源描述

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

1、,第五章 操作系统,第三章 操作系统,2,5.2 存储管理,5.2.1 存储管理的功能及有关概念 5.2.2 实存储管理 5.2.3 虚拟存储管理,5.2.1 存储管理的功能及有关概念,存储管理分为两大类:实存储管理虚拟存储管理。,第三章 操作系统,4,1、存储器的分级结构,高速缓冲存储器(cache):又称缓存,速度快、容量小、价格贵,用来存放使用最频繁的信息,以及缓冲CPU与内存之间的速度差。 主存储器:又称内存,是程序运行时存放系统和用户的指令及数据的设备。 外部存储器:又称外存,如硬盘、磁盘、光盘等;存取速度慢、容量大、价格便宜;可以存放大量的系统和用户的程序及数据;不能由CPU直接读

2、取。,2、存储管理功能,内存分配:解决如何合理分配内存空间保证以保证各作业互不冲突,提高内存的利用率和运行效率。,(内存分配、内存映射、存储保护和内存扩充),第三章 操作系统,6,2、存储管理功能,2)地址转换或重定位 地址空间和存储空间名空间:源程序存放的空间(一般从0开始)地址空间:目标程序占有的地址范围(逻辑地址或相对地址的集合)存储空间:目标程序装入内存后占用的一系列物理单元的集合(物理地址或绝对地址),重定位:当用户程序调入内存时,需把相对地址转换为绝对地址,同时要对程序中与地址相关的指令进行修改,这一过程称为重定位。静态重定位:通过CPU中一对界地址寄存器来实现。集中一次进行地址转

3、换,在执行过程中不再改变。下界:作业在内存中的起始地址上界:作业在内存中的终止地址,第三章 操作系统,8,动态重定位:在程序执行过程中进行,当CPU访问内存指令时由动态变换机构自动进行地址转换。,3) 存储保护:在静态重定位系统中,应满足D x L, 否则执行错误处理程序。对动态重定位系统的存储保护将结合有关的存储方式来讨论 4) 内存扩充:当作业的地址空间大于分配到的存储空间时需采取内存扩充技术。常采用的内存扩充技术:覆盖、交换、虚拟存储,第三章 操作系统,9,5.2.2 实存储管理,分区分配 可重定位分区分配 覆盖技术 交换技术,当作业要求调入内存时,存储管理要提供一个不小于作业地址空间的

4、连续存储空间,当空间不够时,常采用覆盖或交换技术扩充内存。 几种常用的实存储管理方法:,第三章 操作系统,10,1、分区分配: 适应于小型、微型机上的多道系统,思想:将内存划分为若干个分区,每个分区分配给一个作业,用静态重定位方式进行地址转换,用硬件措施保证各作业互不干扰。划分方式上有固定分区和可变分区两种。 固定分区分配:存储器事先被划分为若干个大小不等的分区,存储管理程序根据调入内存作业的最大存储量,找出一个足够大的分区分配给它。系统为每个分区设置一个目录,说明该分区的大小、起始位置、分配状况等信息,所有分区目录构成一个内存状态表。特点:分区大小固定,状态表的结构可以是顺序表也可以是链表;

5、分区的分配和回收算法简单。缺点:内存利用率低,有“碎片”,作业所需空间和分区大小不一定恰好相等。,312kB 320kB 352kB 384kB 504kB 1024kB,内存,内存状态表,返回,第三章 操作系统,12,例:某系统使用固定分区分配管理,现有1k、9k、33k、121k多道作业进入内存,画出占有空间情况,问浪费多大?,空余空间:7233111 = 72k,第三章 操作系统,13,2)可变分区分配(动态存储管理):内存利用率高只有当作业调入内存时,才按作业大小建立分区,当作业执行完后又释放此空间。采用链结构来构造分区目录。,第三章 操作系统,14,可变分区分配,图 3.8,图 3.

6、9 控制信息区,占用块,空闲块,1001,1301,2801,1901,图b占用块,图c空闲块,av,3501,第三章 操作系统,16,空间回收:当作业执行完毕后,系统将空间收回,插入到空闲块链表中,但插入时还要判断左右相邻块是否空闲,若是则合并成一个较大的空间,它可通过每一块中头尾的控制信息区的tag标志来判断。设当前回收块起始地址为p,大小为n,则应判断它左邻居p-1和右邻居p+n的tag是否为0,若不为0则将当前回收块插入到空闲块链表中。若出现有tag为0的相邻块,则应修改原空闲块的大小,将本回收块和相邻块合并。,P-1,P,P+n,n,第三章 操作系统,17,2、可重定位分区分配,碎片

7、问题和存储区的紧缩:碎片问题:在可变分区分配中,内存区由于各作业的多次请求和释放出现大量的碎片,浪费了大量的内存空间。存储器的“ 紧缩”:为了把分散的碎片集中起来成为一个大分区,需移动各用户程序,使它们集中在主存的一端。 2) 程序浮动和重定位程序浮动:将主存中用户程序进行移动动态重定位:程序浮动需对程序中所有与地址有关的项重新进行定位,此工作是在程序运行过程中进行的,也就是在CPU每次访问内存单元前进行的。,第三章 操作系统,18, 动态重定位实现过程: 先将用户作业的目标程序原封不动的装入主存某一分区,即用户程序中与地址有关的各项均保持原来的相对地址,例如下页图b中 Load 1,1000

8、 指令(1000为相对地址)。 当该用户程序被调度到处理器上执行时,操作系统将该用户作业区的起始地址(图b中的10023)减去用户目标程序的相对起始地址(图a 为0),然后将减得的值装入定位寄存器中。 当处理器要访问主存时,操作系统将程序中的相对地址与定位寄存器中的内容相加,得到主存的绝对地址去访问数据,如图b中绝对地址为11023。,第三章 操作系统,19,0,0100,1000,0100,定位寄存器,10023,地址空间 (a),存储空间 (b),动态重定位示意图,加法器,第三章 操作系统,20,存储器紧缩的两种解决方法:1)在某个分区释放后立即紧缩,这样系统中始终存在一个连续的自由分区而

9、无碎片。这对于分区的分配管理十分容易,但紧缩工作进行频繁,花费时间较多。 2)在请求分配分区找不到足够大的自由分区时再进行紧缩。这样紧缩的次数大大减少,但分配管理较复杂。,第三章 操作系统,21,3、覆盖技术,当用户作业的地址空间大于主存可用空间时,各作业就无法运行。覆盖技术可实现在较小的空间中运行较大的作业。,要进行覆盖的作业必须满足树状的模块结构,其中根部为常驻内存部分,称为根段,其余部分均为覆盖部分; 同层模块同一时刻只有一个模块被调用; 共享的覆盖空间以最大模块空间分配;,第三章 操作系统,22,A (20kb),B (50kb),C (20kb),F (30kb),E (40kb),

10、D (20kb),根部,树枝,树叶,B,21kb,70kb,C,D,E,B和C可以互相覆盖,F和D,E可以互相覆盖,不用覆盖时需要180kb,用覆盖时需要110kb,覆盖描述语言:ODLROOT A(BF,C(D,F)END,第三章 操作系统,23,4、交换技术,在分时、实时及批处理系统中均有应用,基本思想是只允许一个或几个用户作业保留在主存中。缺点:当作业较大时花费的代价较大。,小结:覆盖和交换技术作为扩充内存的方法,通常与分区分配方法结合使用。但仍存在不足,例如覆盖技术要求用户按模块化结构编制程序,并要写出覆盖文件;交换技术是以整个作业为单位进行内外存交换,当作业较大时花费的代价较大。由此

11、引发了虚拟存储技术的出现。,第三章 操作系统,24,5.2.3 虚拟存储管理,“实存” :作业运行时整个作业的地址空间必须全部装入内存的一个连续空间中,反之作业就无法运行。 “虚存”(虚拟存储管理):用软件方法来扩充存储器,虚拟存储器的概念是指一种实际上并不存在的虚假存储器,它能提供给用户一个比实际内存大得多的存储空间。,基本概念: 虚拟地址:程序访问的逻辑地址。 实在地址:处理器可直接访问的主存地址。 虚拟地址空间:虚拟地址的集合。 实在地址空间:计算机主存。注: 程序和数据所在的虚拟地址必须放入主存的实在地址中才能运行。因此要建立虚拟地址和实在地址的对应关系,这种地址转换由动态地址映像机构

12、来完成。,第三章 操作系统,26,1、分页存储管理,(1)分页管理的基本概念页面、页架(块)页面:用户作业的地址空间划分单位页架:内存的划分单位页面大小页架大小例:假设系统选择页的大小为1k字节,则一个3k字节的作业将被划分为3页。此时主存有5个空白块(块2、3、8、9、11)。因此,当作业2的三块装入内存时可以选择任意3个空白块。图中假定第0页装入主存的块2中,第一页装入块3中,第2 页装入块8中(主存中块9和块11空闲)。,第三章 操作系统,27,分页映射存储图,地址空间,页号,页架号,主存空间,作业2的页表,作业2的地址空间,0,100,2500,3k,1k,2k,0,2k,3k,4k,

13、5k,6k,7k,8k,9k,10k,11k,12k,作业1,0-1块,2块,作业3,8块,作业3,作业2第0页,作业2第2页,作业2第1页,页架号,第三章 操作系统,28,分页系统中的地址结构虚拟地址(逻辑地址):(p, d)p页号,d页内地址(相对地址) 页的大小为2的幂。,地址空间 (逻辑地址),页表地址器存器,页号,页架号,状态,主存空间,页表,页架号,0,1,10,10320,页表长,页表起始地址,p,d,p,d,地址变换机构,8进制地址表示,第三章 操作系统,30,例1:已知PMT,逻辑地址为3500,设页面大小为1k,求物理地址。,例2:一个分页管理逻辑地址长16位,页面大小为4

14、096BYTE,逻辑地址为2F6AH,且0、1、2页依次为5、10、11物理块,求物理地址。,0,1,2,3,5,8,10,12,PMT,分配给每道程序的页架数有限 内存中页面要随时更换(“抖动”现象) 更换算法:根据作业过去访问页面的情况推测未来对页面访问的可能性。,(3)页面变换算法,第三章 操作系统,32,1)先进先出法(FIFOFirst Input First Output)设有一用户程序共分为5页,其执行时页面变化的规律称为页面走向P,分配给该程序的页架数M为3,其页面淘汰过程如下,,P=,M=3,F=,页面走向,先进,后进,适用于按线性顺序访问地址的程序,否则效率不高。,第三章

15、操作系统,33,2)最近最少使用法(LRUleast recently used)基本思想:过去一段时间中不被访问的页面,在最近的将来不被访问的可能性也最大,应将这种页面首先淘汰。缺点:实现较困难,工作量大,软硬件开销大。,第三章 操作系统,34,LRU页面替换过程,页架号 页号 引用位 指针,页架号 页号 引用位 指针,q,第三章 操作系统,35,P=,M=3,F=,页面走向,先进,后进,例:用LRU算法计算上例的页面淘汰过程及缺页中断率,第三章 操作系统,36,(4)分页管理的存储保护,通过页表地址寄存器中的页表长度来实现保护。 (5)分页管理的优缺点优点: 不要求作业在内存中连续存放,较好的解决了碎片问题。 作业地址空间不受内存限制,对一些不常用的部分不必常驻内存,为用户提供足够大存储空间,从而有利于多道程序作业。缺点: 要求一定的硬件支持,增加了成本。 系统要增加页表及其管理程序,从而增加了内存的开销。同时CPU要占有一定时间来处理页面交换。,

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

最新文档


当前位置:首页 > 生活休闲 > 科普知识

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