第六章存储管理课件.ppt

上传人(卖家):三亚风情 文档编号:3033618 上传时间:2022-06-24 格式:PPT 页数:165 大小:654.50KB
下载 相关 举报
第六章存储管理课件.ppt_第1页
第1页 / 共165页
第六章存储管理课件.ppt_第2页
第2页 / 共165页
第六章存储管理课件.ppt_第3页
第3页 / 共165页
第六章存储管理课件.ppt_第4页
第4页 / 共165页
第六章存储管理课件.ppt_第5页
第5页 / 共165页
点击查看更多>>
资源描述

1、12022-6-23第六章 存储管理第六章第六章 存储管理存储管理n6.1 6.1 主存管理的功能主存管理的功能n6.2 6.2 分区存贮管理分区存贮管理n6.3 6.3 分页存储管理分页存储管理n6.4 6.4 分段存储管理分段存储管理n6.5 6.5 段页式存储管理段页式存储管理n6.6 6.6 覆盖技术与交换技术覆盖技术与交换技术n6.7 6.7 虚拟存储虚拟存储22022-6-23第六章 存储管理6.1 6.1 主存管理的功能主存管理的功能 n6.1.1 6.1.1 地址映射地址映射 n6.1.2 6.1.2 主存分配主存分配 n6.1.3 6.1.3 存储保护存储保护 n6.1.4

2、6.1.4 主存扩充主存扩充(虚拟内存虚拟内存) 32022-6-23第六章 存储管理6.1.1 6.1.1 地址映射地址映射( (地址重定位地址重定位) )n内存的每个存储单元都有一个编号,这种编内存的每个存储单元都有一个编号,这种编号称为号称为内存地址(或称为物理地址,绝对地址)。)。n内存地址的集合称为内存地址的集合称为内存空间(或物理地址空间)。42022-6-23第六章 存储管理n要求用户用内存地址编程是非常困难的,尤要求用户用内存地址编程是非常困难的,尤其是在多道程序设计的环境中。其是在多道程序设计的环境中。n用户编程所用的地址称为用户编程所用的地址称为逻辑地址(或程序地址,或虚地

3、址),由逻辑地址组成的空间,由逻辑地址组成的空间称为称为逻辑地址空间(或程序地址空间)。52022-6-23第六章 存储管理 地址映射地址映射Load A 200 3456 。 。1200物理地址空间物理地址空间Load A data1data1 3456源程序源程序Load A 200 34560100200编译编译连接连接逻辑地址空间逻辑地址空间BA=100062022-6-23第六章 存储管理地址映射的方式地址映射的方式n我们把我们把用户程序装入内存时对有关指令的地址部分的修改定义为从程序地址到内存地址的地址映射,或称为,或称为地址重定位。n地址映射的方式:地址映射的方式: 1 1、静态

4、地址映射、静态地址映射2 2、动态地址映射、动态地址映射72022-6-23第六章 存储管理1、静态地址映射n程序被装入内存时由操作系统的程序被装入内存时由操作系统的连接装入程序完成程序的逻辑地址到内存地址的转换。完成程序的逻辑地址到内存地址的转换。82022-6-23第六章 存储管理映射方法映射方法n假定程序装入内存的首地址为BR,程序地址为VR,内存地址为MR,则地址映射按下式进行:MR=BR+VR 。n例如,程序装入内存的首地址为1000,则装配程序就按MR=1000+VR对程序中所有地址部分进行修改,修改后指令Load A,200就变为Load A,120092022-6-23第六章

5、存储管理优缺点优缺点n优点:不需要硬件的支持。优点:不需要硬件的支持。 n缺点:程序必须占用连续的内存空间;一旦缺点:程序必须占用连续的内存空间;一旦程序装入后不能移动。程序装入后不能移动。 102022-6-23第六章 存储管理2 2、动态地址映射、动态地址映射n动态地址重定位是在程序执行的过程中,每次访问内存之前,将要访问的程序地址转换为内存地址。一般来说这种转换是由专门的硬件机构来完成的。 112022-6-23第六章 存储管理映射方法映射方法n最简单的硬件机构最简单的硬件机构是重定位寄存器。是重定位寄存器。n在地址重定位机构中,有一个基地址寄存器在地址重定位机构中,有一个基地址寄存器B

6、R和一个程序地址寄存器和一个程序地址寄存器VR,一个内存地一个内存地址寄存器址寄存器MR。122022-6-23第六章 存储管理 03456.LOAD A 200.0100200300.LOAD A 2003456110012001300200VR+1000BR132022-6-23第六章 存储管理地址映射的具体过程地址映射的具体过程n程序装入内存后,它所占用的内存区的首地址由系统送入基地址寄存器BR中。n在程序执行的过程中,若要访问内存,将访问的逻辑地址送入VR中。 n地址转换机构把VR和BR中的内容相加,并将结果送入MR中,作为实际访问的地址。142022-6-23第六章 存储管理动态地址

