操作系统笔记3-导论(三)
3.计算机系统的体系结构
计算机系统可能通过许多不同的途径来组成,这里根据采用的通用处理器数量来粗略分类。
3.1 单处理器系统
单处理器系统只有一个主CPU,以便执行一个通用指令集,该指令集包括执行用户系统的执行。基本上,所有单处理器系统都带有其他专用处理器。比如:磁盘、键盘、图形控制器、IO处理器等。
这些专用处理器只执行有限的指令集,而且只由操作系统管理控制,并不执行用户进程。操作系统负责管理监控它们的状态,并且将相应的任务分发给它们执行。
3.2 多处理器系统
多处理器系统(或者叫并行系统、多核系统)有两个或两个以上紧密通信的CPU,它们共享计算机总线,甚至是共享时钟、内存和外设等。
多处理器系统的优点:
- 增加吞吐量,增加处理器的数量,可以在短时间内完成更多工作。需要注意的是:N处理器的加速比不是N,而是小于N。因为多个CPU协同完成工作需要一定的开销,再加上额外的竞争资源,导致花费更多的时间。
- 规模效应,多处理器系统的价格要低于相同功能的多个单处理器系统,因为多处理器系统中可以共享外设、外存和电源等。
- 增加可靠性,若系统功能分散在多个处理器上,则单个处理器的故障不会使整个系统停机,而是变慢。
对于很多应用程序而言,可靠性是极其重要的。根据剩余有效硬件的级别按比例继续体统服务的能力成为适度退化。
现在使用的多处理器系统有两种类型。一种是非对称处理(asymmetric multiprocessing),即有一个主处理器负责控制系统调度其他处理器,其他处理器都有各自特定的任务。另一种是对称处理(Symmetric MultiProcessing, SMP),每个处理器都参与完成操作系统的所有任务。SMP中所有处理器都是对等的,处理器之间没有主从关系。
tips:在linux系统下查看处理器系统类型,打开终端执行以下命令
uname -v
结果如下所示:SMP即代表对称多处理。
smp
另外,集成多个计算核到单个芯片的多处理器系统为多核系统。多核系统比多个单核更高效,因为单个芯片内的通信比多个芯片通信更快。
另外,刀片服务器(blade server)将多处理器板、I/O板和网络板全部置于同一机箱内。它和传统的多处理器系统的不同在于:每个刀片处理器可以独立启动,并且运行各自的操作系统。有些刀片服务器板也是多处理器的,这就模糊了计算机类型的划分。但是,本质上,它们是由多个独立的多处理器系统组成。
3.3 集群系统
另一类型的多处理器系统是集群系统(clustered system),这种系统将多个CPU组合在一起。集群系统与多处理器系统不同,集群系统由两个或多个独立系统组成。每个独立的系统可以是单处理器系统或者多核系统。比较公认的集群系统定义是,集群计算机共享存储,并且采用LAN连接或更快的内部连接。
集群通常用于提供高可用性的服务,这意味着即使集群中的若干个系统出错,仍可继续提供服务。