第一阶段:状态机操作系统(1940年以前)
所谓状态机操作系统实际上算不上我们现在通常所定义的操作系统,而是一种简单的状态转换程序:根据输入和现在的特定状态进行状态转换而已。能做的计算只限于加减法。这个时代的操作系统没有什么功能,不支持交互命令输入,也不支持自动程序设计,甚至这个时候没有存储程序的概念。
第二阶段:单一操作员单一控制端操作系统(20世纪40年代)
SOSC操作系统的设计目的是满足基本功能,并提供人机交互。这种操作系统下,任何时候只能做一件事,即不支持并发和多道程序运行。操作系统本身是一组标准库函数而已。操作系统本身并不自我运行,而是等待操作员输入命令再运行。用户想要什么服务,就直接在命令行键入代表服务的对应操作系统库的函数名(文件名)即可。这种操作系统的资源利用率很低:用户输入一个命令就执行一个函数,拔动一下就动一下。当操作员在思考时或进行输入输出时,计算机则安静的等待。
第三阶段:批处理操作系统(20世纪50年代)
为了提高SOSC的效率,人们提出了批处理操作系统。在仔细观察SOSC后,人们发现,SOSC之所以低下,是因为计算机总是等待人的下一个动作,而人的动作总是很慢。因此,人们觉得,如果去掉等待人的时间,即让所有的人想好自已要运行的命令,列成一个清单,打印在纸带上,然后交给一个工作人员来一批一批的处理。
批处理操作系统是通过减少人机交互的时间从而达到CPU和输入输出利用率的改善。其过程如下:
- 用户将自已的程序编在卡片或纸带上,交给计算机管理员处理。
- 管理员在收到一定数量的用户程序后,将卡片和纸带上的程序和数据通过IBM 1401机器读入并写到磁带上。这样通常会含有多个用户的程序。
- 计算机操作员将这盘磁带加载到IBM 7094上,一个一个运行用户的程序,运行的结果写到另一个磁盘上。
- 所有的用户程序运行结束后,将存有结果的磁盘取下来,连到IBM 1401机器打印结果,然后就可以打印结果交给各个用户了。