7、映射的优缺点优点:优点:n程序占用的内存空间是动态可变的,当程序从某个存储区移到另一个区域时,只需要修改相应的寄存器BR的内容即可。n一个程序不一定要求占用一个连续的内存空间。n可以部分地装入程序运行。n便于多个进程共享同一个程序的代码。动态地址重定位的代价:n需要硬件的支持。n实现存储管理的软件算法较为复杂。152022-6-23第六章 存储管理 6.1.2 6.1.2 主存分配与回收主存分配与回收 要完成内存的分配和回收工作,要求设计者选择和确定以下几种策略和结构:n调入策略n放置策略n置换策略n分配结构162022-6-23第六章 存储管理调入策略n用户程序在何时调入内存的策略。n目前有

8、请调和预调两种172022-6-23第六章 存储管理放置策略n用户程序调入内存时,确定将其放置在何处的策略。182022-6-23第六章 存储管理置换策略n当需要将某个用户程序调入内存而内存空间又不够时,就要确定哪个或哪些程序可以从内存中移走。192022-6-23第六章 存储管理分配结构n分配结构是用来登记内存使用情况的数据结构。如空闲区表、空闲区队列等。202022-6-23第六章 存储管理引起内存分配和回收的原因n进程的开始的结束。n进程运行的过程中,它所占用的内存也可能发生变化。如栈的变化。n进程映像在内存和外存之间传递。由于内存有限,系统中不可能容纳所有进程,有些进程的映像可以存放在

9、外存,当要运行这些进程时,必须把它们调入内存。n系统为了充分利用内存空间,有时可能对内存空间进行调整。212022-6-23第六章 存储管理6.1.3 6.1.3 存储保护存储保护保证在内存中的多道程序只能在给定的存储保证在内存中的多道程序只能在给定的存储区域内活动并互不产生干扰。区域内活动并互不产生干扰。 包括:包括:n防止地址越界防止地址越界n防止越权防止越权( (对共享区有访问权对共享区有访问权) )222022-6-23第六章 存储管理存储保护的硬件支持存储保护的硬件支持n界地址寄存器(界限寄存器)n存储键232022-6-23第六章 存储管理界地址寄存器(界限寄存器)界地址寄存器(界

10、限寄存器)n界地址寄存器被广泛使用的一种存储保护技术n机制比较简单,易于实现242022-6-23第六章 存储管理实现方法n在CPU中设置一对下限寄存器和上限寄存器存放用户作业在主存中的下限和上限地址n也可将一个寄存器作为基址寄存器,另一寄存器作为限长寄存器(指示存储区长度)n每当CPU要访问主存,硬件自动将被访问的主存地址与界限寄存器的内容进行比较,以判断是否越界n如果未越界,则按此地址访问主存,否则将产生程序中断越界中断(存储保护中断)252022-6-23第六章 存储管理图示图示262022-6-23第六章 存储管理6.1.4 6.1.4 主存扩充主存扩充(虚拟内存虚拟内存)n为了使程序

11、员在编程时不受内存的结构和容量的限制,系统为用户构造一种存储器,其结构可能与内存结构不同,容量可能远远超过内存的实际容量。这种面向编程的存储器称为虚拟存储器。由虚存构成的存储空间称为虚存空间。或称虚地址空间。272022-6-23第六章 存储管理实现虚拟内存的基本原理实现虚拟内存的基本原理n将程序正在使用的部分内容放在内存,而暂时不用的部分放在外存,在需要时由系统调入内存,并将不需要(或暂不需要)的部分调出内存。n由于程序在执行时,在一段时间内一般仅使用它的程序的一部分(或一小部分),所以程序仅有部分装入内存完全能够正确执行。n要由操作系统结合相关硬件来完成上述工件,这样计算机好象为用户提供了

12、一个容量远大于内存的存储器,这个存储器称为虚拟存储器。 282022-6-23第六章 存储管理6.2 6.2 分区存贮管理分区存贮管理 把整个内存划分为若干大小不等的区域,操作系统占用一个区域,其它区域供系统中的多个进程共享,这种方法称为分区存储管理。这是最简单的一种存储管理,按分区划分的时机可分为n6.2.16.2.1、固定分区、固定分区n6.2.26.2.2、动态分区、动态分区292022-6-23第六章 存储管理6.2.1 6.2.1 固定分区固定分区n固定分区就是把内存固定地划分为若干个大小不等的区域。分区的划分由计算机的操作员或者由操作系统给出,并给出分区说明表。n早期的IBM的OS

