操作系统的发展史

为什么要有操作系统

现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输入输出设备组成。

一般而言,现代计算机系统是一个复杂的系统。

其一:如果每位应用程序员都必须掌握该系统所有的细节,那就不可能再编写代码了(严重影响了程序员的开发效率:全部掌握这些细节可能需要一万年…)

其二:并且管理这些部件并加以优化使用,是一件极富挑战性的工作,于是,计算安装了一层软件(系统软件),称为操作系统。它的任务就是为用户程序提供一个更好、更简单、更清晰的计算机模型,并管理刚才提到的所有设备。

总结:

程序员无法把所有的硬件操作细节都了解到,管理这些硬件并且加以优化使用是非常繁琐的工作,这个繁琐的工作就是操作系统来干的,有了他,程序员就从这些繁琐的工作中解脱了出来,只需要考虑自己的应用软件的编写就可以了,应用软件直接使用操作系统提供的功能来间接使用硬件。

什么是操作系统

操作系统就是一个协调、管理和控制计算机硬件资源和软件资源的控制程序。
操作系统位于计算机硬件与应用软件之间,本质也是一个软件。操作系统由操作系统的内核(运行于内核态,管理硬件资源)以及系统调用(运行于用户态,为应用程序员写的应用程序提供系统调用接口)两部分组成,所以,单纯的说操作系统是运行于内核态的,是不准确的。

操作系统发展史

第一代计算机

特点:
没有操作系统的概念
所有的程序设计都是直接操控硬件

工作过程:
程序员在墙上的机时表预约一段时间,然后程序员拿着他的插件版到机房里,将自己的插件板街道计算机里,这几个小时内他独享整个计算机资源,后面的一批人都得等着(两万多个真空管经常会有被烧坏的情况出现)。

后来出现了穿孔卡片,可以将程序写在卡片上,然后读入机而不用插件板。

优点:

程序员在申请的时间段内独享整个资源,可以即时地调试自己的程序(有bug可以立刻处理)。

缺点:

浪费计算机资源,一个时间段内只有一个人用。
注意:同一时刻只有一个程序在内存中,被cpu调用执行,比方说10个程序的执行,是串行的。

第二代计算机

批处理系统:一次只把一个程序读取到内存,执行完毕后,再执行下一个程序,称为串行。
优点:
充分利用了计算机资源
缺点:
1、整个过程是需要人参与的
2、让程序员明显地感觉到等待
3、程序的运行是串行

第三代计算机

串行:多个任务是一个运行完毕再运行下一个
并发:多个任务看起来是同时运行的

多道技术=》并发
1、空间上的复用:多道程序在运行前先必须加载到内存中
2、时间上的复用:多个任务复用cpu的时间片,通俗地讲就是cpu在多个程序之间来回切换
什么时候切换呢?
I:当一个任务遇到IO,肯定要切换-》提升效率
II:一个任务没有遇到IO但是占用CPU时间过长,也要切换=》降低效率

ps:多个进程的内存空间是互相隔离的,而且是物理隔离

分时操作系统CTTS:多用户多任务
应用多道技术来实现多个任务的并发的运行

进程与线程

4、进程与线程
进程-》资源单位
线程->执行单位

任务运行的三种状态

任务运行的三种状态:运行态,就绪态,阻塞态
非阻塞态(就绪态、运行态)
阻塞态
操作系统认为任务占用时间过长,或者有优先级更高的任务抢走了cpu权限就会让任务进入就绪态,直到操作系统重新分配给该任务cpu权限再进入到运行态
如任务遇到IO操作,就会进入到阻塞态,直到IO操作执行完毕,就会进入到就绪态,等待操作系统分配给该任务cpu执行权限,再次进入到运行态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值