对称多处理和非对称多处理在操作系统中的区别
CPU 是计算机系统的关键部件。它执行数学和逻辑过程以及输入输出任务。此外,它还产生用于同步其他部分操作的信号。对称多处理和非对称多处理是两种不同类型的多处理方式。多处理系统包含多个处理器,可以同时运行多个进程。在对称多处理中,所有 CPU 共享相同的内存。而在非对称多处理中,单个主处理器控制系统的数据结构。
本文将介绍操作系统中对称多处理和非对称多处理之间的区别。但在讨论区别之前,您必须了解操作系统中的对称多处理和非对称多处理。
什么是对称多处理
对称多处理是指利用所有处理器进行操作系统任务。它与非对称多处理不同,并且所有处理器都使用共享内存进行通信。处理器从标准就绪队列开始进程,并且每个 CPU 可能具有自己的就绪执行程序队列。调度程序必须确保没有两个 CPU 同时运行同一个任务。
对称多处理提供了适当的负载平衡、改进的容错性,并降低了 CPU 瓶颈的可能性。由于所有 CPU 共享内存,因此对称多处理非常复杂,而对称多处理中的处理器故障会降低计算能力。
什么是非对称多处理
非对称多处理中,处理器之间存在主-从关系,其中一个主处理器控制其他从处理器。从处理器可以从主处理器接收指定任务,也可以从主处理器接收进程。主处理器管理数据结构、进程调度、I/O 处理和其他系统操作。
如果主处理器故障,其中一个从处理器将接管执行。如果一个从处理器故障,另一个从处理器接替其工作。非对称多处理简单,因为数据结构和单个处理器控制所有系统操作。假设有四个命名为 C1, C2, C3 和 C4 的 CPU。C4 是主处理器,分配任务给其他 CPU。如果将进程 P1 分配给 C1,P2 分配给 C2,P3 分配给 C3。每个处理器只处理分配给它们的进程。
对称多处理和非对称多处理的关键区别
在操作系统中,对称多处理和非对称多处理之间有一些关键差异。对称多处理和非对称多处理在操作系统中的一些主要差异如下:
- 对称多处理发生在许多处理器共同使用相同的操作系统和内存来处理程序时。另一方面,非对称多处理是指许多处理器对程序进行主-从处理。
- 对称多处理中,每个CPU可以从共享的就绪队列或其私有队列中获取进程。相反,非对称多处理中的主处理器委派任务给从处理器。
- 对称多处理中,处理器通过共享内存进行通信。另一方面,非对称多处理中的处理器不需要相互通信,因为主处理器控制它们。
- 非对称多处理更容易,因为只有主处理器访问数据结构。另一方面,对称多处理较困难,因为所有处理器必须同步运行。
- 所有对称多处理处理器的架构相同。另一方面,非对称多处理器中的处理器结构可能不同。
- 对称多处理中,每个CPU可以从共享的就绪队列中获取或者拥有一个私有的就绪进程队列。另一方面,非对称多处理将进程分配给从处理器。
- 非对称多处理系统也比对称多处理系统更便宜。
- 此外,与对称多处理相比,非对称多处理系统的创建和维护更容易。
对称和非对称多处理之间的对比
对称和非对称多处理之间有各种对比。对称和非对称多处理之间的一些差异如下:
特性 | 对称多处理 | 非对称多处理 |
---|---|---|
定义 | 当多个处理器一起使用相同的操作系统和内存处理程序时,称为对称多处理。 | 当几个处理器以主-从关系处理程序时,称为非对称多处理。 |
基本 | 每个CPU执行操作系统操作。 | 主处理器仅执行操作系统功能。 |
简易性 | 对称多处理器难以理解,因为所有处理器必须同步以保持负载平衡。 | 主处理器可以访问数据结构。 |
处理器 | 所有处理器使用共同的就绪队列,或者每个处理器都有自己的私有就绪队列。 | 主处理器分配从处理器的进程,或者它们有一些预定义的任务。 |
通信 | 共享内存使所有处理器能够彼此通信。 | 处理器之间不需要通信,因为主处理器控制它们。 |
架构 | SMP处理器都具有相同的架构。 | 非对称多处理处理器可以具有相同或不同的架构。 |
失效 | 当一个CPU失效时,系统的计算能力降低。 | 如果主处理器失效,控制权会传递给从处理器。如果从处理器失效,任务会传递给另一个处理器。 |
成本 | 与非对称多处理相比,成本较高。 | 比对称多处理更便宜。 |
结论
多处理系统可以是对称或非对称的。对称多处理的主要区别是处理器类似并且共享主内存。相比之下,非对称多处理使用的处理器不相同,并且按照主从的方式工作。