第10章操作系统原理.ppt
《第10章操作系统原理.ppt》由会员分享,可在线阅读,更多相关《第10章操作系统原理.ppt(123页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 1第十章 多处理机操作系统第十章第十章 多处理机操作系统多处理机操作系统10.1 多处理机系统的基本概念10.2 多处理机系统的结构10.3 多处理机操作系统的特征与分类10.4 进程同步10.5 多处理机系统的进程调度10.6 网络操作系统10.7 分布式文件系统习题2 2第十章 多处理机操作系统10.1 多处理机系统的基本概念10.1.1 多处理机系统的引入进入70年代后,已采用多处理机的系统结构从提高运行速度方面来增强系统性能。实际上,多处理机系统MPS就是采用并行技术,令多个单CPU同时运行,使总体的计算能力比单CPU计算机系统的强大得多。3 3第十章 多处理机操作系统1.CPU的
2、时钟频率问题在早期,人们首先是采用提高CPU时钟频率的方法提高计算速度。CPU的时钟频率已从早期的每秒钟嘀嗒数十次,发展到现在的数兆赫兹(GHz),这主要得益于芯片制造工艺水平的提高。4 4第十章 多处理机操作系统2.增加系统吞吐量随着系统中处理机数目的增加,系统的处理能力也相应增强,显然,这可使系统在单位时间内完成更多的工作,即增加系统吞吐量。当然,为了能使多个处理机协调地工作,系统也必须为此付出一定的开销。因此,利用n台处理机运行时所获得的加速比,并不能达到一台处理机时的n倍。5 5第十章 多处理机操作系统3.节省投资在达到相同处理能力的情况下,与n台独立的计算机相比,采用具有n个处理机的
3、系统,可以更节省费用。这是因为,此时的n个处理机可以做在同一个机箱中,使用同一个电源和共享一部分资源,如外设、内存等。6 6第十章 多处理机操作系统4.提高系统可靠性在MPS中,通常都具有系统重构的功能,即当其中任何一个处理机发生故障时,系统可以进行重构,然后继续运行。亦即可以立即将故障处理机上所处理的任务迁移到其它的一个或多个处理机上继续处理,保证整个系统仍能正常运行,其影响仅仅表现为系统性能上的少许降低。例如,对于一个含有10个CPU的系统,如果其中某一个CPU出现故障,整个系统性能大约降低10%。7 7第十章 多处理机操作系统10.1.2 多处理机系统的类型1紧密耦合MPS和松弛耦合MP
4、S从多处理机之间耦合的紧密程度上,可把MPS分为两类:(1)紧密耦合(Tightly Coupled)MPS。(2)松散耦合(Loosely Coupled)MPS。8 8第十章 多处理机操作系统2.对称多处理器系统和非对称多处理器系统根据系统中所用处理器的相同与否,可将MPS分为如下两类:(1)对称多处理器系统SMPS(Symmetric Multiprocessor System)。(2)非对称多处理器系统ASMPS(Asymmetric Multiprocessor System)。9 9第十章 多处理机操作系统10.2 多处理机系统的结构10.2.1 UMA多处理机系统的结构所谓UMA
5、(Uniform Memory Access),即统一内存访问(也称一致性内存访问)。在这种结构的多处理机系统中,各处理器单元(CPU)在功能和结构上都是相同的,在处理上没有主从之分(即属于SMP系统),每个处理机可以访问不同模块中的存储器单元,并且对于每个存储器单元的读写速度是相同的。10 10第十章 多处理机操作系统1.基于单总线的SMP结构如图10-1(a)所示,在这种结构的系统中,把多个处理器与一个集中的存储器相连,所有处理器都通过公用总线访问同一个系统的物理存储器,每个处理机可以访问不同存储器模块中的单元,以及与其它处理机进行通信。这就意味着该系统只需要运行操作系统的一个拷贝,因此,
6、为单处理器系统编写的应用程序可以直接移植到这种系统中运行。11 11第十章 多处理机操作系统图10-1 基于总线的SMP结构12 12第十章 多处理机操作系统2.使用多层总线的SMP结构对于单总线结构中存在的总线瓶颈问题的另一个解决方法,就是使用多层总线结构。在这种结构中,系统中所有的CPU不仅共享一个高速缓存,还有一个本地私有的存储器,如图10-1(c)所示。13 13第十章 多处理机操作系统3.使用单级交叉开关的系统结构在这种结构中,利用电话交换系统中使用交叉开关(crossbar switch)的方法,如图10-2所示,将系统中所有的CPU与存储器结点,通过交叉开关阵列相互连接。每个交叉
7、开关均为其中两个结点(CPU与存储器模块)之间提供一条专用连接通路,从而避免了在多个 CPU之间因为要访问存储器模块所形成的对链路的争夺。而且,在任意两个结点(CPU与CPU)之间也都能找到一个交叉开关,在它们之间建立专用连接通路,方便CPU之间的通信。14 14第十章 多处理机操作系统图10-2 使用交叉开关的UMA多处理机系统15 15第十章 多处理机操作系统4.使用多级交换网络的系统结构图10-3(a)是一个最简单的22交叉开关,它有两个输入和两个输出。送入任一输入的信息可以交换到任一输出线上。可以将这样的多级小交换开关分级连接起来,形成多级交叉开关网络,如图10-3(b)所示,图中的1
8、A、2A、1B、3C等都是一个交叉开关级,在相邻级别的交叉开关之间设置固定的物理连接。处理机和存储器模块分别位于网络的两侧,每台处理机通过网络访问存储器模块,而且所有处理机的访问方式都是一样的,机会均等。16 16第十章 多处理机操作系统图10-3 使用多级交换网络的SMP结构示意图17 17第十章 多处理机操作系统10.2.2 NUMA多处理机系统结构1.NUMA结构和特点所谓NUMA(Nonuniform-Memory-Access),即非统一内存访问(也称非一致存储访问)。在这种结构的多处理机系统中,其访问时间随存储字的位置不同而变化,系统中的公共存储期和分布在所有处理机的本地存储器共同
9、构成了系统的全局地址空间,可被所有的处理机访问。18 18第十章 多处理机操作系统图10-4 NUMA结构的多处理机系统19 19第十章 多处理机操作系统2.CC-NUMA构造方法目前,对于构造大型的CC-NUMA多处理机系统,最常用的方法是采用基于目录的多处理机。其基本思想是:对于系统中每一个CPU所拥有的若干高速缓存单元,都以一定数量的单元为一组,构成一个高速缓存块,为每个CPU配置一张高速缓存块目录表(下简称目录表),对每一个高速缓存块的位置和状态进行记录和维护。每个CPU的每条访问存储器单元的指令都必须首先查询这张表,从中判断该存储器单元是否在目录表中,即其内容是否已存在于某个高速缓存
10、块中,并进行相应的操作。2020第十章 多处理机操作系统图10-5 CC-NUMA构造方法21 21第十章 多处理机操作系统10.3 多处理机操作系统的特征与分类10.3.1 多处理机操作系统的特征多处理机操作系统是在单机多道程序系统的基础上发展起来的,它们之间有许多相似之处,但也存在着较大的差异。归纳起来,多处理机操作系统具有以下几方面的新特征:2222第十章 多处理机操作系统1.并行性单机多道程序系统的主要目标是,为用户建立多个虚拟处理机以及模拟多处理机环境,使程序能并发执行,从而改善资源利用率并提高系统的吞吐量。而在多处理机系统中,由于存在着多个实处理机,已经可使多个进程并行执行,因此,
11、多处理机操作系统的主要目标应是进一步增强程序执行的并行性程度,以获得更高的系统吞吐量及提高系统的运算速度。2323第十章 多处理机操作系统2.分布性在单处理机系统中,所有的任务都是在同一台处理机上执行的,所有的文件和资源也都处于操作系统的统一管理之下。然而对于多处理机系统而言,无论其结构如何,在任务、资源和对它们的控制等方面,都呈现出一定的分布性。这种情况,在松散耦合系统中表现尤其明显:(1)任务的分布(2)资源的分布(3)控制的分布2424第十章 多处理机操作系统3.机间的通信和同步性在多处理机系统中,不仅在同一处理机上并发执行的诸进程之间,由于资源共享和相互合作的需要,须实现同步和通信,而
12、且在不同处理机上运行的不同进程之间,也需要进行同步和通信,除了它们之间也需要资源共享和相互合作外,这对于提高程序执行的并行性、改善系统的性能至关重要。2525第十章 多处理机操作系统4.可重构性为提高系统的可靠性,在多处理机系统中,应使操作系统具有这样的能力:当系统中某个处理机或存储模块等资源发生故障时,系统能够自动切除故障资源,换上备份资源,并对系统进行重构,保证其能继续工作。2626第十章 多处理机操作系统10.3.2 多处理机操作系统的功能1.进程管理对于多处理机系统中的进程管理,主要体现在进程同步和进程通信几个方面:1)进程同步2)进程通信3)进程调度2727第十章 多处理机操作系统2
13、.存储器管理在多处理机环境下,通常每个处理机都有属于自己局部的(本地)存储器,也有可供多个处理机所共享的(系统)存储器。每个处理机在访问本地存储器模块时,与访问系统存储器或其它处理机的局部存储器模块(统称远地存储器)时相比,所花费的时间也可能是不同的。2828第十章 多处理机操作系统因此,在多处理机系统中,存储器系统的结构十分复杂,致使对存储器系统的管理也变得非常复杂:除了需要具有单机多道程序系统中的地址变换机构和虚拟存储器功能外,还应增强和增加下面的功能和机制:(1)地址变换机构。(2)访问冲突仲裁机构。(3)数据一致性机制。2929第十章 多处理机操作系统3.文件管理在单处理机系统中,通常
14、只有一个文件系统,所有的文件都存放在磁盘上,采用集中统一管理方式,也称为集中式文件系统。而在多处理机系统中,则可能采用以下三种文件系统管理方式:(1)集中式。(2)分散式。(3)分布式。3030第十章 多处理机操作系统4.系统重构在单处理机系统中,一旦处理机发生故障,将引发整个系统的崩溃。但在多处理机系统中,尤其是在对称多处理机系统中,由于各处理机的结构和功能相同,为了提高系统的可靠性,应使操作系统具有重构能力,即当系统中某个处理机或存储块等资源发生故障时,系统能够自动切除故障资源并换上备份资源,使之继续工作。如果没有备份资源,则重构系统使之降级运行。如果在故障的处理机上有进程亟待执行,操作系
15、统应能安全地把它迁移到其它处理机上继续运行,对处于故障处的其它可利用资源同样也予以安全转移。31 31第十章 多处理机操作系统10.3.3 多处理机操作系统的类型 1.主从式(master-slave)在这种类型的操作系统中,有一台特定的处理机被称为主处理机(Master Processor),其它处理机则称为从处理机。操作系统始终运行在主处理机上,负责保持和记录系统中所有处理机的属性、状态等信息,而将其它从处理机视做为可调度和分配的资源,负责为它们分配任务。从处理机不具有调度功能,只能运行主处理机分配给它的任务。3232第十章 多处理机操作系统主从式操作系统具有如下优缺点:(1)易于实现。(
16、2)资源利用率低。(3)安全性较差。3333第十章 多处理机操作系统2.独立监督式(separate supervisor System)独立监督式操作系统具有如下的优缺点:(1)自主性强。(2)可靠性高。(3)实现复杂。(4)存储空间开销大。(5)处理机负载不平衡。3434第十章 多处理机操作系统3.浮动监督式(floating supervisor Control Mode)浮动监督式,也称为浮动管理程序控制方式,这是最复杂的,但也是最有效、最灵活的一种多处理机操作系统方式,常用于紧密耦合式的对称多处理机系统中。3535第十章 多处理机操作系统浮动监督式操作系统具有如下的优缺点:(1)高灵
17、活性。(2)高可靠性。(3)负责均衡。(4)实现复杂。3636第十章 多处理机操作系统10.4 进 程 同 步在多处理机系统中,进程间的同步显得更加重要和复杂。在紧密耦合多处理机中,多个处理机是共享存储的,因此各处理机上的诸进程之间可通过该共享存储来实现同步,进程间的同步实现相对也比较简单。但对于松散耦合的多处理机,进程之间的同步可能采取的方式较多且复杂,可分为集中式和分布式两大类同步方式。3737第十章 多处理机操作系统10.4.1 集中式与分布式同步方式1.中心同步实体为实现进程之间的同步,系统中必须有相应的同步实体(Synchronizing Entity),如硬件锁、信号量以及进程等。
18、如果该同步实体满足下述两个条件,则称之为中心同步实体:(1)具有唯一的名字,并且为彼此必须同步的所有进程所知道。(2)在任何时刻,这些进程中的任何一个都可以访问该同步实体。3838第十章 多处理机操作系统2.集中式同步机构基于中心同步实体所构成的所有同步机构被称为集中式同步机构。相应的,其它同步机构则称为非集中式同步机构。3939第十章 多处理机操作系统3.集中式与分布式同步算法在多处理机系统中,为实现进程同步,往往还需要有相应的同步算法支持同步机构,一般分为以下两种:(1)集中式同步算法。(2)分布式同步算法。4040第十章 多处理机操作系统4.中心进程方式该方式是在系统中设置一个中心进程(
19、或称为协调进程),该进程保存了所有用户的存取权限、冲突图(conflict graph)等信息。41 41第十章 多处理机操作系统10.4.2 自旋锁(spin lock)1.自旋锁的引入如前所述,在单CPU系统中,CPU在执行读修改写原语操作时,是具有原子性的,即在执行这些操作时不会被中断。保证原子性的基本方法是,在执行原语之前关中断,完成后再开中断。4242第十章 多处理机操作系统2.实现对总线互斥访问的方法利用自旋锁实现对总线互斥访问的方法是:在总线上设置一个自旋锁,该锁最多只能被一个内核进程持有。4343第十章 多处理机操作系统3.自旋锁与信号量的主要差别自旋锁与信号量的主要差别在于:
20、自旋锁可避免调用进程阻塞。由于自旋锁使用者一般保持锁时间非常短,调用进程用“旋转”来取代进程切换。而我们知道进程切换需要花费一定开销,并且会使高速缓存失效,直接影响系统的性能,因此将自旋锁应用于对总线资源的竞争,其效率远高于信号量机制,且在多处理器环境中非常方便。4444第十章 多处理机操作系统4.自旋锁的类型使用自旋锁的基本形式为:spin_lock(&lock);/*临界区代码;*/spin_unlock(&lock);4545第十章 多处理机操作系统10.4.3 读拷贝修改锁和二进制指数补偿算法1.读拷贝修改锁(RCU)的引入不论是第二章中的读写问题,还是前面所介绍的读写自旋锁,都是允许
21、多个进程同时读,但只要有一个写进程在写,便禁止所有读进程去读,使读者进入阻塞状态。如果写的时间非常长,将严重影响到多个读进程的工作。是否能改善这一情况呢?即使有写进程在写,读进程仍可以去读,不会引起读进程的阻塞。回答是肯定的,其解决方法是改变写进程对文件(共享数据结构)进行修改(写)的方式。4646第十章 多处理机操作系统2.RCU(Read-Copy-Update)锁RCU锁用来解决读者写者问题。对于被RCU保护的共享文件(数据结构),无论读者和写者,都是以读的方式对其进行访问的,对于读者而言,不需要获得任何锁就可以访问它,对于写者而言,在访问它时,先制作该文件的一个副本,只对副本上的内容进
22、行修改,然后使用一个回调(callback)机制,即向系统中一个称为垃圾收集器的机构注册一个回调函数。最后,在适当的时机,由垃圾收集器调用写者注册的回调函数,把指向原来数据的指针重新指向新的被修改的数据,完成最后的数据释放或修改操作。4747第十章 多处理机操作系统3.写回时机在RCU锁机构中,如何确定将修改后的内容写回的时机?显然,最好是在所有读者都已完成自己的读任务后再将修改后的文件写回。4848第十章 多处理机操作系统4.RCU锁的优点RCU实际上是一种改进的读写自旋锁。它的主要优点表现为如下两方面:(1)读者不会被阻塞。(2)无需为共享文件(数据)设置同步机构。4949第十章 多处理机
23、操作系统10.4.4 二进制指数补偿算法和待锁CPU等待队列机构1.二进制指数补偿算法多个CPU在对共享数据结构互斥访问时,如果该数据结构已被占用,就需要不断地对锁进行测试,造成总线流量的增大。5050第十章 多处理机操作系统2.待锁CPU等待队列机构如何及时发现锁空闲,另一种同步机构锁等待队列机构很好地解决了这一问题。这种机构的核心思想是:为每一个CPU配置一个用于测试的私有锁变量和一个记录待锁CPU的待锁清单,存放在其私有的高速缓存中。51 51第十章 多处理机操作系统10.4.5 定序机构1.时间邮戳定序机构(Timestamp Ordering Mechanism)对时间邮戳定序机构最
24、基本的要求是,在系统中应具有唯一的、由单一物理时钟驱动的物理时钟体系,确保各处理机时钟间的严格同步。该定序机构的基本功能是:(1)对所有的特殊事件,如资源请求、通信等,加印上时间邮戳;(2)对每一种特殊事件,只能使用唯一的时间邮戳;(3)根据事件上的时间邮戳,定义所有事件的全序。5252第十章 多处理机操作系统2.事件计数(Event Counts)同步机构1)await(E,V)每当进程要进入临界区之前,先执行await操作,如果EV,将执行进程插入到EQ队列,并重新调度;否则进程继续执行。5353第十章 多处理机操作系统2)advance(E)每当进程退出临界区时,应执行advance(E
25、)操作,使E值增1。如果EQ队列不空,则进一步检查队首进程的V值;若E=V,则唤醒该进程。5454第十章 多处理机操作系统10.4.6 面包房算法该算法是最早的分布式进程同步算法,是利用事件排序的方法对要求访问临界资源的全部事件进行排序,按照FCFS 次序对事件进行处理。5555第十章 多处理机操作系统10.4.7 令牌环算法该算法属于分布式同步算法,是将所有进程组成一个逻辑环(Logical Ring),系统中设置一个象征存取权力的令牌(Token),它是一种特定格式的报文,在进程所组成的逻辑环中,不断地循环传递,获得令牌的进程,才有权力进入临界区,访问共享资源。5656第十章 多处理机操作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 操作系统 原理
限制150内