13、/360MFT(具有固定任务数的多道程序系统)采用了这种固定分区的方法。302022-6-23第六章 存储管理举例举例n某系统的内存容量为某系统的内存容量为256256K K,操作系统占用低操作系统占用低地址的地址的2020K K,其余空间划分成其余空间划分成4 4个固定大小的个固定大小的分区。如下图分区。如下图312022-6-23第六章 存储管理图示图示322022-6-23第六章 存储管理分区说明表分区说明表分区号分区号大小大小(KB)始址始址状态状态1820已分配已分配23228已分配已分配36460已分配已分配4132124未分配未分配332022-6-23第六章 存储管理固定分区性

14、能分析固定分区性能分析n在作业大小和出现频率均已知的情况下,固定分区是合适的。在这种情况下分区的大小选择与作业大小相当,这样内存的使用效率较高。n但是若作业的大小和出现的频率不知道时,势必造成分区的大小和作业的大小相差甚远,这样就会造成存储空间的浪费,从而影响整个系统的效率。 342022-6-23第六章 存储管理6.2.2 6.2.2 动态分区动态分区n动态分区是指在系统运行的过程中建立分区,并使分区的大小刚好与作业的大小相等。这种存储管理的方法解决了固定分区严重浪费内存的问题。是一种较为实用的存储管理方法。352022-6-23第六章 存储管理实现动态分区需要的数据结构n在动态分区存储管理

15、中,要有相应的数据结构来登记空闲区的说明信息,它包括空闲区的大小和位置。n不同系统根据设计要求采用不同的结构。常用的有表结构和队列结构。n系统还要设置了等待分区队列,当系统中无空闲区或无满足要求的空闲区时,则把申请者送入等待队列中,等待别的进程释放内存之后再唤醒队列中的进程。362022-6-23第六章 存储管理空闲区表和空闲区队列举例372022-6-23第六章 存储管理动态分区的分配和回收动态分区的分配和回收1 1、分区的分配、分区的分配 在采用分区存储管理的系统中,系统初启后。除操作系统占用一个分区外,其余存储区为一个大的空闲区。 分区的分配是指系统根据用户的请求,在空闲区表或空闲区队列

16、中寻找一个满足用户要求的空闲区,把这个空闲区分配给用户。以空闲区表为例,当用户要求一个大小为SIZE的存储空间时,系统查询空闲区表,找一个大于或等于SIZE的空闲区。382022-6-23第六章 存储管理分配时的三种情况分配时的三种情况n其一是系统中无满足要求的空闲区,则分配失败。n其二是空闲区大小与SIZE相等,则修改空闲区表相应表目,向用户返回该空闲区首址,表示此空闲区已分给了要求的用户。392022-6-23第六章 存储管理 n其三是空闲区大于SIZE,这时将空闲区一分为二。将一个空闲区分成二部分有两种办法:一是从空闲区的上部开始划出SIZE大小的空闲区给用户;二是从空闲区的底部开始向上

17、划出SIZE大小的空闲区给用户。一般常采用第二种办法,因为这样划分时,余下的部分在空闲区表中的首地址不变,只需要修改一下大小就行了。402022-6-23第六章 存储管理2 2、分区的回收、分区的回收 当某个进程释放某存储区时,系统首先检查释放区是否与系统中的空闲区相邻,若相邻则把释放区合并到相邻的空闲区中去,否则把释放区作为一个空闲区插入到空闲区表的适当位置。412022-6-23第六章 存储管理释放区与空闲区相邻的四种情况释放区与空闲区相邻的四种情况422022-6-23第六章 存储管理说明说明n释放区与前空闲区相邻:将释放区与前空闲区合并为一个空闲区。其首址仍为前空闲区首址,大小为释放区

18、大小与空闲区大小之和。n释放区与前后两个空闲区相邻:将这三个区合为一个空闲区,其首址为前空闲区首址,大小为这三个区大小之和,并取消原后空闲区表目。n释放区与后空闲区相邻:则把释放区合并到后空闲,首地址为释放区首地址,大小为二者大小之和。n释放区不与任何空闲区相邻:将释放区作为一个空闲区,将其大小和首址插入到空闲区表的适当位置。432022-6-23第六章 存储管理三种放置策略三种放置策略n1 1、空闲区表或队列的排序、空闲区表或队列的排序 n2 2、首次适应法、首次适应法 n3 3、最佳适应法、最佳适应法 n4 4、最坏适应法、最坏适应法 n5 5、三种策略比较、三种策略比较442022-6-

