版权归原作者所有,如有侵权,请联系我们

[科普中国]-多处理机操作系统

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

简介

目前存在着多种类型的 OS,不同类型的 OS,其目标各有所侧重。一般地说,在计算机硬件上配置的 OS,其目标有以下几点:1、有效性,操作系统的有效性可包含如下两方面的含意:(1) 提高系统资源利用率,(2) 提高系统的吞吐量;2、方便性是指配置 OS 后可使计算机系统更容易使用;3、可扩充性是指以便于方便地增加新的功能和模块,并能修改老的功能和模块;4、开放性是指系统能遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。1

多处理机是指两个或两个以上处理机(包括PU和CU),通过高速互连网络连接起来,在统一的操作系统管理下,实现指令以上级(任务级、作业级)并行。

多处理机操作系统的目标也是以上几点,不过多处理机操作系统侧重于提高系统的吞吐量和可扩充性这两点。按照多处理机系统的类型来分,可以分为:紧密耦合MPS和松散耦合MPS。按照多处理机操作系统的类型来分,可以分为:非对称多处理模式,对称多处理模式。

多处理机是否对称分类多处理机(Multi processor)是具有多个处理机的计算机,能够大大提高计算机的处理速度。

非对称多处理非对称多处理(英语:Asymmetric multiprocessing,缩写为AMP、ASMP),也译为非对称多重处理、非均衡多元处理,一种多元处理的架构。在这种架构下,存在多个处理器;每个中央处理器在某个特定时间内,被指定一个特定的任务去运行。在对称多处理系统还没完全发展好之前,它曾被视为是一种软件的权宜之计,可以用来让多个处理器同时运作。在对称多处理系统开发好之后,现今它仍然被视为是一个较简单廉价的软件选项

对称多处理对称多处理(英语:Symmetric multiprocessing,缩写为 SMP),也译为均衡多处理、对称性多重处理,是一种多处理器的电脑硬件架构,在对称多处理架构下,每个处理器的地位都是平等的,对资源的使用权限相同。现代多数的多处理器系统,都采用对称多处理架构,也被称为对称多处理系统(Symmetric multiprocessing system)。在这个系统中,拥有超过一个以上的处理器,这些处理器都连接到同一个共享的主存上,并由单一操作系统来控制。在多核心处理器的例子中,对称多处理架构,将每一个核心都当成是独立的处理器。

在对称多处理系统上,在操作系统的支持下,无论进程是处于用户空间,或是核心空间,都可以分配到任何一个处理器上运行。因此,进程可以在不同的处理器间移动,达到负载平衡,使系在计算领域,对称多处理是一种多处理机硬件架构,有两个或更多的相同的处理机(处理器)共享同一主存,由一个操作系统控制。当前最常见的多处理机系统使用了对称多处理架构。以多核处理器为例,对称多处理架构就是这些核,它把这些核当作不同的处理器。不同的处理器之间可以由总线、矩阵开关或片上mesh网络来连接。使用总线或矩阵开关的对称多处理架构有可扩展性方面的瓶颈,它是由处理器之间连接的带宽、能耗,以及内存和磁盘阵列等引起的。使用mesh连接的架构避免了这些瓶颈。它能够支持更多数量的处理器,具有几乎线性的可扩展性,代价是牺牲可编程性。统的效率提升。

控制方式分类主从式(master-slave)主从式操作系统由一台主处理机记录、控制其它从处理机的状态 ,并分配任务给从处理机。例如,Cyber-170就是主从式多处理机操作系统,它驻留在一个外围处理机Po上运行,其余所有处理机包括中心处理机都从属于Po。另一个例子是DEC System 10,有两台处理机,一台为主,另一台为从。操作系统在主处理机上运行,从处理机的请求通过陷入传送给主处理机,然后主处理机回答并执行相应的服务操作。主从式操作系统的监控程序及其提供服务的过程不必迁移,因为只有主处理机利用它们。当不可恢复错误发生时,系统很容易导致崩溃,此时必须重新启动主处理机。由于主处理机的责任重大,当它来不及处理进程请求时,其它从属处理机的利用率就会随之降低。主从式的特点:主从式操作系统有如下特点:

A.操作系统程序在一台处理机上运行。如果从处理机需要主处理机提供服务,则向主处理机发出请求,主处理机接受请求并提供服务。不一定要求把整个管理程序都编写成可重入的程序代码,因为只有一个处理机在使用它,但有些公用例程必须是可重入的才行。

B.由于只有一个处理机访问执行表,所以不存在管理表格存取冲突和访问阻塞问题。

C.当主处理机故障时很容易引起整个系统的崩溃。如果主处理机不是固定设计的,管理员可从其他处理机中选一个作为新主处理机并重新启动系统。

D.任务分配不但容易使部分从处理机闲置而导致系统效率下降。 E.用于工作负载不是太重或由功能相差很大的处理机组成的非对称系统。 F.系统由一个主处理机加上若干从处理机组成,硬件和软件结构相对简单,但灵活行差。

独立监督式(separate supervisor)独立监督式与主从式不同,在这种类型中,每一个处理机均有各自的管理程序(核心)。采用独立监督式操作系统的多处理机系统有IBM 370/158等。独立监督式的特点:

