一。操作系统原理
1、串行:
一个任务完完整整地运行完毕后,才能运行下一个任务
2、并发
看起来多个任务是同时运行的即可,单核也可以实现并发
3、并行:
真正意义上多个任务的同时运行,只有多核才实现并行
4、cpu的功能:
cpu是用来做计算,cpu是无法执行IO操作的,一旦遇到io操作,应该让cpu去执行别的任务
5、多道技术
1、空间上的复用=》多个进程共用一个内存条
2、时间上的复用-》多个进程复用同一个cpu的时间
空间上的复用:cpu遇到IO切换:可以提升效率
时间上的复用:一个进程占用cpu时间过长也会切走:为了实现并发效果不得已而为之,反而会降低程序的执行效率
6、操作系统的简介
1、为什么要有操作系统
程序员无法把所有的硬件操作细节了解到,管理这些硬件并且加以优化使用是
非常繁琐的工作,这个繁琐的工作就是操作系统做的,这样程序员就从这些繁琐的
工作中解脱出来,只需要考虑自己的应用软件的编写,应用软件直接使用操作
系统提供的功能来间接使用硬件
2、什么是操作系统
1,为用户和应用软件提供了简单清晰的系统调用接口,这样加快了程序的开发效率
2,将应用程序对硬件资源的竞争请求变得有序化
3、操作系统与普通软件的区别
1、操作系统由硬件保护,不能被用户更改,而应用程序可以
2、操作系统与用户程序的差异不在于二者所处地位,在于操作系统
是一个大型、复杂、长寿的软件
4,、操作系统发展史(电子时代开始)
1、第一代计算机(1940-1955):真空管和穿孔卡片
背景:想用机械取代人力
特点:没有操作系统概念
程序设计直接控制硬件
优点:程序员可以及时的调试程序
缺点:浪费计算机资源
注意:同一时间只有一个程序在内存运行。程序串行
2、第二代计算机(1955-1965):晶体管和批处理系统
背景:减少机时的浪费
特点:有不同人员分工操作大型机
有了操作系统概念
有了程序设计语言
优点:批处理,节省了机时
缺点:流程需人参与控制
计算过程任然串行
影响开发效率,不能及时调试程序
3、第三代计算机(1965-1980):集成电路芯片和多道程序设计
背景:厂商有两条不兼容的生产线
特点:可自动运行多个程序减去了人员参与控制
多道技术让cpu充分利用(空间复用,时间复用)
分时操作系统(后来的unix),多个联机终端加多道技术
4.第四代计算机(1980-至今):个人计算机
1、串行:
一个任务完完整整地运行完毕后,才能运行下一个任务
2、并发
看起来多个任务是同时运行的即可,单核也可以实现并发
3、并行:
真正意义上多个任务的同时运行,只有多核才实现并行
4、cpu的功能:
cpu是用来做计算,cpu是无法执行IO操作的,一旦遇到io操作,应该让cpu去执行别的任务
5、多道技术
1、空间上的复用=》多个进程共用一个内存条
2、时间上的复用-》多个进程复用同一个cpu的时间
空间上的复用:cpu遇到IO切换:可以提升效率
时间上的复用:一个进程占用cpu时间过长也会切走:为了实现并发效果不得已而为之,反而会降低程序的执行效率
6、操作系统的简介
1、为什么要有操作系统
程序员无法把所有的硬件操作细节了解到,管理这些硬件并且加以优化使用是
非常繁琐的工作,这个繁琐的工作就是操作系统做的,这样程序员就从这些繁琐的
工作中解脱出来,只需要考虑自己的应用软件的编写,应用软件直接使用操作
系统提供的功能来间接使用硬件
2、什么是操作系统
1,为用户和应用软件提供了简单清晰的系统调用接口,这样加快了程序的开发效率
2,将应用程序对硬件资源的竞争请求变得有序化
3、操作系统与普通软件的区别
1、操作系统由硬件保护,不能被用户更改,而应用程序可以
2、操作系统与用户程序的差异不在于二者所处地位,在于操作系统
是一个大型、复杂、长寿的软件
4,、操作系统发展史(电子时代开始)
1、第一代计算机(1940-1955):真空管和穿孔卡片
背景:想用机械取代人力
特点:没有操作系统概念
程序设计直接控制硬件
优点:程序员可以及时的调试程序
缺点:浪费计算机资源
注意:同一时间只有一个程序在内存运行。程序串行
2、第二代计算机(1955-1965):晶体管和批处理系统
背景:减少机时的浪费
特点:有不同人员分工操作大型机
有了操作系统概念
有了程序设计语言
优点:批处理,节省了机时
缺点:流程需人参与控制
计算过程任然串行
影响开发效率,不能及时调试程序
3、第三代计算机(1965-1980):集成电路芯片和多道程序设计
背景:厂商有两条不兼容的生产线
特点:可自动运行多个程序减去了人员参与控制
多道技术让cpu充分利用(空间复用,时间复用)
分时操作系统(后来的unix),多个联机终端加多道技术
4.第四代计算机(1980-至今):个人计算机