操作系统是一个协调、管理和控制计算机资源和软件资源的控制程序。

操作系统分为系统调用和内核。单纯说操作系统是工作于内核态,是不准确的。

操作系统的功能:
1.隐藏硬件调用接口,为应用程序员提供调用硬件资源更简单良好的模型(系统调用接口)。
2.将应用程序对硬件资源的竞态请求变得有序化。

操作系统和普通软件的区别:
1.操作系统由硬件保护,不能被用户修改。
2.大型,复杂,长寿。


操作系统的发展

第一代计算机是真空管和穿孔卡片,没有操作系统的概念,程序员可以随时对程序进行调试,但是却造成了计算机资源的浪费。

第二代计算机是晶体管和批处理系统,操作人员有了明确分工,采取批处理的方式,充分利用了计算机资源,但无法随时进行调试。

第三代计算机是集成电路芯片和多道程序设计,多道技术的实现是为了解决多个程序竞争或者说共享同一个资源(比如cpu)的有序调度问题,解决方式即多路复用,多路复用分为时间上的复用和空间上的复用。

多道技术,宏观上并行,微观上串行。

空间上的复用:将内存分为几部分,每个部分放入一个程序,这样,同一时间内存中就有了多道程序。必须实现硬件层面的隔离。

时间上的复用:当一个程序在等待I/O时,另一个程序可以使用cpu,如果内存中可以同时存放足够多的作业,则cpu的利用率可以接近100%。

分时操作系统是使一台计算机采用时间片轮转的方式同时为几个、几十个甚至几百个用户服务的一种操作系统。即多个联机终端+多道技术。