计算机操作系统第四章

上传人:kms****20 文档编号:46677763 上传时间:2018-06-27 格式:PDF 页数:212 大小:16.55MB
返回 下载 相关 举报
计算机操作系统第四章_第1页
第1页 / 共212页
计算机操作系统第四章_第2页
第2页 / 共212页
计算机操作系统第四章_第3页
第3页 / 共212页
计算机操作系统第四章_第4页
第4页 / 共212页
计算机操作系统第四章_第5页
第5页 / 共212页
点击查看更多>>
资源描述

《计算机操作系统第四章》由会员分享,可在线阅读,更多相关《计算机操作系统第四章(212页珍藏版)》请在金锄头文库上搜索。

1、第四章存储器管理4.1 4.1 存储器的层次结构存储器的层次结构4.24.2程序的装入和链接程序的装入和链接4.34.3连续分配方式连续分配方式4.44.4基本分页存储管理方式基本分页存储管理方式4.54.5基本分段存储管理方式基本分段存储管理方式4.64.6虚拟存储器的基本概念虚拟存储器的基本概念4.74.7请求分页存储管理方式请求分页存储管理方式4.84.8页面置换算法页面置换算法4.94.9请求分段存储管理方式请求分段存储管理方式第四章存储器管理第四章存储器管理存储器管理的功能存储器管理的功能存储器管理的功能存储器管理的功能存储器管理的功能存储器管理的功能4.1 4.1 存储器的层次结构

2、存储器的层次结构多级存储器结构多级存储器结构对于通用计算机而言对于通用计算机而言,存储层次至少应具有三级:最高层为存储层次至少应具有三级:最高层为CPU寄存器寄存器,中间为主存中间为主存,最底层是辅存最底层是辅存。在较高档的计算机中在较高档的计算机中,还可以还可以根据具体的功能分工细划为寄存器根据具体的功能分工细划为寄存器、高速缓存高速缓存、主存储器主存储器、磁盘缓存磁盘缓存、固定磁盘固定磁盘、可移动存储介质等可移动存储介质等6层层。如图如图4-1所示所示,在存储层次中越往在存储层次中越往上上,存储介质的访问速度越快存储介质的访问速度越快,价格也越高价格也越高,相对存储容量也越小相对存储容量也

3、越小。其中其中,寄存器寄存器、高速缓存高速缓存、主存储器和磁盘缓存均属于操作系统存储主存储器和磁盘缓存均属于操作系统存储管理的管辖范畴管理的管辖范畴,掉电后它们存储的信息不再存在掉电后它们存储的信息不再存在。固定磁盘和可移固定磁盘和可移动存储介质属于设备管理的管辖范畴动存储介质属于设备管理的管辖范畴,它们存储的信息将被长期保存它们存储的信息将被长期保存。图图4-1 计算机系统存储层次示意计算机系统存储层次示意寄存器高速缓存主存磁盘缓存磁盘可移动存储介质CPU寄存器主存辅存4.1 4.1 存储器的层次结构存储器的层次结构1 1主存储器主存储器主存储器主存储器(简称内存或主存简称内存或主存)是计算

4、机系统中一个主要部是计算机系统中一个主要部 件件,用于保存进程运行时的程序和数据用于保存进程运行时的程序和数据,也称可执行存储器也称可执行存储器, 其容量对于当前的微机系统和大中型机其容量对于当前的微机系统和大中型机,可能一般为数十可能一般为数十 MB到数到数GB,而且容量还在不断增加而且容量还在不断增加,而嵌入式计算机系统而嵌入式计算机系统 一般仅有几十一般仅有几十KB到几到几MB。CPU的控制部件只能从主存储器的控制部件只能从主存储器 中取得指令和数据中取得指令和数据,数据能够从主存储器读取并将它们装入数据能够从主存储器读取并将它们装入 到寄存器中到寄存器中,或者从寄存器存入到主存储器或者

5、从寄存器存入到主存储器。CPU与外围设与外围设 备交换的信息一般也依托于主存储器地址空间备交换的信息一般也依托于主存储器地址空间。由于主存储由于主存储 器的访问速度远低于器的访问速度远低于CPU执行指令的速度执行指令的速度,为缓和这一矛盾为缓和这一矛盾, 在计算机系统中引入了寄存器和高速缓存在计算机系统中引入了寄存器和高速缓存。4.1 4.1 存储器的层次结构存储器的层次结构2 2寄存器寄存器寄存器访问速度最快,完全能与寄存器访问速度最快,完全能与CPU协调工作,但价格协调工作,但价格却十分昂贵,因此容量不可能做得很大。寄存器的长度一般却十分昂贵,因此容量不可能做得很大。寄存器的长度一般以字以

