人们普遍认为,世界上第一台电子计算机诞生于 1946 年的美国宾夕法尼亚大学。此后,计算机历经了 5 个重要的发展阶段,依次是真空管时代、晶体管时代、集成电路时代、大规模集成电路时代和超大规模集成电路时代。
处于真空管时代的计算机,没有操作系统,也没有安装任何软件,只能利用机器指令控制计算机执行任务。
所谓机器指令,指的是仅由 0 和 1 组成的代码,例如 01101111 就是一个机器指令。
世界上首个操作系统诞生于晶体管时代,并且随着时间的推移,诞生了很多种操作系统,例如批处理操作系统、分时操作系统、分布式操作系统、网络操作系统、实时操作系统等。
1、批处理操作系统
批处理系统普遍应用于 20 世纪 70 年代,它最大的特点是能够分批次执行用户布置的多个任务。
受到当时价格因素的制约,计算机并不普及,一般仅存在于政府、大型机构或者公司内部。一台计算机往往由多个用户共同使用,但他们不能直接操作计算机,而是需要将执行的程序存储到打孔卡(一种存储设备)中,交给计算机管理员去操作。
为了提高工作效率,管理员会对所有任务进行分组,将功能类似的任务分到同一批次,然后逐一批次地交给计算机执行。对于同一批次的多个任务,批处理系统有 2 种执行方式:
- 按照排好的顺序逐一执行,全部处理完成后,再继续处理下一批次的任务。这样的系统称为单道批处理操作系统;
- 一次性读取多个任务,然后采用适当的算法将 CPU 等资源分配给这些任务。例如当一个任务执行输出操作时,系统会及时将 CPU 及时分配给其它任务。这样的系统称为多道批处理操作系统。
批处理系统的不足主要体现在以下两点:
- 用户无法直接和计算机交互,因此凡是需要手动输入数据才能成功执行的任务,计算机都无法正常执行;
- 同一批次中,无法根据实际情况及时调整任务的执行顺序。
2、分时操作系统
CPU 经常被形象地比作计算机的“大脑”,它负责管理所有的计算机资源,同时控制着计算机的执行。
分时操作系统支持多个用户同时使用一台计算机,它的工作原理是按照一定的时间间隔,将 CPU 的运行时间分成很多小的片段(称为“时间片”),然后轮流分配给每个用户使用。
也就是说在分时操作系统中,多个用户轮流使用 CPU 来执行自己的任务。对于在给定时间片内没有执行完的任务,分时系统会将它暂停,同时把 CPU 分配给下一个用户,待下一轮时间片分配给该用户时,暂停的任务会继续执行。
分时操作系统虽然将 CPU 轮流分配给多个用户,但并不会影响用户体验,因为计算机的运行速度很快,时间片轮转地也很快,每个用户都会感觉自己在独自使用计算机。
3、网络操作系统
网络操作系统实现了同一网络(通常是局域网或者内联网)内多台计算机之间的资源共享,包括数据、文件、硬件设备(如打印机)等。
网络操作系统不仅继承了先前操作系统具有的内存管理、文件管理、CPU 管理等这些基础功能,还可以为网络中的其他计算机提供服务,例如为其它计算机传递所需的应用程序或者数据、为其它计算机提供联网功能、维护网络安全等。此外,网络操作系统还支持远程访问,并且具有较高的稳定性和安全性。
基于以上这些特点,网络操作系统常常作为服务器的操作系统。例如 Windows Server 系列、NetWare、Unix、Linux 等,都属于网络操作系统。
4、分布式操作系统
分布式操作系统,即具备分布式处理能力的操作系统。
所谓分布式处理能力,是指借助网络,操作系统可以将不同地点、具备不同功能、拥有不同数据处理能力的计算机连接起来,统一管理、控制、分配这些计算机资源(比如 CPU)。
在分布式操作系统中,一个数据处理任务可以交由多个计算机执行,它们各自承担一部分执行任务。因此和其它类型的操作系统相比,分布式操作系统可以完成更大规模的数据处理任务。
分布式操作系统具有以下几个优点:
- 具备资源共享功能,计算机用户可以使用网络中其它计算机的可用资源;
- 和其它类型操作系统相比,处理相同的任务量,分布式操作系统的效率更高;
- 如果系统某一个设备发生故障,其它设备仍可以继续完成任务。
5、实时操作系统
实时操作系统最大的特点是能够及时对用户输入的指令做出响应。
实时操作系统是专为实时应用程序开发的,所谓实时应用程序,即这些应用程序必须在指定时间内对数据进行处理,否则可能会造成巨大的损失,或者即便执行完毕,由于超出了限定的时间,得到的结果也将没有用处。
例如在炼油厂中,如果油的温度过高并超过阈值,就必须及时进行处理。这种情况下,就可以使用实时操作系统。实时操作系统常用于控制科学仪器,比如作为导弹发射系统、交通灯控制系统、空中交通管制系统等。