目录
- 前言
- 一、手工操作阶段
- 1.1 人工操作方式
- 1.2 脱机输入/输出方式
- 二、批处理阶段
- 2.1 单道批处理系统
- 2.2 多道批处理系统
- 三、分时操作系统
- 四、实时操作系统
- 五、微机操作系统的发展
- 六、总结
前言
从第一台计算机诞生至今已过去70多年了,在这期间,计算机以惊人的速度发展着,首先是晶体管取代了电子管,继而是微电子技术的发展,使得计算机处理器和存贮器上的元件越做越小,数量越来越多,计算机的运算速度和存贮容量迅速增加。
操作系统主要分为了5个大的阶段发展:
一、手工操作阶段
1.1 人工操作方式
最初的时候计算机所有的操作都需要人工进行干预的,输入和输出都需要通过外围机(就是在纸带上打孔的设备),使用者通过外围机将指令打给cpu进行处理,然后cpu再将结果通过外围机打印出来返回给使用者。
缺点:
- 用户独占全机:(用户指得就是程序)一台计算机得全部资源由上机用户所独占。
- CPU等待人工操作:要知道虽然计算机运算很快,但是输入输出慢,以至于根本无法施展出来。
1.2 脱机输入/输出方式
所谓的脱机就是将指令存储通过外围机存储到一个磁带上,再由磁带将指令输入给计算机。
- 解决了人机矛盾: 说白了就是解耦。
- 通过磁带的方式可以提升IO的速度。
- 减少了CPU的空闲时间:IO速度提升了CPU自然空闲时间就缩短了。
缺点:一次只能执行一个程序
二、批处理阶段
所谓批处理(batch processing )就是将作业按照它们的性质分组(或分批),然后再成组(或成批)地提交给计算机系统,由计算机自动完成后再输出结果,从而减少作业建立和结束过程中的时间浪费。
2.1 单道批处理系统
这里就是在脱机的基础上添加了监督程序,首先由监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业;当该作业处理完成时,又把控制权交还给监督程序,再由监督程序把磁带上的第二个作业调入内存。计算机系统就这样自动地一个作业紧接一个作业地进行处理,直至磁带上的所有作业全部完成,这样便形成了早期的批处理系统。虽然系统对作业的处理是成批进行的,但在内存中始终只保持一道作业,故称为单道批处理系统
。
缺点:
- 内存中只有一道程序:虽然添加了监督程序让任务具备了自动性和顺序性,但是仍然改变不了内存中只能运行一道程序。
- CPU需要等待I/O完成:每次计算机运算完都需要将结果完全输出出去之后才可以开始新的计算。
那时候的操作系统你可以把它想想成就是一个物质,比如说算盘,用的时候只能一个人用,你想要用的话,你必须等用的人用完,用完之后你还得等人家把运算的结果记起来,并且将它归0,你才能用。
2.2 多道批处理系统
系统内同时容纳多个作业。这些作业放在外存中,组成一个后备队列,由操作系统按一定的调度原则每次从后备作业队列中选取一个或多个作业进入内存运行,运行作业结束、退出运行和后备作业进入运行均由系统自动实现,从而在系统中形成一个自动转接的、连续的作业流。
- 过程:和单道批处理系统差不多,只不过是可以向计算机内存中调入多道程序,让他们在计算机内存中并发运行。
- 主要优点:多道程序并发运行,共享计算机资源,资源利用率大幅提升,CPU和其他资源保存"忙碌"状态的时间增长。
- 主要缺点:用户响应时间长,没有人机交互功能(用户提交自己的作业之后只能等待计算机处理完成,中间不能控制自己作业的执行)
这里举个例子说说:为什么多道批处理系统能使资源利用率大幅提升呢?
假如现在有三个作业其流程如下图: 无需等待IO,运行结果存储在内存当中让他慢慢输出结果,但是并不影响立马开始下一次计算。
三、分时操作系统
计算机以时间片为单位轮流为各个用户/作业服务,各个用户可通过终端与计算机进行交互。(时间片就是一个很短的时间,比如50ms)
宏观上电脑一下子同时运行了很多项目,微观上其实这些软件并不是并行的。
- 主要优点:用户请求可以被即时响应,解决了人机交互问题,允许多个用户使用一台电脑,并且用户对计算机的操作相互独立,感受不到别人的存在。
- 主要缺点:不能优先处理一些紧急任务,操作系统对各个用户/作业都是完全公平的,循环地为每一个用户/作业服务一个时间片,不区分任务的紧急性(有时候我们需要某个作业被马上执行,比如导弹发射,如果不能实时操作,必将产生灾难性的后果)
四、实时操作系统
为了解决分时操作系统不区分任务的紧急性的问题,实时操作系统诞生了。在实时操作系统的控制下,计算机系统接收到外部信号后能及时进行处理,并且要在严格的时限内处理完事件, 实时操作系统的主要特点是及时性和可靠性。
- 主要优点: 能优先响应一些紧急任务,某些紧急任务不需要时间片排队。
当然,实时操作系统也分为2类:
- 硬实时系统(必须在绝对严格的规定时间内完成处理,如导弹控制系统、自动驾驶系统)
- 软实时系统(能偶尔违反时间规定,如12306火车订票系统,有时候票的余量是不准确的,但是也不妨碍系统的正常运行)
五、微机操作系统的发展
- 个人操作系统: 如 Windows XP,windows 7,10,macOS,方便个人使用。
- 网络操作系统:网络操作系统伴随着计算机网络的发展而诞生,能把网络中的各个计算机有机地结合起来,实现数据传输等功能,实现网络中各种资源的共享(如文件共享)以及各台计算机之间的通信。
- 分布式操作系统: 主要特点是分布性和并行性,系统之中的各台计算机地位相同,任何工作都可以分布在这些计算机上,他们并行、协同完成这个任务。
六、总结
参考:《马士兵操作系统讲解》https://www.bilibili.com/video/BV1Ha411e7D4/