一 操作系统的概念
计算机是什么?
计算机是一堆硬件,谁来管理这些硬件呢?操作系统
应用程序(qq,360)是面对用户的,操作系统给这些应用程序提供操作的接口
所以操作系统起到了承上启下的作用。
那么如果没有操作系统计算机可以工作吗,答案是可以,用手工操作。
第一代计算机都是万能程序员进行手工操作的,如存储数据到磁盘,硬件直接的相互通信交流操作,以及具体的一些时间细节。如果都是程序员自己写是十分不现实的。如登录qq需把操作系统底层的实现都完成,那就是开发了。所以操作系统的出现解放了程序员。只需要一个像管家一样的东西把这些东西管理起来就行了。对上给程序员提供一个借口,拿来用就行了,就像socket的udp,tcp一样,tcp,udp协议是很复杂的。但对上给我们的就是socket接口。创建socket对象就可以实现了。操作系统也是这个意思,内部的细节不需要我们管了,统统交给操作系统
操作系统的概念:
操作系统是一个用来协调,管理,控制计算机硬件和软件资源的系统程序。它位于硬件和应用程序之间。
二 操作系统的历史
第一代计算机 |
操作是物理层面的:
用穿孔卡片把0101二进制传给计算机来进行计算。此时没有操作系统,所有的操作做的事情都是人来做的。
缺点:用户不能并发,要一个一个来,不能一起处理数据。而且输入输出都人来做,而这段时间cpu处于空闲状态。
优点:处理时都是一个人的。这份数据如果需要十分钟处理好,就是十分钟,没有时间片等。
第二代计算机 |
批处理系统
前面都是物理层面的,从现在开始都叫系统了。但是批处理系统不是操作系统,而是一个实现的系统。
为什么叫批处理呢?因为第二代总是基于前一代的缺陷来改进他,而第一代的问题是浪费cpu,浪费的时间都是人机交互浪费的。程序员把纸带,卡片放入输入机,输入机读取数据,拿结果再放入计算机,再拿到结果放入输出机打印都需要时间,每次都有人工参与。为了解决这个问题。把ABC要做的事情列一个清单统一进行处理,流程相当于提高了三倍。把人机交互的时间消除了
优点:提高cpu利用率
缺点:
1,如果A存在阻塞,cpu不工作,不能走B和C,可以先走B和C,再回来执行A。较之前的串行效率提高了,这个就是多道程序。
2,还是存在人工交互,虽然把3次打包为1次,但人工交互也是一种浪费。
第三代计算机 |
开发出多道程序设计
实现进程的切换
虽然在现在计算机操作系统没有这个了,但是遇到io进行切换的思想,用户与用户的切换,是现代操作系统的基础。
通过这两个技术,cpu效率大大提高
缺点:第一代计算机虽然问题多多,但不用和别人共享内存,计算机只做我一个人的事情。第二代和第三代本质上还是批处理操作系统。如A程序有个标点符号错误,BC程序执行完需要20分钟,我要等20分钟后才能拿到结果。所以很多人认为第一代计算机会更好。于是就有了分时操作系统。
联机操作:
一人一台显示器,一人一台键盘,都连到我这电脑上来,三个人共同用一套cpu和操作系统。但是终端各自有一个。再加上多道程序设计。没有主次和分级,轮流运行用户程序。这就是分时操作系统。如现在很多人同时使用一个服务器。
第四代计算机 |