19、23第六章 存储管理1 1、空闲区表或队列的排序、空闲区表或队列的排序n按空闲区按空闲区首址首址递增的次序归类组织空闲区表递增的次序归类组织空闲区表或空闲区队列或空闲区队列n按空闲区按空闲区大小大小的递增或递减次序组织空闲区的递增或递减次序组织空闲区表或队列表或队列 452022-6-23第六章 存储管理2 2、首次适应法、首次适应法n要求空闲区按要求空闲区按首址递增的次序组织的次序组织空闲区表(队列)。空闲区表(队列)。 462022-6-23第六章 存储管理n分配:当进程申请大小为分配:当进程申请大小为SIZESIZE的内存时,系的内存时,系统从空闲区表的第一个表目开始查询,直到统从空闲区

20、表的第一个表目开始查询,直到首次找到等于或大于首次找到等于或大于SIZESIZE的空闲区。从该区的空闲区。从该区中划出大小为中划出大小为SIZESIZE的分区分配给进程,余下的分区分配给进程,余下的部分仍作为一个空闲区留在空闲区表中,的部分仍作为一个空闲区留在空闲区表中,但要修改其首址和大小。但要修改其首址和大小。472022-6-23第六章 存储管理n回收:按释放区的首址,查询空闲区表,若回收:按释放区的首址,查询空闲区表,若有与释放区相邻的空闲区,则合并到相邻的有与释放区相邻的空闲区,则合并到相邻的空闲区中,并修改该区的大小和首址,否则,空闲区中,并修改该区的大小和首址,否则,把释放区作为

21、一个空闲区,将其大小和首址把释放区作为一个空闲区,将其大小和首址按照首地址大小递增按照首地址大小递增的顺序插入到空闲区表的顺序插入到空闲区表的适当位置。的适当位置。482022-6-23第六章 存储管理分析分析n注意:每次分配和回收后空闲区表或空闲区队列都要按首址递增的次序排序。首次适应法的优点:首次适应法的优点:n释放某一存储区时,若与空闲区相邻则合并到释放某一存储区时,若与空闲区相邻则合并到相邻空闲分区中去,这种情况并不改变该区在相邻空闲分区中去,这种情况并不改变该区在表中的位置,只要修改其大小或首址。表中的位置,只要修改其大小或首址。n这种算法是尽可能地利用低地址空间,从而保这种算法是尽

22、可能地利用低地址空间,从而保证高地址空间有较大的空闲区。证高地址空间有较大的空闲区。 492022-6-23第六章 存储管理最佳适应法最佳适应法n要求按空闲区大小从小到大的次序组成空闲区表(队列)。502022-6-23第六章 存储管理n分配:分配:当进程申请一个存储区时,系统从表当进程申请一个存储区时,系统从表头开始查找,当找到第一个满足要求的空闲头开始查找,当找到第一个满足要求的空闲区时,停止查找,并且这个空闲区是最佳的区时,停止查找,并且这个空闲区是最佳的空闲区。空闲区。n所谓最佳即选中的空闲区是满足要求的最小所谓最佳即选中的空闲区是满足要求的最小空闲区。空闲区。512022-6-23第

23、六章 存储管理n回收:按释放区的首址,查询空闲区表(队回收:按释放区的首址,查询空闲区表(队列)列) ,若有与释放区相邻的空闲区,则合并,若有与释放区相邻的空闲区,则合并到相邻的空闲区中,并修改该区的大小和首到相邻的空闲区中,并修改该区的大小和首址,否则,把释放区作为一个空闲区插入空址,否则,把释放区作为一个空闲区插入空闲区表(队列)闲区表(队列) 。n分配和回收后要对空闲区表(队列)重新排分配和回收后要对空闲区表(队列)重新排序。序。522022-6-23第六章 存储管理分析分析优点:优点:n在系统中若存在一个与申请分区大小相等的空闲区,必定会被选中,而首次适应法则不一定。n若系统中不存在与

24、申请分区大小相等的空闲区,则选中的空闲区是满足要求的最小空闲区,而不致于毁掉较大的空闲区。缺点:缺点:n空闲区的大小一般与申请分区大小不相等,因此将其一分为二,留下来的空闲区一般情况下是很小的,以致无法使用。随着时间的推移,系统中的小空闲区会越来越多,从而造成存储区的大量浪费。 532022-6-23第六章 存储管理最坏适应法最坏适应法n要求空闲区按要求空闲区按大小递减的顺序组织的顺序组织空闲区表(或队列)。空闲区表(或队列)。542022-6-23第六章 存储管理n分配:进程申请一个大小为分配:进程申请一个大小为SIZE的存储区时,的存储区时,总是检查空闲区表的第一个空闲区的大小是总是检查空

