在正式开始这部分内容前,通过一张思维导图来直观的感受,操作系统的发展,以及操作系统的分类。

本节内容主要关注和理解各类操作系统想解决什么问题,以及各自的优缺点。
手工操作系统

从图上可以看到,由程序员通过纸袋上打孔进行编程 (有无孔表示1和0,组合的二进制序列是机器可以识别的信息),在这一过程中编程的效率低,计算机读取并输入数据的效率也很低,总之就是输入输出效率低,但是计算机计算的速度快。因此该阶段的操作系统存在很大缺点,我们进行了归纳:
(该内容并不讨论编程上的发展)
这个阶段的主要存在两个缺点:
一是:用户独占全机
程序员在自己的程序没有完全运行结束之前,是不允许第二个程序员和他同时使用计算机的
二是:人机速度矛盾导致资源利用率极低。
编程方式局限,人为输入数据,计算机的读取和输出数据都是非常费时间,计算机处理数据的速度却非常快,这就会导致资源利用率低,CPU大部分时间处于空闲。
批处理阶段
为了解决人机速度的矛盾,就进入批处理阶段。
单道批处理系统
采用脱机输入/输出技术 (外围机+磁带),由监督程序 进行作业的输入输出的控制。

可以看到这时的编程不再是一个人进行的了,程序员们将计算机要执行的指令全部输入到外围机,外围机有把程序提前存入磁带中,而计算机从磁带中读/写的数据的速度比从纸带机上更快。
虽然一定程度上缓解了人和机之间的矛盾,也提高了资源利用率,当其缺点也是比较明显的:内存仅能容一道程序运行,只有这一道程序运行完以后,才能允许下一道程序运行。CPU也是有大量的时间是空闲等待i/o完成的。
每一个步骤所花费的时间:

(红色所表示的就是CPU的使用时间,而在绿色和蓝色阶段,CPU是处于空闲的,这个图很好体现一个程序运行完以后,才开始下一个)
对于下一步效率的提升,想必应该有想法了吧!

也就是在运行第一道程序,指令处理时,进行下一道程序数据的输入;第一道程序数据输出时,进行第二道程序,指令处理,由此,同时干许多事,提高其效率。
多道批处理系统采用的就是这种方式:
多道程序并发 执行,共享资源。这使得资源利用率大大地提高。CPU和其他设备更能保存忙碌的状态,系统吞吐量增大。
但是依旧存在着缺点:用户响应的时间长,没有人机交互功能,就是用户提交作业以后,只能等待计算机处理完,中途不能控制自己作业的执行。
分时操作系统
为了解决人机交互问题,就发展出分时操作系统:
计算机以时间片 为基本单位轮流地为用户/作业服务 ,各个用户可以通过终端与计算机进行交互。
它的主要优点就是:用户的请求可以及时的被响应,解决了人机交互的问题。允许用户同时使用计算机,并且用户对计算机的操作相互独立,感受不到别人的存在。
同时它也存在缺点:不能优先处理一些紧急的任务。操作系统对每一个用户/作业都是公平的,循环地为每一个用户/作业提供服务一个时间片,不区分任务的紧急。
实时操作系统
为了解决不能优先处理一些紧急的任务这一问题,又发展出实时操作系统:
其优点就是优先响应一些紧急的任务,某些紧急任务不需要时间片的排队。
同时实时操作系统还具备及时性 和可靠性 这两个特点。
在实时操作系统的控制下,计算机在接收到外部信号以后会及时的处理,并且在严格的时间内处理完事件。
对于实时操作系统能否及时完成一些外部信号的处理,我们划分出两种实时操作系统。
一种是硬实时系统 ,一种是软实时系统。
前者要求必须在绝对严格的事件内完成处理,比如导弹控制系统,自动驾驶系统;
后者能够接收偶尔违反时间规定,比如火车订票系统。
其他的几种操作系统
网络操作系统:
是伴随着计算机网络发展而诞生的,能把网络中各个计算机有机的结合起来,实现数据传输等功能。实现网络中各种资源的共享(文件共享)和各台计算机之间的通信 。
(比如Windos NT就是一种典型的网络操作系统,网站服务器就可以使用)
分布式操作系统:
其主要特点就是分布性和并行性 。系统中各个计算机低位相同,任何工作都可以分布在这些计算机中,由它们并行、协同的完成任务。
个人计算机操作系统: Windos XP、MacOS,便于个人使用。
