计算机操作系统用来操作计算机硬件执行繁琐工作,而操作员不需要太多的了解硬件知识,即可通过操作系统轻松的操作计算机,对于程序员来说基于操作系统开发软件无论是时间承办还是财物成本,都要大大节省于硬件开发。那些复杂的硬件操作都交给操作系统来执行就好了。所以计算机操作系统的重要性是显而易见的。
计算机操作系统介于应用程序和计算机硬件之间,其本身就是一个软件,操作系统是由内核管理硬件资源,系统调用部分用来管理应用程序所提供的系统调用接口
计算机操作系统对于程序员来说有两个意义,第一层意义就是将各种繁琐复杂的接口打包封装的更精细更美观更简洁更清晰,程序员无需再深度学习复杂的硬件操作,只要开发应用程序即可;第二层意义就是,应用程序对硬件的多路复用。
多路复用,道指的是多个程序,多道技术的实现是为了解决多个程序竞争或者说共享同一个资源(比如cpu)的有序调度问题,解决方式即多路复用,多路复用分为时间上的复用和空间上的复用;
空间复用,将存储分为几个部分,每个部分放入一个程序
时间复用,当一个程序在等待I/O时,另一个程序可以使用cpu,如果内存中可以同时存放足够多的作业,则cpu的利用率可以接近100%,类似于我们小学数学所学的统筹方法。
第一代计算机(1940~1955):真空管和穿孔卡片
第二代计算机(1955~1965):晶体管和批处理系统
第三代计算机(1965~1980):集成电路芯片和多道程序设计
第四代计算机(1980~至今):个人计算机