6、字(word)为单位。寄存器的数目,对于当前的微机系统和为单位。寄存器的数目,对于当前的微机系统和大中型机,可能有几十个甚至上百个;而嵌入式计算机系统大中型机,可能有几十个甚至上百个;而嵌入式计算机系统一般仅有几个到几十个。寄存器用于加速存储器的访问速度,一般仅有几个到几十个。寄存器用于加速存储器的访问速度,如用寄存器存放操作数,或用作地址寄存器加快地址转换速如用寄存器存放操作数,或用作地址寄存器加快地址转换速度等。度等。4.1 4.1 存储器的层次结构存储器的层次结构3 3高速缓存高速缓存高速缓存是现代计算机结构中的一个重要部件高速缓存是现代计算机结构中的一个重要部件,其容量其容量大于或远大

7、于寄存器大于或远大于寄存器,而比内存约小两到三个数量级左右而比内存约小两到三个数量级左右,从几十从几十KBKB到几到几MBMB,访问速度快于主存储器访问速度快于主存储器。根据程序执行的局部性原理根据程序执行的局部性原理(即程序在执行时将呈现出局即程序在执行时将呈现出局部性规律,在一较短的时间内,程序的执行仅局限于某个部部性规律,在一较短的时间内,程序的执行仅局限于某个部分分),将主存中一些经常访问的信息存放在高速缓存中,减少,将主存中一些经常访问的信息存放在高速缓存中,减少访问主存储器的次数,可大幅度提高程序执行速度。访问主存储器的次数,可大幅度提高程序执行速度。4.1 4.1 存储器的层次结

8、构存储器的层次结构4 4磁盘缓存磁盘缓存由于目前磁盘的由于目前磁盘的I/OI/O速度远低于对主存的访问速度速度远低于对主存的访问速度,因因 此将频繁使用的一部分磁盘数据和信息此将频繁使用的一部分磁盘数据和信息,暂时存放在磁盘缓暂时存放在磁盘缓 存中存中,可减少访问磁盘的次数可减少访问磁盘的次数。磁盘缓存本身并不是一种实磁盘缓存本身并不是一种实 际存在的存储介质际存在的存储介质,它依托于固定磁盘它依托于固定磁盘,提供对主存储器存提供对主存储器存 储空间的扩充储空间的扩充,即利用主存中的存储空间即利用主存中的存储空间,来暂存从磁盘中来暂存从磁盘中 读出读出( (或写入或写入) )的信息的信息。主存

9、也可以看做是辅存的高速缓存主存也可以看做是辅存的高速缓存, 因为因为,辅存中的数据必须复制到主存方能使用;反之辅存中的数据必须复制到主存方能使用;反之,数据数据 也必须先存在主存中也必须先存在主存中,才能输出到辅存才能输出到辅存。4.1 4.1 存储器的层次结构存储器的层次结构4.24.2程序的装入和链接程序的装入和链接图4-2对用户程序的处理步骤4.24.2程序的装入和链接程序的装入和链接4.34.3连续分配方式连续分配方式早期早期PCPC使用的使用的 内存管理方式内存管理方式 (MSMS- -DOSDOS)固定分区分配固定分区分配该算法又称为分类搜索法,是将空闲分区根据其容量该算法又称为分

10、类搜索法,是将空闲分区根据其容量 大小进行分类,对于每一类具有相同容量的所有空闲分区,大小进行分类,对于每一类具有相同容量的所有空闲分区, 单独设立一个空闲分区链表,这样,系统中存在多个空闲单独设立一个空闲分区链表,这样,系统中存在多个空闲 分区链表,同时在内存中设立一张管理索引表,该表的每分区链表,同时在内存中设立一张管理索引表,该表的每 一个表项对应了一种空闲分区类型,并记录了该类型空闲一个表项对应了一种空闲分区类型,并记录了该类型空闲 分区链表表头的指针。空闲分区的分类是根据进程常用的分区链表表头的指针。空闲分区的分类是根据进程常用的 空间大小进行划分,如空间大小进行划分,如2 KB、4

