计算机 存储管理.ppt

上传人(卖家):saw518 文档编号:6446309 上传时间:2023-07-10 格式:PPT 页数:55 大小:909KB
下载 相关 举报
计算机 存储管理.ppt_第1页
第1页 / 共55页
计算机 存储管理.ppt_第2页
第2页 / 共55页
计算机 存储管理.ppt_第3页
第3页 / 共55页
计算机 存储管理.ppt_第4页
第4页 / 共55页
计算机 存储管理.ppt_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、第5章 存储管理连续分配存储管理方式连续分配存储管理方式 段式存储管理段式存储管理 页式存储管理页式存储管理 虚拟存储管理虚拟存储管理 存储器管理 1 存储器管理的主要功能存储分配的方法为多道程序分配大小相同的存储区还是大小不同的存储区;内存的分配在程序执行前分配还是在执行过程中动态分配。地址变换程序执行的内存区域是连续的还是分散的。地址保护如何保证程序之间既不冲突又可共享资源。内存扩充如何将内存和外存结合起来,为用户提供更大的存储空间。5 存储器管理 2 逻辑地址和物理地址逻辑地址(相对地址)用户程序经编译后生成的目标模块是以0为开始地址顺序编址。目标模块中的地址称为相对地址或逻辑地址。物理

2、地址(绝对地址)内存的地址以字节为单位,每个存储单元都有唯一的地址。3 程序的链接和装入 一个源程序要变为可以在内存中运行的程序,通常要经过编译、链接和装入三个步骤:1)编译:用户程序经编译后生成的目标模块是以0为开始地址顺序编址。目标模块中的地址称为相对地址或逻辑地址。2)链接:将编译后形成的多个目标模块以及它们运行所需要的库函数,链接在一起形成装入模块。装入模块仍以0作为起始地址。3)装入:将装入模块装入内存实际物理地址空间。5 存储器管理(1)链接 静态链接:程序装入内存之前将整个目标模块链接,形成可执行文件。装入时动态链接:在各目标模块装入内存时链接,边装入边链接。运行时动态链接:在执

3、行过程中将需要的模块调入内存,并链接到调用模块上。动态链接有利于实现目标模块的共享。通常被链接的共享代码称为动态链接库(DLL)或共享库(shared library)。(2)程序装入 程序的逻辑地址与分配的内存绝对地址不一致。每个逻辑地址也没有一个固定的绝对地址与其对应。例如:程序被装入到内存A单元开始的内存区域,则该程序访问逻辑地址的K单元的数据时,实际应访问A+K单元。为保证程序对数据的正确访问,必须把逻辑地址转换为绝对地址,把这个地址转换过程称为重定位。5 存储器管理程序的装入方式重定位(地址映射)重定位(地址映射)把用户程序中的相对地址(逻辑地址)转换为主存中的绝对地址(物理地址)过

4、程。静态重定位静态重定位 在程序装入内存时,装入程序把程序的逻辑地 址改成物理地址。物理地址固定,且必须连续。动态动态重定位重定位 在程序执行期间,通过重定位寄存器把程序的 逻辑地址改成物理地址。指令执行之前无须修改地址,因此运行之前可以变换存储位置,且各目标模块不需要连续存放。LOAD 1,150012345050015002000LOAD 1,250012345某程序的地址空间内存空间01000150025003000静态重定位示意图 LOAD 1,150012345050015002000某程序的地址空间LOAD 1,150012345内存空间010001500250030001000重

5、定位寄存器1500相对地址+动态重定位示意图 动态重定位示意图连续分配指为一个用户程序分配一个连续的内存空间。单一连续分配单一连续分配固定分区分配固定分区分配可变分区分配可变分区分配5.3连续分配存储管理方式(P113)单一连续分配基本思想是将系统程序和用户程序分开。是将系统程序和用户程序分开。单用户单任务操作系统用户程序位于RAM中操作系统用户程序位于ROM中操作系统用户程序位于ROM中驱动程序位于RAM中操作系统(a)(b)(c)00 xFF0 xFF0 xFF00示意图示意图固定分区方法分区在系统启动后分区在系统启动后划分好,以后不能划分好,以后不能改变。改变。划分分区方法分区大小相等分

