操作系统的发展与分类
2021/6/17 19:01:16
本文主要是介绍操作系统的发展与分类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 操作系统的发展与分类
- 手工操作阶段
- 单道批处理系统
- 多道批处理系统
- 分时操作系统
- 实时操作系统
操作系统的发展与分类
先对要讲的各个阶段有个大体的认识,要注意各自的优点以及不足,上一个阶段的不足一定是下一个阶段发展的动力。
手工操作阶段
在这个阶段,程序员需要先把一个带有孔的纸带手工的放到输入输出设备当中,纸带上的孔代表的是二进制的输入文件,然后计算机的主机会通过纸带上的输入信息进行计算,计算完毕之后,通过在纸带上打孔的形式进行输出,所以这个阶段有个问题,就是CPU利用不充分,因为CPU要等人工装入纸带之后才可以处理程序,而人工装纸带和取纸带速度很慢,但是计算机CPU的计算速度却是非常快的,因此CPU大部分时间都在等待用户操作,这里存在一个人机速度矛盾的问题。
单道批处理系统
为了解决上面的手工操作阶段的人机速度矛盾的问题,引入了单道批处理系统。引入了脱机输入/输出技术(用磁带完成),并监督程序负责控制作业的输入、输出。单道批处理仍然会用到打孔纸带,但是单道批处理系统在中间引入了磁带,什么意思呢?就是单道批处理系统,会雇佣很多工人,这些工人只负责往输入输出设备上放打孔纸带和取打孔纸带,放入的打孔纸带中的输入信息会被读取到磁带中,但是很多个人一起放打孔纸带这个是不是相比于一个人放打孔纸带速度要快啊!而磁带中的数据会被计算机直接读取,但磁带的读/写速度比纸带机要快很多,流程图如下图:
单道批处理系统每次只能处理一个程序,即便前一个程序的输入已经完成,此时输入设备已经空闲,那也不能接收后一个程序的输入,必须要等到前一个程序的结果全部输出之后,才能对后一个程序进行输入操作,如下图:
单道批处理系统的主要优点:缓解了一定程度的人机速度矛盾,资源利用率有所提升。
单道批处理系统的主要缺点:内存中仅能有一道程序运行,只有该程序运行结束之后才能调入下一道程序。CPU有大量的时间依然是在空闲等待I/O完成。CPU利用率依然很低。
多道批处理系统
为了解决单道批处理系统的缺点,就是CPU的利用率依然很低,又发明了多道批处理系统,多道批处理系统计算机一次可以读取多个程序,计算机可以并发的处理程序,如下图:
多道批处理系统的主要优点:多道程序并发执行,共享计算机资源。资源利用率大幅度提升,CPU和其它资源保持"忙碌"状态,系统吞吐量增大。
多道批处理系统的主要缺点:用户响应时间长,用户只能等着程序执行完成什么都不能干,没有人机交互功能(用户提交自己的作业之后就只能等待计算机处理完成,中间不能控制自己的作业执行)
为什么说多道批处理息系统能使CPU利用率大幅度提升?
如上图,假设是单道批处理系统,那么一次只能有一个程序执行,同一时刻,无论是输入、计算还是输出,都只能有一个,即便你的第一个程序的输入设备已经空闲了,它也不能处理其它程序的输入,所以本来CPU是可以处理输入的,但这段时间不能输入,所以CPU的利用率比较低;但是多道批处理系统就不一样了,如果前一个程序的输入设备已经空闲了,前一个程序现在正在计算,那么后一个程序可以在前一个程序计算的同时进行输入操作,相当于前一个程序的计算和后一个程序的输入可以并行执行,这样就会大大提高CPU的利用率。
分时操作系统
分时操作系统:计算机以时间片为单位轮流为各个用户/作业服务,各个用户可通过终端与计算机进行交互。注意分时操作系统与多道批处理系统是不一样的,第一多道批处理系统中没有分时机制,它只有在上一个程序的输入I/O操作结束的时候,才会让处理下一个程序的I/O输入操作;但是分时操作系统不同,分时操作系统会公平公正的为每一个程序分配一个时间段,每个时间段内执行不同的程序,即便上一个程序的输入没有结束,只要分片的时间到了,分时操作系统都会处理下一个程序的输入操作。第二多道批处理系统是没有人机交互功能的,但是分时操作系统存在人机交互功能。
主要优点:用户请求可以被即时响应,解决了人机交互问题。宏观上感觉多个程序是并行执行的,感觉每个程序都用了一个CPU。
主要缺点:不能优先处理一些紧急任务。操作系统对各个用户/作业都是完全公平的,循环地为每个用户/作业服务一个时间片,不区分任务的紧急性。
实时操作系统
实时操作系统的主要优点:能够优先响应一些紧急任务,某些紧急任务不需时间片排队。
在实时操作系统的控制下,计算机系统接收到外部紧急信号后会及时先对这些信号进行处理,并且要在严格的时限内处理完事件。实时操作系统的主要特点是及时性和可靠性。
实时操作系统分为硬实时系统和软实时系统,硬实时系统必须在绝对严格的规定时间内完成处理,比如导弹控制系统和自动驾驶系统,而软实时系统能接受偶尔违反时间规定,如12306火车订票系统。
这篇关于操作系统的发展与分类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南