25、闲区表的第一个空闲区的大小是否大于或等于否大于或等于SIZE。若空闲区小于若空闲区小于SIZE,则则分配失败;否则从空闲区中分配分配失败;否则从空闲区中分配SIZE的存储的存储区给用户,然后修改和调整空闲区表。区给用户,然后修改和调整空闲区表。552022-6-23第六章 存储管理n回收:按释放区的首址,查询空闲区表(队回收:按释放区的首址,查询空闲区表(队列)列) ,若有与释放区相邻的空闲区,则合并,若有与释放区相邻的空闲区,则合并到相邻的空闲区中,并修改该区的大小和首到相邻的空闲区中,并修改该区的大小和首址,否则,把释放区作为一个空闲区插入空址,否则,把释放区作为一个空闲区插入空闲区表(队

26、列)闲区表(队列) 。n分配和回收后要对空闲区表(队列)重新排分配和回收后要对空闲区表(队列)重新排序。序。562022-6-23第六章 存储管理分析分析最坏适应法看起来公似乎有些荒唐,但在更加最坏适应法看起来公似乎有些荒唐,但在更加严密地考察后,还是有它的优点:严密地考察后,还是有它的优点:n当程序装入内存中最大的空闲区后,剩下的空闲区还可能相当大,还能装下较大的程序。n另一方面每次仅作一次查询工作。572022-6-23第六章 存储管理三种策略比较三种策略比较n上述三种放置策略各有利弊,到底哪种最好不能一概而论,而应针对具体作业序列来分析。n对于某一作业序列来说,某种算法能将该作业序列中所

27、有作业安置完毕,那么我们说该算法对这一作业序列是合适的。n对于某一算法而言,如它不能立即满足某一要求,而其它算法却可以满足此要求,则这一算法对该作业序列是不合适的。 582022-6-23第六章 存储管理举例举例n例1:有作业序列:作业A要求18K;作业B要求25K,作业C要求30K。系统中空闲区按三种算法组成的空闲区队列n经分析可知:最佳适应法对这个作业序列是合适的,而其它两种对该作业序列是不合适的。592022-6-23第六章 存储管理练习练习n有作业序列:作业有作业序列:作业A A要求要求2121K K;作业作业B B要求要求3030K K,作业作业C C要求要求2525K K。6020

28、22-6-23第六章 存储管理碎片问题碎片问题n由于空闲区的大小与申请内存的大小相等的情况是很少的,绝大多数情况是从一个空闲区中切去一块,剩下的部分作为一个空闲区仍留在空闲区表中,随着时间的推移,空闲区的发展趋势是越来越小,直至不能满足任何用户要求。n这种不能被任何用户使用的极小的空闲区称为碎片。碎片的出现造成了存储空间的浪费。612022-6-23第六章 存储管理在分区存储管理中解决碎片的办法在分区存储管理中解决碎片的办法n规定门限值(由操作系统规定,如1K),分割空闲区时,若剩余部分小于门限值,则不再分割此空闲区。n定期压缩存储空间,将所有空闲区集中到内存的一端,但这种方法的系统开销太大。

29、 622022-6-23第六章 存储管理6.3 6.3 分页存储管理分页存储管理 n6.3.1 6.3.1 分页存储管理基本思想分页存储管理基本思想n6.3.2 6.3.2 页地址映射页地址映射n6.3.3 6.3.3 页式存储管理方案小结页式存储管理方案小结632022-6-23第六章 存储管理6.3.1 6.3.1 分页存储管理基本思想分页存储管理基本思想n在分区存储管理中,不论采用什么办法都会出现碎片问题,从而降低了内存的利用率。虽然采用压缩存储区的方法可以解决碎片问题,但系统开销太大,而无实用价值,必须寻求新的技术来解决这一问题,于是分页技术产生了。n分页技术是由曼彻斯特大学提出,并于

30、1960年前后在Atlas计算机上实现。这种技术对操作系统的发展产生了深远影响。642022-6-23第六章 存储管理n用户程序划分用户程序划分 把用户程序按逻辑页划分成大小相等的部把用户程序按逻辑页划分成大小相等的部分,称为分,称为页页(page) 。从。从0开始编制页号,开始编制页号,页内地址是相对于页内地址是相对于0编址编址652022-6-23第六章 存储管理n逻辑地址逻辑地址 用户程序的划分是由系统自动完成的,对用户是用户程序的划分是由系统自动完成的,对用户是透明的。一般,一页的大小为透明的。一般,一页的大小为2的整数次幂,因的整数次幂,因此,地址的高位部分为此,地址的高位部分为页号

31、页号,低位部分为,低位部分为页内地页内地址址页号页号 页内地址页内地址0111231页号页号P页内位移量页内位移量W编号编号01048575相对地址相对地址04095662022-6-23第六章 存储管理n内存空间内存空间 按页的大小划分为大小相等的区域,称为按页的大小划分为大小相等的区域,称为块块或内存块(物理页面,页框)或内存块(物理页面,页框)672022-6-23第六章 存储管理n内存分配内存分配 以页为单位进行分配,并按作业的页数多少以页为单位进行分配,并按作业的页数多少来分配。逻辑上相邻的页,物理上不一定相来分配。逻辑上相邻的页,物理上不一定相邻邻682022-6-23第六章 存储