6、区大小不等缺点内存利用率低空闲16M(b)内存空间分配情况操作系统 8M进程A 4M进程B 8M空闲 8M进程C 12M分区号 大小 首址 状态 1 4M 8M 1 2 8M 12M 1 3 8M 20M 0 4 12M 28M 1(a)分区说明表 5 16M 40M 0分区可变操作系统8MB空闲 56MB操作系统8MB进程1 20MB空闲 36MB操作系统8MB进程1 20MB空闲 22MB进程2 14MB(a)初始状态(b)进程1装入(c)进程2装入操作系统8MB进程1 20MB空闲 4MB进程2 14MB(d)进程3装入进程3 18MB操作系统8MB进程1 20MB空闲 4MB操作系统8

7、MB空闲 20MB空闲 4MB进程4 8MB(e)进程2退出(f)进程4装入(g)进程1退出(h)进程5装入操作系统8MB进程1 20MB空闲 4MB进程3 18MB进程3 18MB进程4 8MB空闲 6MB进程3 18MB空闲 6MB操作系统8MB空闲 6MB空闲 4MB进程4 8MB进程3 18MB空闲 6MB进程5 14MB空闲 14MB方法方法分区的大小和个数随系统的运行而不断改变动态分区分配数据结构空闲分区表(P116)空闲分区链(P117)动态分区分配算法首次适应法下次适应法最佳适应法最坏适应法动态分区的分配和回收操作可变分区可变分区内存的回收F1回收区回收区F2F1回收区F2(a

8、)(b)(c)回收分区与前面一个(低地址)空闲分区F1相邻接,图(a)回收分区与后面一个(高地址)空闲分区F2相邻接,图(b)回收分区与前、后两个空闲分区F1和F2均相邻,图(c)回收分区不与其它空闲分区相邻接 条件空闲分区链以存储空间地址递增的次序链接。优点释放时,因不改变该区在队列中的位置,因此速度快。保证高地址有空闲空间,可留给大作业。缺点常用大空闲区适应小作业,从而留下小空闲区,且这些小空闲区在链表的前面,影响分配速度。可变分区分配算法最佳适应法最佳适应法首次适应法首次适应法下次适应法下次适应法最坏适应法最坏适应法 条件空闲分区链以存储空间地址递增的次序连接成循环链,为进程分配存储空间

9、时,不是从队首开始找,而是从上次找到的空闲空间的下一个空闲分区开始找。优点存储空间利用均衡。缺点没有了较大空闲空间,使大作业无法运行。条件空闲分区链以存储空间大小递增的次序拉链。优点若存储空间中存在与申请大小相等的空闲区,则必然被选中,否则选一个稍大的空闲区,而避免毁掉更大的空闲区。缺点小碎片增加碎片问题严重。回收时,将空闲区插入适当的位置费时。条件空闲分区链以存储空间大小递减的次序拉链。优点分配后,剩下的空闲区还好用。申请时,查找容易,因此速度快。缺点当有大作业时,可能就没有空间可用了。练习1.在可变分区分配方案中,最佳适应法是将空闲块按_ _次序排序.A.地址递增 B.地址递减 C.大小递

10、增 D.大小递减2.在分区存储管理方式中,如果在按地址升序排列的未分配分区表中顺序登记了下列未分配分区:1-起始地址17K,分区长度为9KB;2-起始地址54KB,分区长度13KB,现有一个分区被释放,其起始地址为39KB,分区长度为15KB,则系统要_。A.合并第一个未分配分区 B.合并第一个及第二个未分配分区C.合并第二个为分配分区 D.不合并任何分区1.C2.C练习3.在固定分区存储管理中,每个分区的大小是_。A.相同 B.随进程的大小变化C.可以不同,需预先设定 D.可以不同,根据进程的大小设定4.在可变分区存储管理中,合并分区的目的是_。A.合并空闲区 B.合并分区 C.增加内存容量