11、 KB、8 KB等,对于其它大等,对于其它大 小的分区,如小的分区,如7 KB这样的空闲区,既可以放在这样的空闲区,既可以放在8 KB的链表的链表 中,也可以放在一个特殊的空闲区链表中。中,也可以放在一个特殊的空闲区链表中。快速适应算法快速适应算法(quick fit)(quick fit)该算法的优点该算法的优点是查找效率高是查找效率高,仅需要根据进程的长度仅需要根据进程的长度, 寻找到能容纳它的最小空闲区链表寻找到能容纳它的最小空闲区链表,并取下第一块进行分配并取下第一块进行分配 即可即可。另外该算法在进行空闲分区分配时另外该算法在进行空闲分区分配时,不会对任何分区不会对任何分区 产生分割

12、产生分割,所以能保留大的分区所以能保留大的分区,满足对大空间的需求满足对大空间的需求,也也 不会产生内存碎片不会产生内存碎片。该算法的缺点该算法的缺点是在分区归还主存时算法复杂,系统开销是在分区归还主存时算法复杂,系统开销 较大。此外,该算法在分配空闲分区时是以进程为单位,一较大。此外,该算法在分配空闲分区时是以进程为单位,一 个分区只属于一个进程,因此在为进程所分配的一个分区中,个分区只属于一个进程,因此在为进程所分配的一个分区中, 或多或少地存在一定的浪费。空闲分区划分越细,浪费则越或多或少地存在一定的浪费。空闲分区划分越细,浪费则越 严重,整体上会造成可观的存储空间浪费,这是典型的以空严

13、重,整体上会造成可观的存储空间浪费,这是典型的以空 间换时间的作法。间换时间的作法。快速适应算法快速适应算法(quick fit)(quick fit)固定分区和动态分区方式都有不足之处:固定分区和动态分区方式都有不足之处:固定分区方式固定分区方式:限制了活动进程的数目限制了活动进程的数目,当进程大小与空闲分区大当进程大小与空闲分区大小不匹配时小不匹配时,内存空间利用率很低内存空间利用率很低。动态分区方式动态分区方式:算法复杂算法复杂,回收空闲分区时需要进行分区合并等回收空闲分区时需要进行分区合并等,系统开销较大系统开销较大。伙伴系统方式:伙伴系统方式:是对以上两种内存方式的一种折衷方案是对以

14、上两种内存方式的一种折衷方案。伙伴系统规定伙伴系统规定,无论已分配分区或空闲分区无论已分配分区或空闲分区,其大小均为其大小均为2 2的的k k次次幂幂,k k为整数为整数,lkm,其中:其中:21表示分配的最小分区的大小表示分配的最小分区的大小,2m表示表示 分配的最大分区的大小分配的最大分区的大小,通常通常2m是整个可分配内存的大小是整个可分配内存的大小。伙伴系统伙伴系统假设系统的可利用空间容量为假设系统的可利用空间容量为2m个字,则系统开始运行时,整个内个字,则系统开始运行时,整个内 存区是一个大小为存区是一个大小为2m的空闲分区。在系统运行过程中,由于不断的划分,的空闲分区。在系统运行过

15、程中,由于不断的划分, 可能会形成若干个不连续的空闲分区,将这些空闲分区根据分区的大小可能会形成若干个不连续的空闲分区,将这些空闲分区根据分区的大小 进行分类,对于每一类具有相同大小的所有空闲分区,单独设立一个空进行分类,对于每一类具有相同大小的所有空闲分区,单独设立一个空 闲分区双向链表。这样,不同大小的空闲分区形成了闲分区双向链表。这样,不同大小的空闲分区形成了k(0km)个空闲个空闲 分区链表。分区链表。伙伴系统伙伴系统当需要为进程分配一个长度为当需要为进程分配一个长度为n的存储空间时,首先计算一个的存储空间时,首先计算一个i值,使值,使2i10count04.9.2 4.9.2 分段的

16、共享与保护分段的共享与保护 越界检查越界检查 段表寄存器:段表始址、段表长度段表寄存器:段表始址、段表长度 段号段号段表长度、段长段表长度、段长段内地址段内地址 存取控制检查存取控制检查 存取控制字段(用户级别)存取控制字段(用户级别) 只读、只执行、读只读、只执行、读/写写 环保护机构环保护机构 可以访问驻留在相同环或较低特权环中的数据;可以访问驻留在相同环或较低特权环中的数据; 可以调用驻留在相同环或较高特权环中的服务。可以调用驻留在相同环或较高特权环中的服务。3. 3. 分段保护分段保护调用返回调用返回环0环1环2(a) 程序间的控制传输数据访问环0环1环2(b) 数据访问数据访问4.9.2 4.9.2 分段的共享与保护分段的共享与保护各种存储方法的各种存储方法的比较比较各种存储方法的各种存储方法的比较比较各种存储方法的

展开阅读全文
相关资源
相关搜索

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

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