
操作系统 教学课件 ppt 作者 吴小平 第7章.ppt
81页第7章 多处理器网络和分布式操作系统,7.1 多处理器操作系统 7.2 网络操作系统 7.3 分布式操作系统,7.1 多处理器操作系统,7.1.1 处理器操作系统概述,除了提高计算机元器件的速度外,改善计算机性能的一条重要途径是改进计算机系统的体系结构;最主要的办法是通过增加系统处理机(器)的数量,实现任务的并行处理,于是导致了多处理机(器)系统(MPS)出现所谓多处理机系统指由多个能独立执行程序的处理机组成的计算机系统1.多处理机系统的分类 可以从不同角度对多处理机系统分类根据处理器之间耦合的紧密程度可以将多处理机系统划分为: (1)紧密耦合多处理机系统 多个处理器通过高速总线或高速开关互连,它们共享系统的内存和I/O设备 (2)松散耦合多处理机系统 多台计算机通过通道或通信线路实现互连,每台计算机有自己的内存和I/O设备,并配置了操作系统来管理本地资源和本地运行的进程(线程);也就是每台计算机可以独立工作,必要时可以通过通信线路与其他计算机交互根据多处理机系统中处理器的结构类型是否相同以及操作功能是否对称,可以将多处理机系统划分为: (1)同构对称型多处理机系统 在一台计算机中包含多个具有相同结构类型的处理器,它们共享计算机的内存和其他资源;每个处理器的地位平等,无主次之分,任何一个处理器都能替代其他处理器工作,工作负载能够均匀地分配到所有可用的处理器上,所有处理器能够平等地访问计算机的内存和I/O设备。
(2)异构非对称型多处理机系统 指系统中存在多种类型的处理器单元,它们在功能上各不相同,有主处理器和从处理器之分;主处理器运行操作系统,是系统的核心和灵魂,它能控制从处理器完成指定的功能非对称多处理系统由于各处理器起的作用不一样,因此,不能实现负载均衡根据多处理机系统的组成结构,可以将多处理机系统分为: (1)共享存储型多处理机系统 共享存储型多处理机中,多个处理器、高速缓存(Cache)一般利用公共总线或高速开关实现互连,通过共享主存实现处理机之间的相互通信,所有处理机共享I/O设备或通过通道与外设相连,整个系统由统一的操作系统管理,因此属于紧密耦合型多处理机系统这类系统的处理机数目通常有限,主要受到两方面约束:一是因为采用共享主存通信,所以当处理机数目增大时,将导致访问主存冲突的概率增加,使系统性能下降;二是处理机与主存间的互连网络带宽有限,当处理机数目增多后,互连网络将成为系统性能的瓶颈 共享存储型多处理机有三种模型:均匀存储器存取(UMA)模型、非均匀存储器存取(NUMA)模型和只用高速缓存的存储结构(COMA)模型这些模型的区别在于存储器和外围资源如何共享或分布①均匀存储器存取(UMA)模型 物理存储器被所有处理机均匀共享。
所有处理机对所有存储字具有相同的存取时间,每台处理机允许有私有的高速缓存Cache,系统的I/O设备也可以一定形式共享,各处理器之间的同步和通信可以通过公用存储器的共享变量来实现这种结构比较适合多用户的一般应用和分时应用 ②非均匀存储器存取(NUMA)模型 共享的存储器分布在所有处理机的本地存储器上,所有本地存储器的集合组成了全局地址空间,可被所有的处理机访问处理机的访问时间随存储字的位置不同而变化,通常访问本地存储器比较快,但访问属于另一台处理机的远程存储器则比较慢,因为通过互连网络会产生附加时延 ③只用高速缓存的存储结构(COMA)模型 COMA机是NUMA机的一种特例,只是COMA机中将分布的主存储器换成了高速缓存Cache,在每个处理机结点上没有存储器层次结构,全部高速缓冲存储器组成了全局地址空间,远程高速缓存访问借助分布高速缓存目录进行早期的多处理机系统几乎全是基于总线的共享存储系统随着共享存储技术的不断发展,出现了可扩展共享存储多处理技术S2MPS2MP不存在系统中可以连接处理器数目的总线带宽限制,可以将大量高性能微处理器连接起来,共享一个统一的地址空间,较好地解决了其他并行处理系统无法解决的问题。
S2MP系统采用分布式存储器技术,引入cache,降低了访存时延同时,系统内的处理器通过高速无阻塞的互连网络连接,增加了系统的通信带宽另一方面,S2MP系统采用了共享存储的存储器模型,每个处理器结点都可以直接访问所有的存储单元,程序员不用在程序中显式地控制在处理器之间分布数据和进行通信,因而容易编程直接访存也使得在处理器之间动态分配任务,实现负载平衡简单2)分布存储型多处理机系统 分布存储型多处理机由于机间物理联接松散,故属于松散耦合型多计算机系统系统由多个计算机节点通过消息传递网络相互连接而成,每个节点包括处理机、局部存储器以及输入/输出设备等,它们通过总线连在一起 局部存储器只有本地处理机才能访问计算机节点内部也可以包含一个用不同技术互连的小型处理器集所有计算机节点通过互连网络连接在一起消息传递网络的拓扑结构有环形、树形、网格、环网、超立方体、带环立方体等通信模式有一对一、广播、置换、选播等 分布存储型多处理机系统具有层次和非层次两种结构2.多处理机操作系统设计应注意的问题 从资源管理角度看,多处理机操作系统也担负着与单机操作系统一样的管理职责,如进行进程管理、线程管理、存储管理、设备管理和文件管理等,但要达到的管理目标和具体管理方法与单机操作系统存在一定差异。
设计多处理机操作系统应注意: (1)在多处理机环境下,有多个进程(线程)在多个处理机上并行执行,并行执行的进程(线程)可能需要同时访问某个共享资源,它们同时提出的资源访问请求比单机环境下并发进程交替访问共享资源的请求更难处理因此,多处理机操作系统应具有新的进程(线程)同步与互斥机制 (2)在多处理机环境下,处理机调度要考虑怎样才能发挥多处理机系统的最大效能,怎样才能做到负载平衡,因此在分配任务时,调度程序既要了解每台处理机的能力以便将适合的任务分配给它,又要了解诸任务之间的关系,哪些任务必须顺序执行,哪些任务可以并行执行,同时,还应采用适当的多处理机调度算法3)在多处理机环境下,既有局部存储器,又有全局存储器,其地址变换机构比单机环境复杂当多个进程竞争访问某存储块时,需要访问冲突仲裁机构裁决哪一个处理机上的进程(线程)可以立即访问,哪个或哪些处理机上的进程(线程)应该等待当共享主存中的数据在多个局部存储器内出现副本时,操作系统必须保证相应数据的一致性 (4)为了提高多处理机系统的可靠性,多处理机操作系统应具有重构能力当系统中的某个处理机或存储块等资源发生故障时,系统应能自动切除故障资源并换上备份资源,使之能够继续工作;如果没有备份资源,则重构系统使系统降级运行;如果在发生故障的处理机上有进程亟待执行,操作系统应能安全地将它迁移到其他处理机上运行,且位于故障处的其他可用资源同样也应能够安全转移。
3.多处理机操作系统的类型 为多处理机系统配备的操作系统称为多处理机操作系统多处理机操作系统目前主要有以下三种类型: (1)主从式 对于这种类型的操作系统,有一台特定的处理机被称为主处理机,其他的处理机被称为从处理机操作系统始终运行在主处理机上,用来记录、控制其他从处理机的状态,并负责为从处理机分配任务从处理机不具有调度功能,只能运行主处理机分配给它的任务 当从处理机空闲时,便向主处理机发出一个请求进程(线程)信号,然后等待主处理机为它分配进程(线程)主处理机中保持有一个就绪队列,只要就绪队列不空,操作系统就将合适的就绪进程(线程)分配给从处理机,从处理机获得分配给它的进程(线程)后便执行该进程(线程),执行结束后会再次向主处理机发出请求主从式操作系统具有以下优缺点: ①系统处理比较简单,所有进程(线程)分配由一台主处理机完成,使进程(线程)同步得到简化,进程(线程)的调度程序比较容易从单处理机的调度程序演变而来 ②操作系统容易实现,可由单处理机操作系统进行适当扩充而得到 ③资源利用率较低,当从处理机的请求任务队列较长时,容易出现瓶颈 ④由一台主处理机来对整个系统进行控制和管理,潜在着不可靠性,一旦主处理机出现故障,会导致整个系统瘫痪。
尽管主从式操作系统的资源利用率较低,可靠性也较差,但因其容易实现,因此早期的多处理机操作系统多采用这种方式到目前为止,仍有不少多处理机操作系统采用这种类型主从式多处理机操作系统一般用于工作负载不是很重,从处理器的数量不是很多,从处理机的性能远低于主处理机性能的非对称多处理器系统中2)独立监督式 独立监督式也称为独立管理程序控制方式在这种类型的操作系统中,每一个处理机均有自己的管理程序(操作系统内核),并拥有各自的专用资源,如输入/输出设备和文件系统在每个处理机上运行的操作系统具有与单机操作系统类似的功能,服务自身的需要,管理自己的资源,为自己的处理机分配进程(线程) 采用独立监督式操作系统的多处理机系统有IBM 370/158等独立监督式操作系统优缺点: ①每个处理机具有相对独立、完善的软、硬件资源,每个处理机可以按照自身的需要和分配给它的任务的需要来执行各种管理功能,具有较强的独立性和自主性 ②每个处理机由专用的管理程序来为自身服务,故访问公用表格的冲突相对较少,阻塞自然也比较不容易发生,系统具有较高的效率 ③每个处理机相对独立,一台处理机出现故障不会引起整个系统瘫痪,系统可靠性相对较高。
④由于每个处理机独立执行管理程序,因此管理程序的代码必须是可重入的,或者为每个处理机装入专用的管理程序副本 ⑤因每台处理机中都驻留了操作系统内核,占用了较多的存储空间,存储冗余较大,所以存储空间的开销较大,存储空间的利用率不高 ⑥缺少统一负责整个系统的管理和调度机制,要实现处理机负载平衡比较困难 独立监督式操作系统比较适合松散耦合型多处理机系统3)浮动监督式 浮动监督式也称为浮动管理程序控制方式它是最复杂,也是最有效、最灵活的多处理机操作系统类型浮动监督式操作系统类型适用于紧耦合多处理机系统,常用在对称多处理机系统中 若采用浮动管理程序控制方式,则系统中的所有处理机组成一个处理机池,每台处理机都可以运行操作系统对整个系统的资源进行管理和控制每段时间有一台(或一组)处理机作为执行全面管理功能的“主处理机”,但根据需要,“主处理机”是可浮动的,即可以从一台(或一组)处理机切换到另一台(或另一组)处理机 IBM3081上运行的MVS、VM以及C·mmp上运行的Hydra就采用了这种多处理机操作系统类型浮动监督式操作系统优缺点: ①系统内的处理机采用处理机集合概念进行管理,每台处理机都可用于控制任一台I/O设备和访问任一存储块,大多数任务可以在任意一台处理机上执行,管理过程对用户是透明的,且有很高的可靠性和相当大的灵活性。
②根据需要,“主处理机”可以浮动,即从一台计算机切换到另一台处理机即使执行管理功能的主处理机或者其他处理机出现故障,系统也照样能够运行下去,因此系统具有很高的可靠性 ③由于系统设置了一台(或一组)“主处理机”对整个系统的资源进行统一调度和管理,可以根据各处理机的忙闲情况,将任务均匀地分配到各处理机上执行,从而使系统各处理机上的负载达到较好的均衡 ④实现比较复杂由于一段时间内除有一台“主处理机”执行全面管理任务外,容许数台处理机同时执行同一个管理服务子程序,因此,多数管理程序的代码必须是可重入的,且必须设置功能较强的冲突仲裁机构7.1.2 多处理机调度,在多处理机系统中,存在多种调度策略,比较有代表性的有:负载共享调度、成组调度、独占处理机调度等这些调度策略主要以线程为调度单位 1.负载共享调度 又称为自调度,它是比较简单的调度策略,直接由单处理机上的调度策略演变而来按照这种调度策略,线程没有专用的处理机,它可以在任何空闲的处理机上运行,整个系统设置一个公共的线程就绪队列,当某处理机空闲时,该处理机上就可以运行操作系统的调度程序自己从公共就绪队列中挑选一个就绪线程执行 调度算法可以直接采用单处理机上的调。