11、 D.便于地址交换3.C4.A练习5.把程序地址空间中的逻辑地址转换为内存的物理地址称_。A.加载 B.重定位 C.物理化 D.链接6.在以下存储管理方案中,不适用于多道程序设计系统的是_。A.单一连续分区 B.固定分区C.可变分区 D.页式存储管理5.B6.A练习7.在可变分区系统中,当一个进程撤销后,系统回收其占用的内存空间,回收后造成空闲分区的个数减1的情况是_。A.回收区与空闲区无邻接 B.回收区与上面的空闲区邻接C.回收区与下面的空闲区邻接 D.回收区与上下两个空闲区邻接8.在可变分区分配方案中,首次适应法是将空闲块按_次序排序.A.地址递增 B.地址递减 C.大小递增 D.大小递减

12、7.D8.A练习9.在可变分区的分配算法中,倾向于优先使用低地址部分空闲区的是_,能使内存空间的空闲区分布得较均匀的是_,每次分配时,若内存中有和进程需要的分区的大小相等的空闲区,一定能分配给进程的是_。首次适应算法下次适应算法最佳适应算法练习10.在系统中采用可变分区存储管理,操作系统占用低地址部分的126KB,用户区的大小是386KB,若采用空闲分区表管理空闲分区。若分配时均从高地址开始,对于下述的作业申请序列:作业1申请80KB;作业2申请56KB;作业3申请120KB;作业1完成;作业3完成;作业4申请156KB;作业5申请80KB。(1)画出作业1、2、3进入内存后。内存分布情况。(

13、2)画出作业1、3完成后。内存的分布情况。(3)画出作业4、5进入内存后。内存分布的情况。练习(1)作业1、2、3进入内存后,内存分布如下图0KB126KB256KB376KB432KB操作系统126KB作业3:120KB作业2:56KB作业1:80KB练习(2)作业1、3完成后,内存的分布情况如下图0KB126KB256KB376KB432KB操作系统126KB作业2:56KB512-1KB练习(3)作业4、5进入内存后,内存的分布情况如下图0KB126KB256KB376KB432KB操作系统126KB作业4:156KB作业2:56KB作业5:80KB512-1KB离散分配方式的引入连续分

14、配方式带来的问题是会在存储空间中产生许多“碎片”。能否将进程分配到许多不相邻的分区中呢?由此产生离散分配方式。分页存储管理方式分页存储管理方式存储管理的需要分段存储管理方式分段存储管理方式用户编程的需要基本原理内存空间分成大小相等的若干个存储块,称为物理块或内存空间分成大小相等的若干个存储块,称为物理块或页框。页框。将进程的逻辑地址空间分成与块大小相等的若干页,称将进程的逻辑地址空间分成与块大小相等的若干页,称为页面或页;为页面或页;在为进程分配内存时,以块为单位,将进程中的若干页在为进程分配内存时,以块为单位,将进程中的若干页分别装入多个可以不相邻的块中。分别装入多个可以不相邻的块中。主存n

15、页2页1页4页3页用户程序0页2 61 34 93 8 50 2012345678910页表5.3页式存储管理页面的大小由机器的地址结构决定的。页面的大小由机器的地址结构决定的。页面的大小的权衡页面的大小的权衡 页面较小页面较小-内存碎片小;页表过长,占内存碎片小;页表过长,占用较大内存空间。用较大内存空间。页面较大页面较大-页表短,占用较少内存;内页表短,占用较少内存;内存碎片大。存碎片大。通常页面的大小要适中,在通常页面的大小要适中,在512B4MB之间。之间。页面大小的选择l地址转换方法 CPU生成的逻辑地址分成以下两部分:页号(p):页号作为页表中的索引。页表中包含每页所在物理内存的基

