操作系统是大学计算机系里非常基础的一门课程,也同样是程序员的必备基础知识,它的重要性不言而喻。
废话不多说了,直接开始。
一、演进
第一阶段,是没有操作系统的阶段。
在这个阶段,计算机都是人工手动操作,并且操作的时候,每一个用户就会独占一台计算机。此时,计算机的cpu是等待人工进行操作的状态。
当用户进行输入,或者是计算机进行输出的时候,cpu和内存的资源都是空闲的。
所以,在这个NO OS的时代,计算机的资源(指CPU、内存等)利用率,是非常非常低的。
第二阶段,批处理系统的阶段。在这个阶段,计算机就无需再等待人工的输入了。此时,用户可以批量地导入任务,而计算机仍然可以正常地工作。在这个阶段,计算机的资源利用率就大幅提升了。
也就是在这个阶段,出现了一个影响后世操作系统的设计概念,叫做:多道程序设计。
第三阶段,进入分时系统的阶段。这个阶段最重要的一个设计就是人机交互。前两个阶段,无论是无操作系统阶段还是批处理系统阶段,程序在运行的时候,人工是没有办法去干预的。而分时操作系统中,人机就可以进行额外的交互了,并且我们可以实时调试这个程序。另外,分时系统允许多个用户同时共享这个计算机的资源。所以说,这个阶段计算机的资源利用率被大幅度地提升了。
其实这也类似于软件迭代,第一阶段,单线程应用,只用每次操作调用一次增删改查就可以了;后来发现不行,多个增删改查不能同时进行,太慢了,于是前端加了多选框,后端批量插入批量删除走起来;后来发现还是不行,得上传图片、音视频等文件,而且上传的同时系统还能干别的事情,还要支持多用户,于是搞起了多线程、高并发…
二、多道程序设计
在早期的批处理系统中,其实每次只能处理一个任务,虽然说在批处理系统里面,我们可以进行批量的输入,但是计算机在某一时刻,他只能运行一个任务。**因为多道程序设计的诞生,使得批处理系统可以一次处理多个任务。**也就是说,任务是批量输入的,计算机也是可以批量处理的(当然单一任务也不在话下)。
所以说,多道程序设计的出现,使得计算机的效率大幅提升。
什么是多道程序设计?
多道程序设计,指计算机内存里面可以同时存放多个程序,并且这里面的多个程序相互之间是不会干扰的。它们在计算机的管理程序之下,可以相互穿插运行,以此来提升这个计算机资源的利用率。
因此对于多道程序的管理,是操作系统的重要功能。
其实,操作系统对多道程序的管理以及资源的管理,就囊括了操作系统的主要内容。
一般分为五大管理功能:
- 进程管理
- 存储管理
- 作业管理
- 文件管理
- 设备管理
三、总结
操作系统的历史和演进其实主要就这么点东西,大家了解一个大概就行了,主要了解一下操作系统的三个阶段和多道程序设计。
无他。