32、管理.01234560123456作业的作业的地址空间地址空间页框页框(物理块)(物理块)页页号号页页表表主存中页框主存中页框(物理块)(物理块).692022-6-23第六章 存储管理6.3.2 6.3.2 页地址映射页地址映射n1 1、页表、页表 n2 2、页大小的选择、页大小的选择 n3 3、页地址映射、页地址映射 n4 4、分页存储管理中的信息保护、分页存储管理中的信息保护 n5 5、快表和联想存储器、快表和联想存储器n6 6、两级页表和多级页表、两级页表和多级页表 702022-6-23第六章 存储管理1 1、页表、页表n将页号和页内地址转换成内存地址,必须要有一个数据结构,用来登记

33、页号和块的对应关系和有关信息。n这样的数据结构称为页表。712022-6-23第六章 存储管理n系统为每个进程建立一个页表,页表的长度和首地址存放在该进程的进程控制块(PCB)中。n占用处理机的现行进程的页表必须驻留在内存,其首地址和长度由地址映射机构的页表起址和长度寄存器指示。722022-6-23第六章 存储管理页表内容页表内容n页表包含以下几个表项:页表包含以下几个表项:n页号:登记程序地址空间的页号。n块号:登记相应的页所对应的内存块号n其它:登记与存储信息保护有关的信息。页号页号块号块号其它其它05165213732022-6-23第六章 存储管理例例n如图,作业1有2页分别装入内存

34、的第5、6块;作业2有3页装入内存的第2、4、7块;作业3有1 页装入内存的第8块。742022-6-23第六章 存储管理2 2、页大小的选择、页大小的选择n太大:浪费;太小:页表过长。太大:浪费;太小:页表过长。nIBM AS/400 VAX NS32032 IBM AS/400 VAX NS32032 :512512字节字节nIntel 80386 Motorola 68030 4096Intel 80386 Motorola 68030 4096字节字节页的大小是页的大小是2 2K K , k k: 9-12 9-12。 752022-6-23第六章 存储管理3 3、页地址映射、页地址映

35、射n分页中的地址映射其实与通常的地址映射的概念是一样的,即把程序地址转换成内存地址,这个转换过程是在程序执行过程中完成的,是动态地址映射。n在现代计算机系统中,由系统提供的地址映射硬件来完成地址映射工作。762022-6-23第六章 存储管理例例n设页长为1K,程序地址字长为16位,用户程序空间和页表如图。772022-6-23第六章 存储管理说明说明n在执行指令MOV r1,2500时,地址转换步骤如下:n取出程序地址字2500送虚地址寄存器VR,然后由硬件分离出页号P和页内地址W,实际上分离出页号和页内地址是一件很简单的事,因为页长为1K,所以页内地址占10位(0-9位),页号占6位(10

36、-15位),所以硬件只要简单地取出VR寄存器中的高6位即为页号,低10 位即为页内地址。n当然我们通过计算可以得到P=2,W=452。782022-6-23第六章 存储管理n根据页号P=2,硬件自动查该进程的页表,找到第2页对应的块号为7,将块号送到内存地址寄存器MR的高10位中。n将VR中的W的值452复制到MR的低10位中,从而形成内存地址。系统就以MR中的地址访问内存硬件能自动分离出页号和页内地址,但我们只能通过计算才能得到。792022-6-23第六章 存储管理计算时要注意:若给出的地址字为16进制,则将其转换为二进制,然后,根据页长及程序地址字的长度,分别取出程序地址字的高几位和低几

37、位就得到页号及页内地址。如页长为2K,程序地址字为16位,则高5位为页号,低11位为页内地址。802022-6-23第六章 存储管理若给出的地址字为10进制,则用公式: 程序地址字/页长 商为页号,余数为页内地址。如程序地址为8457, 页长为4KB,则8457/4096可得:商为2,余数为256。812022-6-23第六章 存储管理4 4、分页存储管理中的信息保护、分页存储管理中的信息保护分页存储管理中的存储信息保护从两个方面来实现。一、在分离程序地址字的页号和页内地址时判别访问是否合法,若产生的页号满足下式为合法:0=页号=Lpp. . .快表快表 b+页号页号p 页内地址页内地址dPd