16、地址。页偏移(d):与页的物理基地址组合就形成了物理地址。地址转换示意图逻辑地址被分为两部分:页号 页内位移例如逻辑地址例如逻辑地址1500的二进制形式为的二进制形式为0000 0101 1101 1100如果页的大小为如果页的大小为1024B,故页内位移占故页内位移占10位,剩下位,剩下6位位为页号为页号逻辑地址逻辑地址1500对应的页号为对应的页号为1(二进制为(二进制为0000 01)页内位移为页内位移为476(二进制为(二进制为01 1101 1100)页式存储管理逻辑地址结构页号 页内位移15 10 9 0页式存储管理地址变换机构LOAD 1,15001234505001500300

17、0进程逻辑地址空间LOAD 1,15002 70 41 6页号 块号页表000001 0111011100逻辑地址1500000110 0111011100物理地址662066201K2K3K4K5K6K7K8K内存物理地址空间页表的组织现代的计算机系统都支持大的逻辑地址空间,当地址空间较大(32位或64位)如32位时,若页面大小为4KB=212B,有页表项目220=1M,若每个页表项占4B,故每张页表要占用4MB内存。对页表所需地址空间采用离散分配方式来解决将当前需要的部分页表项调入内存,其余的页表项仍驻留在磁盘上,需要时再调入内存。习题1.某系统采用页式存储管理方法,主存储器容量为256M

18、B,分成64K个块。某用户作业有4页,其页号依次为0,1,2,3被分别放在主存块号为2,4,l,6的块中。要求:(1)写出该作业的页表;(2)指出该作业总长度的字节(Byte)数;(3)分别计算相对地址0,100和2,0对应的绝对地址(方括号内的第一元素为页号,第二元素为页内地址)。习题习题2.某页式存储管理系统,内存的大小为64KB,被分成16块,块号为0、1、2、15。设某进程有4页,其页号为0、1、2、3,被分别装入内存的2、4、7、5块,问:(1)该进程的大小是多少字节?(2)写出该进程每一页在内存的起始地址。(3)逻辑地址4146对应的物理地址是多少?例题(1)内存的大小为64KB,

19、被分成16块,所以块的大小是64KB/16=4KB。因为块的大小与页面的大小相等,所以页的大小是4KB。该进程的大小是4*4=16KB。(2)因为进程页号为0、1、2、3,被分别装入内存的2、4、7、5。第0页在内存的起始地址是:2*4KB=8KB;第1页在内存的起始地址是:4*4KB=16KB;第2页在内存的起始地址是:7*4KB=28KB;第3页在内存的起始地址是:5*4KB=20KB。例题(3)逻辑地址4146对应的物理地址:4146/4096=1,50。逻辑地址4146对应的页号为1,页内位移为50。查找页表,得知页号为1的存储块号为4,所以逻辑地址4146对应的物理地址是:4*409

20、6+50=16434。习题3.某系统采用页式存储管理策略,某进程的逻辑地址空间为32页,页的大小为2KB,物理地址空间的大小是4MB。(1)写出逻辑地址的格式。(2)该进程的页表有多少项?每项至少占多少位?(3)如果物理地址空间减少一半,页表的结构有何变化?习题(1)进程的逻辑地址空间为32页,故逻辑地址中的页号需要5位(二进制),由于每页的大小为2KB,因此页内位移须用11位(二进制)表示,这样逻辑地址格式如下图。页号 页内位移1511 100习题(2)因为进程的逻辑地址空间为32页,因此该进程的页表项有32项。页表中应存储每页的块号。因为物理地址空间的大小是4MB,4MB的物理地址空间内分

21、成4MB/2KB=2K个块,因此块号部分需要11位(二进制),所以页表中每项占16位。(3)如果物理地址空间减少一半,页表的页表项数不变,但每一项的长度从16位(二进制)减少到15位(二进制)。方便编程方便编程分段共享分段共享分段保护分段保护动态链接动态链接动态增长动态增长引入原因引入原因5.4 段式存储管理段式存储管理段式存储管理的基本原理段式存储管理的基本原理整个作业的地址空间被分成若干个段,每个段采用一段连续的地址空间,段的长度由相应的逻辑信息的长度决定。15K 120K20K 80K30K 40K段表段号 段长 基址 10K 150K(MAIN)=030K(X)=120K(D)=215

22、K(S)=310K内存空间0123(MAIN)=030K(X)=120K(D)=215K(S)=310K作业空间040K80K120K150K段式存储管理地址变换机构段式存储管理地址变换机构 2 10KB 100KB0 15KB 40KB1 8KB 80KB段号 段长 段始址段表MAIN=0SUB=1DATA=2015KB8KB010KB0进程地址空间操作系统40KB空闲 25KB空闲SUB=1 8KBDATA=3 10KB空闲 12KBMAIN=0 15KB40KB80KB100KB内存空间段表始址 段表长度2 500逻辑地址段表寄存器102900物理地址+例题(P127)段号内存起始地址段

23、长02105001235020210090在一个分段式存储管理系统中,其段表如表5.2所示。求表5.3中逻辑地址对应的物理地址。表5.2 段表 表5.3 逻辑地址段号段内位移04301102500分页和分段的区别分页和分段的区别分页和分段的目的分页和分段的目的页是信息的物理单位,分页是系统管理的需要,而不是用户的需要。段是信息的逻辑单位,它含一组意义完整的信息。分段是为了更好地满足用户的要求。页和段长度页和段长度页的大小固定,由系统确定。段的长度不固定,决定于用户所编写的程序。地址空间地址空间分页的作业地址空间是一维的,即单一的线性地址空间。分段的作业地址空间是二维的,程序员在标识一个地址时,

24、需给出段名和段内地址。段的共享与保护段的共享与保护 由于段是信息的逻辑单位,用户易于实现对段的共由于段是信息的逻辑单位,用户易于实现对段的共享,也容易对段进行保护。享,也容易对段进行保护。而页虽也可共享,但不方便。而页虽也可共享,但不方便。举例例如有一个多用户系统,可同时容纳40个用户,它们都执行一个文本编辑程序,该文本编辑程序含有160KB的代码和40KB的数据,如不共享,共需160*40+40*40=8MB的内存空间来支持40个用户。若代码是可重入的,则无论是分页系统还是分段系统都可以共享共享该代码段,因此内存只需留一个文本编辑程序,所需空间为160+40*40=1760KB。页的共享页的

25、共享注意:注意:页的共享要求作业地址空间的共享页必须具有相同的页号相同的页号。DATA A1EDIT1EDIT2DATA B1EDIT40DATA A100内存20215960697079DATA B10692021596001394049792021597001394049进程B的页表进程A的页表DATA A10EDIT1EDIT2EDIT40DATA A1DATA B10EDIT1EDIT2EDIT40DATA B1进程 B进程 A使用分页系统,每个页面的大小是4KB,则代码段占160/4=40个页面,数据段占40/4=10个页面段的共享段的共享进程 ADATA BDATA AEDITED

26、IT1 40KB 240KB段号 段长 段始址0 160KB 80KB1 40KB 380KB段号 段长 段始址0 160KB 80KBDATA BEDITDATA A内存段表进程 B使用分段系统,不要求段号相同。实现段的共享数据结构实现段的共享数据结构共享进程计数共享进程计数:记录了共享某段的进程个数,设置整型变量count。存取控制:存取控制:对于一个共享,不同的进程可以有不同的存取控制权限。段号:段号:对于同一共享段,不同的进程可以使用不同的段号去共享该段。段名 段长 内存始址 状态 外存地址状态 进程名 进程号 段号 存取控制共享进程计数count共享段表共享段表项分段的分配与回收分段

27、的分配与回收分配分配回收回收对第一个请求使用该共享段的进程,由系统为该共享段分配一物理区,再把共享段调入该区,同时将该区的始址填入该进程的段表段表的相应项中。在共享段表共享段表中增加一表项,填写有关数据,置count=1;当其他进程要调用该共享段时,无需再分配内存,只需在调用进程的段表段表中增加一表项,在共共享段表享段表中,填加进程的名字等项目,令count加1。当进程不使用某共享段时,删除共享段表共享段表中有关该进程的项目,令count减1,当count=0时,回收该共享段的物理内存,删除共享段表共享段表中对应项。段名 段长 内存始址 状态 外存地址状态 进程名 进程号 段号 存取控制共享进程计数count段的保护段的保护存取控制:在段表中增加存取保护位,用于设置对本段的存取方式,如可读。可写或可执行。段表保护:每个进程都有自己的段表,段表本身对段可起到保护作用。保护环:系统把所有信息按照其作用和相互调用关系分成不同的层次(即环),低编号的环具有较高的权限,编号越高,其权限越低,如图所示。它支持4个保护级别:0级权限最高,3级最低。段的保护措施用户程序3库函数2系统调用1内核0虚拟存储管理第5章 存储管理连续分配存储管理方式连续分配存储管理方式 段式存储管理段式存储管理 页式存储管理页式存储管理 虚拟存储管理虚拟存储管理

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(计算机 存储管理.ppt)为本站会员(saw518)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|