计算机发展至今已经历了许多代的更新改进,并涌现出了许多计算机体系结构与操作系统的结构,普通人常用的大多是单处理器加多个微处理器的系统,其他特定的工作需要特定的系统结构。如今的操作系统几乎都是多道设计,很好的利用了CPU资源。
计算机系统体系结构
单处理器系统
大多数系统都是单处理器系统,除了这个主要的CPU之外,大部分还包含一些其他特定目的的微处理器。这些微处理器专门用来处理特定设备。主CPU能够运行一个通用指令集,包括来自用户进程的指令,而专用处理器只能运行一个受限的指令集,不能运行用户进程。主CPU管理专用处理器,将任务信息发给它们并监控它们的状态。
多处理器系统
多处理器系统(又称并行系统或者紧耦合系统),这些处理器共享系统资源。
多处理器系统主要有三个优点:
1.增加吞吐量:吞吐量指的是在一定时间内系统能够处理的任务的数量。使用多处理器系统能 够明显增加单位时间内处理任务的数量。值得注意的是,如果一个处理器的吞吐量为N,那么使用五个处理器的吞吐量将会小于5N,这是因为由于多个处理器同时使用系统资源而产生竞争,另外还有处理器之间的额外开销。
2.规模经济:使用多处理器能够使多个处理器共享同一系统资源(外设,存储和电源供给),从而降低成本。
3.增加可靠性:如果将不同任务分配到不同的处理器上,那么即使其中一个损坏,也不会导致系统崩溃,而只会使它变慢,不会停止运行。
多处理器系统主要有非对称多处理和对称多处理。
非对称对处理为主从式分布。由一个主处理器控制多个从处理器工作。这种方法的缺点是如果主处理器出现异常,那么系统会挂掉。
对称多处理(SMP)没有主从关系,各个处理器都是平行关系,每一个CPU都要运行所有的程序。这种处理器的好处是如果有N个CPU那么这台计算机就可以同时运行N个进程。但是由于处理器之间是完全分割,一个空闲一个过载的现象可能会发生。
对称多处理结构
操作系统结构
单机多道程序设计
对于单处理器而言,在一个时刻只能运行一条指令。然而我们却可以通过多道设计来实现宏观上的并发运行。多道程序设计最重要的就是调度算法。在一个进行从被创建到执行完毕经历两种主要的算法。第一种就是从后备队列加载到内存的作业调度。第二种就是将进程从内存加载到CPU中运行的低级调度。
两种调度对比
通过两种调度,一个进程可以从创建到退出,完整的运行在系统上。
多道处理的特点:多道;无序;调度。
多道处理的好处:
1.提升了CPU的利用率;
2.提高了主存和I/O设备的利用率;
3.提高系统吞吐量(throughout)
其他多道系统
分时系统
分时系统是一种联机的多用户交互式的操作系统,它将CPU的执行时间分为许多个时间片(Time.slice),对每一个用户分配时间片进行依次轮流运行,形成多道系统。分配到时间片的用户即可使用CPU及系统资源,造成独自一人使用主机的假象,实际上是许多终端共同使用同一主机。分时系统的特点是:多路性,交互性,及时性,独占性,可靠性。
实时系统
专用系统,有严格的时间限制。实时系统多用在工业,媒体,气象监测等比较专业的场景中。
实时系统分为硬实时和软实时。
硬实时是对时间非常严格的系统,只要系统启动,所有的资源就要全部加载到主存中,所以能够很快的调用资源,快速做出响应,比如对于火箭升空的响应必须控制在毫秒甚至微秒之间。
软实时对时间没有那么严格的限制,比如对于锻造温度的控制,即使延迟一秒也没有什么关系,但对于火箭响应要是延迟一秒,那火箭可就早跑偏了。
文中有错误之处,敬请指正。