38、物理地址物理地址页表地址寄存器页表地址寄存器页表长度寄存器页表长度寄存器逻辑地址逻辑地址地址映射机制地址映射机制882022-6-23第六章 存储管理分析分析n当调度合理时,可以达到当调度合理时,可以达到97的效率。也就的效率。也就是说访问页表的速度大致相当了访问快表的是说访问页表的速度大致相当了访问快表的速度,考虑到快表的速度是内存速度的数倍速度,考虑到快表的速度是内存速度的数倍或数十倍,那么相对于内存速度,访问页表或数十倍,那么相对于内存速度,访问页表的时间可以忽略不计。也就是说页地址变换的时间可以忽略不计。也就是说页地址变换不会造成进程运行速度的下降。不会造成进程运行速度的下降。8920

39、22-6-23第六章 存储管理6 6、两级页表和多级页表、两级页表和多级页表n当页表项很多时,仅采用一级页表需要大片边续空间,可将页表也分页,并对页表所占的空间进行索引形成外层页表。由此构成二级页表。n更进一步可形成多级页表。 902022-6-23第六章 存储管理二级页表结构及地址映射二级页表结构及地址映射页目录地址页目录地址目录位移目录位移页表位移页表位移页位移页位移虚拟地址虚拟地址页表地址页表地址.页目录(每进程一个)页目录(每进程一个)块号块号.页表页表代码或数据代码或数据.内存块内存块+912022-6-23第六章 存储管理图图: 三级页表结构及其地址映射过程三级页表结构及其地址映射

40、过程922022-6-23第六章 存储管理6.3.3 页式存储管理方案小结页式存储管理方案小结n优点:解决了碎片问题优点:解决了碎片问题 便于管理便于管理n缺点:不易实现共享缺点:不易实现共享 不便于动态连接不便于动态连接932022-6-23第六章 存储管理6.4 6.4 分段存储管理分段存储管理 n6.4.1 6.4.1 分段存储管理基本思想分段存储管理基本思想 n6.4.2 6.4.2 段地址映射段地址映射 n6.4.3 6.4.3 段式存储管理方案小结段式存储管理方案小结942022-6-23第六章 存储管理6.4.1 6.4.1 分段存储管理基本思想分段存储管理基本思想n用户程序划分

41、用户程序划分 按程序自身的逻辑关系划分为若干个程序按程序自身的逻辑关系划分为若干个程序段,每个程序段都有一个段名,且有一个段,每个程序段都有一个段名,且有一个段号段号。段号从。段号从0开始,每一段段内也从开始,每一段段内也从0开开始编址,段内地址是连续的始编址,段内地址是连续的n逻辑地址逻辑地址段号 段内地址952022-6-23第六章 存储管理n内存划分内存划分 内存空间被动态的划分为若干个长度不相内存空间被动态的划分为若干个长度不相同的区域,称为物理段,每个物理段由起同的区域,称为物理段,每个物理段由起始地址和长度确定始地址和长度确定n内存分配内存分配 以段为单位分配内存,每一个段在内存中

42、以段为单位分配内存,每一个段在内存中占据连续空间(内存随机分割,需要多少占据连续空间(内存随机分割,需要多少分配多少),分配多少),但各段之间可以不连续存放但各段之间可以不连续存放962022-6-23第六章 存储管理.0S工作区段工作区段B主程序段主程序段M.0EP子程序段子程序段X0K.CALL X E.CALL Y FCALL A 116.0FL子程序段子程序段Y0116N数组数组A12345.972022-6-23第六章 存储管理操作系统操作系统.B0SA0NY0LX0PM0K逻辑段号逻辑段号01234作业作业1的地址空间的地址空间10003200500060008000PKSLN主存

43、主存K 3200P 1500L 6000N 8000S 5000段号段号 段地址段地址01234操作系统操作系统982022-6-23第六章 存储管理6.4.2 6.4.2 段地址映射段地址映射1 1、 地址映射数据结构地址映射数据结构段地址映射的数据结构有段表、段表首址指针和段表的长度。段表首址指针和段表长度存放在进程自己的PCB中。段表一般包括有段的长度、段的首址和存取状态等信息。每一进程有个段表,程序的每一个段在段表中占用一个表目。段号段号012段首址段首址段长度段长度58K20K100K110K260K140K992022-6-23第六章 存储管理2、内存的分配、内存的分配n空闲块管理

44、空闲块管理 空闲块表(队列)空闲块表(队列)n内存分配算法(三种)内存分配算法(三种)首次首次 最佳最佳 最坏最坏与动态分区管理相同与动态分区管理相同1002022-6-23第六章 存储管理3、段地址变换段地址变换由硬件地址变换机构完成段地址变换由硬件地址变换机构完成1012022-6-23第六章 存储管理说明说明段地址映射过程为:n程序地址字送入虚地址寄存器VR中。n取出段号S和段内位移W。n根据段表首址指针找到段表,查找段号为S的表目,得到该段的首地址。n把段首地址与段内位移相加,形成内存地址送入MR中,并以此地址访问内存。1022022-6-23第六章 存储管理4 4、快表、快表n同页地