A.每个处理机将按自身的需要及分配给它的任务的需要来执行各种管理功能,这就是所谓的独立性。

B.由于有好几个处理机在执行管理程序,因此管理程序的代码必须是可重入的,或者为每个处理机装入专用的管理程序副本。

C.因为每个处理机都有其专用的管理程序,故访问公用表格的冲突较少,阻塞情况自然也就较少,系统的效率就高。但冲突仲裁机构仍然是需要的。

D.每个处理相对独立,因此一台处理机出现故障不会引起整个系统崩溃。但是,要想补救故障造成的损害或重新执行故障机未完成的工作非常困难。

E.每个处理机都有专用的I/O设备和文件等。 F.这类操作系统适合于松耦合多处理机体系,因为每个处理机均有一个局部存储器用来存放管理程序副本,存储冗余太多,利用率不高。 G.独立监督式操作系统要实现处理机负载平衡更困难。

浮动监督式(floating supervisor)每次只有一台处理机作为执行全面管理功能的“主处理机”,但根据需要,“主处理机”是可浮动的,即从一台切换到另一台处理机。这是最复杂、最有效、最灵活的一种多处理机操作系统,常用于对称多处理机系统(即系统中所有处理机的权限是相同的,有公用主存和I/O子系统)。浮动监督式操作系统适用于紧耦合多处理机体系。采用这种操作系统的多处理机系统有IBM 3081上运行的MVS,VM以及C·mmp上运行的Hydra,等等。浮动监督式的特点:

A.每次只有一台处理机作为执行全面管理功能的“主处理机”,但容许数台处理机同时执行同一个管理服务子程序。因此,多数管理程序代码必须是可重入的。

B.根据需要,“主处理机”是可浮动的,即从一台切换到另一台处理机。这样,即使执行管理功能的主处理机故障,系统也能照样运行下去。

C.一些非专门的操作(如I/O中断)可送给那些在特定时段内最不忙的处理机去执行,使系统的负载达到较好的平衡。

D.服务请求冲突可通过优先权办法解决,对共享资源的访问冲突用互斥方法解决。 E.系统内的处理机采用处理机集合概念进行管理,其中每一台处理机都可用于控制任一台I/O设备和访问任一存储块。这种管理方式对处理机是透明的,并且有很高的可靠性和相当大的灵活行。

多处理机系统的类型分类紧密耦合多处理机处理机之间共享主存储器,通过高速总线或高速开关连接。主存储器有多个独立的存储模块。每个CPU能够访问任意一个存储器模块,需要通过映象部件MAP把全局逻辑地址变换成局部物理地址。通过互连网络寻找合适的路径,并分解访问存储器的冲突。多个输入输出处理机IOP也连接载互连网络上,输入输出设备与CPU共享主存储器。处理机个数不能太多,一般几个到十几个。

松散耦合多处理机为了支持大数目的处理器,存储器必须分布到各个处理器上,否则存储系统将不能满足处理器带宽的要求。处理机之间的连接频带比较低,一般通过输入输出接口连接。处理机之间互为外围设备进行连接。2

特点多处理机的体系结构由若干台独立的计算机组成,每台计算机能够独立执行自己的程序。在多处理机系统中,处理机与处理机之间通过互连网络进行连接,从而实现程序之间的数据交换和同步。3

多处理机属于多指令流多数据流系统,即MIMD,它和SIMD(单指令流多数据流系统的并行处理机)相比,有很大差别:

⑴ 结构灵活性。SIMD带有专用性,主要针对特定的算法设计其结构,其特点是处理单元数量很多,但只需设置较为有限和固定的机间互连通路,即可满足一批并行性很高的算法的需要。而多处理机应有较强的通用性,也不止于向量数组处理。

⑵ 程序并行性。由于专用性,加上并行处理机的并行性存在于指令内部,所以并行性的识别还是比较容易的,在指令类型及硬件结构上已考虑,可由程序员在编制程序时掌握。但对于MIMD,并行性存在于指令外部,即表现在多个任务之间。

⑶ 并行任务派生。SIMD依靠单指令流对多数据组实现并行操作,这种并行操作是通过各条单独的指令加以反映和控制的。但多处理机是多指令流操作方式,一个程序当中就存在多个并发的程序段,需要专门的指令来表示它们的并发关系以及控制它们的并发执行,使一个任务正在被执行时就能派生出可与它并行执行的另一些任务,这称为并行任务派生(Parallel Task Spawning)。

⑷ 进程同步。SIMD实现操作级的并行,所有处于活动状态的处理单元同时执行同一条指令操作,受同一个控制器控制,工作自然是同步的。但MIMD实现指令,任务,程序级的并行,一般说,在同一时刻,不同的处理机执行着不同的指令,由于执行时间互不相等,它们的工作进度不会也不必保持相同。

⑸ 资源分配和任务调度。SIMD主要执行向量数组运算,处理单元数目是固定的,程序员据以编写程序,并只能利用屏蔽手段设置处理单元的活动状态来改变实际参加并行操作的处理单元数目。但MIMD执行并发任务,需用处理机的数目没有固定要求,各个处理机进入或退出任务以及所需资源变化的情况都要复杂的多,这就提出了一个资源分配和任务调度问题,解决的好坏对整个系统的效率都有很大的直接影响。