操作系统的体系结构(单处理器、多处理器和集群)

  • 内容
  • 评论
  • 相关

前面章节中,我们从操作系统的运行过程、存储结构以及I\O结构介绍了典型计算机系统的通用结构。计算机系统可能通过许多不同途径来组成,这里根据采用的通用处理器数量来进行粗略分类。

单处理器系统

直到最近,大多数系统仍采用单处理器。单处理器系统只有一个主 CPU,以便执行一个通用指令集,该指令集包括执行用户进程的指令。几乎所有单处理器系统都带有其他专用处理器。它们或为特定设备的处理器,如磁盘、键盘、图形控制器;或为更通用的处理器,如在系统组件之间快速移动数据的 I/O 处理器。

所有这些专用处理器执行有限指令集,而并不执行用户进程。在有的环境下,它们由操作系统来管理,此时操作系统将要做的任务信息发给它们,并监控它们的状态。

例如,磁盘控制器的微处理器接收来自主 CPU 的一系列请求,并执行自己的磁盘队列和调度算法。这种安排使得主 CPU 不必再执行磁盘调度。PC 的键盘有一个微处理器来将击键转换为代码,并发送给 CPU。

在其他的环境下,专用处理器作为低层组件集成到硬件。操作系统不能与这些处理器通信,但是它们可以自主完成任务。专用处理器的使用十分常见,但是这并不能将一个单处理器系统变成多处理器系统。如果系统只有一个通用 CPU,那么就为单处理器系统。

多处理器系统

近年来,多处理器系统multiprocessing system,也称为并行系统(parallel system)多核系统(multicore system))开始主导计算领域。这类系统有两个或多个紧密通信的 CPU,它们共享计算机总线,有时还共享时钟、内存和外设等。多处理器系统起初主要应用于服务器,后来也应用于桌面和笔记本系统。近来,多处理器也出现在移动设备上,如智能手机和平板电脑。

多处理器系统有三个主要优点:

  1. 增加吞吐量:通过增加处理器数量,以期能在更短时间内完成更多工作。采用 N 个处理器的加速比不是 N,而是小于 N。当多个 CPU 协同完成同一任务时,为了让各部分能够正确执行,会有一定的额外开销。这些开销,加上竞争共享资源,会降低因增加了 CPU 的期望增益。这类似于 N 位程序员一起紧密工作,而不能完成 N 倍于单个程序员的工作量。
  2. 规模经济:多处理器系统的价格要低于相同功能的多个单处理器系统的价格,因为前者可以共享外设、大容量存储和电源供给。如果多个程序需要操作同一数据集,那么将这些数据放在同一磁盘并让多处理器共享,将比采用多个具有本地磁盘的计算机和多个数据副本更为节省。
  3. 增加可靠性:如果将功能分布在多个处理器上,那么单个处理器的失灵不会使得整个系统停止,而只会使它变慢。如果 10 个处理器中的 1 个出了故障,那么剩下的 9 个会分担起故障处理器的那部分工作。因此,整个系统只是比原来慢了 10%,而不是完全失败。

对于许多应用,增加计算机系统的可靠性是极其重要的。根据剩余有效硬件的级别按比例继续提供服务的能力称为适度退化(graceful degradation)。有的系统超过适度退化,称为容错(fault tolerant),因为它们能够容忍单个部件错误,并且仍然继续运行。

容错需要一定的机制来对故障进行检测、诊断和(如果可能)纠错。HP NonStop 系统(以前的 Tandem)通过使用重复的硬件和软件,来确保在有故障时也能继续工作。该系统具有多对 CPU,它们锁步工作。每对处理器都各自执行自己的指令,并比较结果。如果结果不一样,那么其中一个 CPU 出错,此时两个都停下。接着,停着的进程被转到另一对 CPU,刚才出错的指令重新开始执行。这种方法比较昂贵,因为它用到专用硬件和相当多的重复硬件。

现在所用的多处理器系统有两种类型。有的系统采用非对称处理(asymmetric multiprocessing),即每个处理器都有各自特定的任务。一个主处理器(boss processor)控制系统,其他处理器或者向主处理器要任务或做预先规定的任务。这种方案称为主从关系。主处理器调度从处理器,并安排工作。

最为常用的多处理器系统采用对称多处理(Symmetric Multiprocessing,SMP),每个处理器都参与完成操作系统的所有任务。SMP 表示所有处理器对等,处理器之间没有主从关系。图 1 显示了一个典型的 SMP 结构。注意,每个处理器都有自己的寄存器集,也有私有或本地缓存;不过,所有处理器都共享物理内存。


对称多处理的体系结构
图 1 对称多处理的体系结构

本文标题:操作系统的体系结构(单处理器、多处理器和集群)

本文地址:http://www.hosteonscn.com/3529.html

评论

0条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注