45、址变换一样,在段地址变换过程中,也有两次访问内存的问题。为了加快访问内存的速度也可采用快速存储器组成快表。1032022-6-23第六章 存储管理 Cl Cb+段号段号S S 段内地址段内地址d比较比较比较比较b + d段段表表S= Cl快表快表物理地址物理地址段表始址寄存器段表始址寄存器段表长度寄存器段表长度寄存器逻辑地址逻辑地址Lb.SLb地址越界地址越界d=Ld=L地址映射及存储保护机制地址映射及存储保护机制地址越界地址越界地址越界地址越界比较比较1042022-6-23第六章 存储管理5、分段与分页技术的比较 分段与分页主要有以下差别:分段与分页主要有以下差别:n段是依据程序的逻辑结构

46、划分的,页是按内存线性空间物理划分的。n段式技术中程序地址空间是二维的,分页技术中程序地址空间是一维的。n段是面向用户的,页对用户而言是透明的。1052022-6-23第六章 存储管理n段长由用户决定,且各段的大小一般不相等,唯一的限制是最大长度。面页长是由系统决定的,各页的长度必须相等。n段的共享比页的共享更容易。1062022-6-23第六章 存储管理 6.4.3 段式存储管理方案小结段式存储管理方案小结优点:优点: 便于动态申请内存便于动态申请内存 管理和使用统一化管理和使用统一化 便于共享便于共享 便于动态链接便于动态链接缺点:产生碎片缺点:产生碎片思考:与可变分区存储管理方案的相同点

47、与不思考:与可变分区存储管理方案的相同点与不同点?同点?1072022-6-23第六章 存储管理6.5 6.5 段页式存储管理方式段页式存储管理方式产生背景产生背景: 结合页式段式优点,克服二者的缺点结合页式段式优点,克服二者的缺点n6.5.1 段页式存储管理基本思想段页式存储管理基本思想n6.5.2 地址映射地址映射1082022-6-23第六章 存储管理6.5.1 段页式存储管理基本思想段页式存储管理基本思想n用户程序划分用户程序划分按段式划分(对用户来讲,按段的逻辑关系进行按段式划分(对用户来讲,按段的逻辑关系进行划分;对系统讲,按页划分每一段)划分;对系统讲,按页划分每一段)n逻辑地址

48、逻辑地址n内存划分内存划分按页式存储管理方案按页式存储管理方案n内存分配内存分配以页为单位进行分配以页为单位进行分配段号段号段内地址段内地址页号页号页内地址页内地址1092022-6-23第六章 存储管理n段表:记录了每一段的页表始址和页表长度段表:记录了每一段的页表始址和页表长度n页表:记录了逻辑页号与内存块号的对应关页表:记录了逻辑页号与内存块号的对应关系(每一段有一个,一个程序可能有多个页系(每一段有一个,一个程序可能有多个页表)表)n内存分配管理:同页式管理内存分配管理:同页式管理6.5.2 地址映射地址映射 1102022-6-23第六章 存储管理图示图示1112022-6-23第六

49、章 存储管理思考思考n在具有快表的段页式存储管理方案中,如何在具有快表的段页式存储管理方案中,如何实现地址变换?实现地址变换?1122022-6-23第六章 存储管理6.6 覆盖技术与交换技术覆盖技术与交换技术6.6.1、为什么引入?、为什么引入? 在多道环境下扩充内存的方法,用以解决在在多道环境下扩充内存的方法,用以解决在较小的存储空间中运行较大程序时遇到的矛较小的存储空间中运行较大程序时遇到的矛盾盾n覆盖技术主要用在早期的操作系统中覆盖技术主要用在早期的操作系统中n交换技术被广泛用于小型分时系统中,交换交换技术被广泛用于小型分时系统中,交换技术的发展导致了虚存技术的出现技术的发展导致了虚存

50、技术的出现1132022-6-23第六章 存储管理n交换技术与覆盖技术共同点:交换技术与覆盖技术共同点: 进程的程序和数据主要放在外存,当前需要进程的程序和数据主要放在外存,当前需要执行的部分放在内存,内外存之间进行信息执行的部分放在内存,内外存之间进行信息交换交换n不同点:如何控制交换?不同点:如何控制交换?1142022-6-23第六章 存储管理6.6.2 覆盖技术覆盖技术n把程序划分为若干个功能上相对独立的程序段,按照其自身的逻辑结构将那些不会同时执行的程序段共享同一块内存区域n程序段先保存在磁盘上,当有关程序段的前一部分执行结束,把后续程序段调入内存,覆盖前面的程序段(内存“扩大”了)

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

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

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


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

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


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