整理操作系统
为何要有操作系统:
程序员无法把所有的硬件操作细节都了解到,繁琐的工作就是操作系统来干的
操作系统的位置:
操作系统位于计算机硬件与应用软件之间,本质也是一个软件。操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及
系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成
操作系统的功能:
1:为程序员提供更简单,功能更清晰的硬件访问接口,有了简单的接口就可以方便的开发应用程序
2:将多个程序对硬件资源的竞争变得有序化
操作系统的发展:
第一代计算机(1940~1955):真空管和穿孔卡片
特点:没有操作系统的概念
所有的程序设计都是直接操控硬件
优点:程序员在申请的时间段内独享整个资源,可以即时地调试自己的程序(有bug可以立刻处理)
缺点:浪费计算机资源,一个时间段内只有一个人用。
第二代计算机(1955~1965):晶体管和批处理系统
特点:有了操作系统的概念
第二代如何解决第一代的问题/缺点:
1.把一堆人的输入攒成一大波输入
2.然后顺序计算(这是有问题的,但是第二代计算也没有解决)
3.把一堆人的输出攒成一大波输出
现代操作系统的前身:
优点:批处理,节省了机时
缺点:
1.整个流程需要人参与控制,将磁带搬来搬去(中间俩小人)
2.计算的过程仍然是顺序计算-》串行
3.程序员原来独享一段时间的计算机,现在必须被统一规划到一批作业中,等待结果和重新调试的过程都需要等同批次的其他程序都运作完才可以
(这极大的影响了程序的开发效率,无法及时调试程序)
第三代计算机(1965~1980):集成电路芯片和多道程序设计
如何解决第二代计算机的问题1:
卡片被拿到机房后能够很快的将作业从卡片读入磁盘,于是任何时刻当一个作业结束时,操作系统就能将一个作业从磁带读出,装进空出来的内存区域运行,这种技术叫做
同时的外部设备联机操作:SPOOLING,该技术同时用于输出。当采用了这种技术后,就不在需要IBM1401机了,也不必将磁带搬来搬去了(中间俩小人不再需要)
如何解决第二代计算机的问题2:
第三代计算机的操作系统广泛应用了第二代计算机的操作系统没有的关键技术:多道技术(见本章后)
第四代计算机(1980~至今):个人计算机
多道技术:
空间上复用:内存中进入多个程序 (内存实现物理上隔离)
时间上复用:CPU切换条件 1:一个程序占用CPU时间长
2:一个程序I/O阻塞