《操作系统的多级存储体系剖析》由会员分享,可在线阅读,更多相关《操作系统的多级存储体系剖析(6页珍藏版)》请在金锄头文库上搜索。
1、操作系统的多级存储体系 摘要:本文首先对计算机系统的三级存储结构的进行介绍和初步分析,然后分别对三级存储结构进行详细的介绍。由于主存储器不能同时满足存取速度快、存储容量大、成本低等现代人们对存储系统的要求,用高速缓冲存储器来改善主存储器与中央处理器的速度匹配问题,用辅助存储器用于扩大存储空间,成为一种合理而有郊的存储体系。关键词:三级存储结构 高速缓存 主存储器 虚拟存储器引言:随着计算机技术的发展,人们对计算机系统整体性能的要求越来越高,要求存储容量大,存取速度快,而且成本价格要低。但这些要求往往互相矛盾,彼此制约,很难在同一个存储器中同时满足它们。例如存储器的速度越快,则每位的价格就越高;
2、存储器的容量越大,则存储器的速度就越慢。按照目前的技术水平,仅仅采用一种技术组成单一的存储器是不可能同时满足这些要求的。只有采用由多级存储器组成的存储体系,把几种存储技术结合起来,才能较好地解决存储器大容量、高速度和低成本这三者之间的矛盾。 正文:在现代的计算机系统中,通常总是采用由三种运行原理不同,性能差异很大的存储介质分别构建高速缓冲存储器、主存储器和虚拟存储器,再将它们组成三级结构的统一管理、调度的一体化存储器系统。如图所示: 图1三级结构存储器的运行原理是建立在程序运行的局部性原理和一致性原则和包含性原则之上的。1.程序运行的局部性原理有时间、空间和顺序三方面的规律。2.一致性原则和包
3、含性原则(1)一致性原则:同一个信息会同时存放在几个层次的存储器中,此时,这一信息在几个层次的存储器中必须保持相同的值。(2)包含性原则:处在内层(更靠近CPU)存储器中的信息一定被包含在各外层的存储器中,即内层存储器中的全部信息一定是各外层存储器中所存信息中一小部分的副本。高速缓存在计算机技术发展过程中,主存储器存取速度一直比中央处理器操作速度慢得多,使中央处理器的高速处理能力不能充分发挥,整个计算机系统的工作效率受到影响。有很多方法可用来缓和中央处理器和主存储器之间速度不匹配的矛盾,如采用多个通用寄存器、多存储体交叉存取等,在存储层次上采用高速缓冲存储器也是常用的方法之一。很多大、中型计算
4、机以及新近的一些小型机、微型机也都采用高速缓冲存储器。 高速缓冲存储器的容量一般只有主存储器的几百分之一,但它的存取速度能与中央处理器相匹配。根据程序局部性原理,正在使用的主存储器某一单元邻近的那些单元将被用到的可能性很大。因而,当中央处理器存取主存储器某一单元时,计算机硬件就自动地将包括该单元在内的那一组单元内容调入高速缓冲存储器,中央处理器即将存取的主存储器单元很可能就在刚刚调入到高速缓冲存储器的那一组单元内。于是,中央处理器就可以直接对高速缓冲存储器进行存取。在整个处理过程中,如果中央处理器绝大多数存取主存储器的操作能为存取高速缓冲存储器所代替,计算机系统处理速度就能显著提高,它和主存储
5、器一起构成一级的存储器。高速缓冲存储器和主存储器之间信息的调度和传送是由硬件自动进行的。Cache 存储器存取速度快,但价格也高。没有必要用Cache 来全部代替主存,Cache 保存的内容只是主存程序中活跃部分的拷贝,一般只有若干块(每块约为1281024字)。若把Cache 与主存储器有机地连接起来,组成一个CacheMM层次,由存储器的存储控制电路实现地址变换和控制调度,就能使CacheMM组成的二级存储体系,在存取速度上体现Cache的高速度,在容量与每位成本上体现主存的大容量,低成本。高速缓冲存储器的运行原理主要基于如何解决主存单元与CACHE单元的对应问题。通常使CACHE的每个存
6、储单元由3部分内容组成。第一部分内容,是CACHE的数据字段,保存从主存某一单元复制过来的数据内容,这是在CPU第一次从主存读出内容传送到CPU的同时,顺便将该内容写进一个选中的CACHE单元的数据字段;第二部分内容,是CACHE的标志字段,保存相应主存单元的地址信息,用它指明该CACHE单元的数据字段部分保存的数据是从哪一个主存单元复制过来的。当程序中的一条指令要用一个主存地址读主存的某一单元时,就用这一地址来与CACHE中的各个标志字段的内容相比较,若找到某一标志字段的内容与该地址值相同,则同一CACHE单元的数据字段中的数据内容可能就是被读的数据;这表明,读CACHE时,是用CACHE单
7、元内容的一部分(标志字段)的值(原本用于读主存的一个地址),来确定该CACHE单元另外一部分(数据字段)的内容是否就是要读的数据。以这种原理运行的存储器被称为关联(联想)存储器。第三部分内容,是CACHE单元的有效位字段,规定其值为1,表示该CACHE单元中的标志字段、数据字段的内容是有效的,为0,则说明该CACHE单元在此之前尚未使用,其标志字段、数据字段的内容是无效的。有效位字段的内容,应在CACHE刚投入使用时,清每个单元的有效位为0;在一个CACHE单元被选中,且数据字段、地址字段的内容完成写入操作之后,该单元的有效位亦被置为1,表明该单元已被占用,其标志字段、数据字段的内容是有效的。
8、主存储器主存储器是计算机硬件系统中的五大功能部件之一,用于存放正在运行中的程序和相关数据。主存储器的性能指标主要是存储容量、存取时间和存储周期。主存储器通过地址总线、数据总线、控制总线与计算机的CPU和外围设备连接在一起。地址总线用于选择主存储器的一个存储单元(字或字节),其位数决定了可以访问的存储单元的最大数目,称为最大可寻址空间。数据总线用于在计算机各功能部件之间传送数据,数据总线的位数(总线的宽度),与总线时钟频率的乘积,正比于该总线所支持的最高数据吞吐(输入/输出)能力。控制总线用于指明总线的工作周期类型和本次入/出完成的时刻。总线的工作周期可以包括主存储器读周期,主存储器写周期,I/
9、O设备读周期,I/O设备写周期,即区分要用哪个部件(主存或I/O设备)和操作的性质(读或写);还有直接存储器访问(DMA)总线周期等。从实现的读写操作功能区分,主存储器可以由只读存储区(ROM)和读写存储区(RAM)两部分组成,是分别采用ROM和RAM存储器芯片实现的。ROM存储区用来储存内容固定不变的程序和数据,例如操作系统的内核部分,系统刚加电时运行的硬件诊断程序等。从所用的半导体生产工艺区分,存储器芯片又可以分为静态存储器SRAM和动态存储器DRAM两种类型。由于动态存储器集成度高,生产成本低,被广泛地用于实现要求更大容量的主存储器。静态存储器读写速度快,生产成本高,通常多用其实现容量可
10、以较小的高速缓冲存储器。主存储器的工作过程可以分成读出与写入两种操作,如下所示:图2 读操作 图3 写操作虚拟存储器虚拟存储器:在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理贮存容量大得多,可寻址的“主存储器”。虚拟存储区的容量与物理主存大小无关,而受限于计算机的地址结构和可用磁盘容量。内存计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,现代操作系统中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存
11、的紧张。举一个例子来说,如果计算机只有128MB物理内存的话,当读取一个容量为200MB的文件时,就必须要用到比较大的虚拟内存,文件被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟着就会把虚拟内里储存的文件释放到原来的安装目录里了。虚拟存储器-工作原理虚拟存储器是由硬件和操作系统自动实现存储信息调度和管理的,它的工作过程包括6个步骤:中央处理器访问主存的逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即将逻辑组号a作为索引,查地址变换表,以确定该组信息是否存放在主存内。 如该组号已在主存内,则转而执行;如果该组号不在主存内,则检查主存中是否有空闲区,如果没
12、有,便将某个暂时不用的组调出送往辅存,以便将这组信息调入主存。 从辅存读出所要的组,并送到主存空闲区,然后将那个空闲的物理组号a和逻辑组号a登录在地址变换表中。 从地址变换表读出与逻辑组号a对应的物理组号a。 从物理组号a和组内字节地址b得到物理地址。 根据物理地址从主存中存取必要的信息。其调度方式有分页式、段式、段页式3种。页式调度是将逻辑和物理地址空间都分成固定大小的页。主存按页顺序编号,而每个独立编址的程序空间有自己的页号顺序,通过调度辅存中程序的各页可以离散装入主存中不同的页面位置,并可据表一一对应检索。页式调度的优点是页内零头小,页表对程序员来说是透明的,地址变换快,调入操作简单;缺
13、点是各页不是程序的独立模块,不便于实现程序和数据的保护。段式调度是按程序的逻辑结构划分地址空间,段的长度是随意的,并且允许伸长,它的优点是消除了内存零头,易于实现存储保护,便于程序动态装配;缺点是调入操作复杂。将这两种方法结合起来便构成段页式调度。在段页式调度中把物理空间分成页,程序按模块分段,每个段再分成与物理空间页同样小的页面。段页式调度综合了段式和页式的优点。其缺点是增加了硬件成本,软件也较复杂。大型通用计算机系统多数采用段页式调度存储系统的性能在计算机中的地位日趋重要,存储系统一直伴随着计算机系统的整体发展而发展,并已成为计算机系统中发展最活跃的领域之一。现在有另一种存储体系,NAS(Network Attached Storage-网络附着存储),存储设备通过标准的网络拓扑结构(例如以太网)连接到一群计算机上。NAS是部件级的存储方法,它的重点在于帮助解决迅速增加存储容量的需求。NAS 支持若干客户端之间文件共享,所以用户可以使用NAS作为日常办公中需要经常交换小文件的地方。因此以后必将有更多的存储系统,向更多元化的方向发展。参考文献:【1】 微处理器系统结构与嵌入式系统设计 李广军 闫波等 电子工业出版社 【2】 操作系统精髓与设计原理(第五版)William Stallings 陈渝译 电子工业出版社【3】 计算机操作系统(第三版)汤小丹等 西安电子科技大学出版社