qq浏览器打开word 技术原理_知道为什么计算机可以上网的同时,可以写word还可以听歌吗?...

现代计算机操作系统,都是多任务多并发的操作系统,因此可以同时打开多个应用程序,比如打开QQ的同时,可以打开浏览器看网页或者打开word。每一个应用程序,对操作系统来说就是一个进程或者说任务。操作系统管理着每一个进程,为进程分配内存空间,地址空间等资源,并且管理着进程的调度,当一个进程关闭时,会清除分配的资源。在操作系统内部,维护着一个进程列表。

可以打开任务管理器,查看系统中运行的任务列表,记录着当前启动的所有任务。

adbdc40edc636bee40ac3f905e30f717.png

多任务并发的实质

虽然说多个程序是同时运行的,但是CPU是有限的,比如在单CPU系统中,操作系统是如何保证多程序同时并发运行的呢?

一个程序的运行,都需要占有CPU,其他程序就必须停止运行。那怎么看起来其他程序也不受影响呢。就好比一个人同时转动多个陀螺,还需要保证每个陀螺不停止转动,你是不是会不停的轮流转动陀螺,才能保证所有的陀螺都不会停下来。

2d5a837fcdc7f7eae97198ef9b9f02d7.png

其实,计算机操作系统的原理也是如此,给每个程序分配一个时间片,CPU轮流去运行程序,运行时间片的时间到了,就停止运行,转而去运行其他程序,也是执行一个时间片的时间停止。如此反复。由于时间片分配的极小,每个程序下次很快就能轮到,因此,人眼根本感觉不到变化,所以给人的感觉就是所以程序同时运行的。其实质还是同时只有一个程序子在运行。

当有多个CPU时,才是事实上的同时能处理多个程序,所以运算的速度会更快。比如有4个CPU,还是按上面的原理,只是真的有4个程序被调用。

调度方法

当一个程序执行的时间片用完时,如何调用下一个程序来执行呢?

比如你转动一个陀螺运行后,怎么选择转动下一个陀螺呢,可能你有这么几种方法,按先后顺序,一个一个轮流来;还可以按那个快停下来了,就转动那个的原则来。其实这就是一种调度方法,就是怎么选择下一个运行的程序的方法。

先来先服务调度方法, 按照任务列表中的顺序,依次执行。就相当于日常中的排队。执行一个任务,直到这个任务执行完,才开始执行下一个任务,很显然,这种方式是独占式的,不适合多并发操作系统。

a31f8f5c128d8d24be735c8b1f80dd45.png

按优先级大小调度方法,按短进程优先级、高优先权优先级、高响应比优先级等给每个任务优先调度。

按时间片轮转调度方法,系统还是按照先来先服务调度就绪进程,但每次调度时,CPU都会为队首进程分配并执行一个时间片(几ms~百ms)。执行时间片用完后计时器即产生时钟中断,停止该进程并将它送到队尾,其他依次执行。这样保证系统能在给定的时间内执行所有用户进程的请求。

6cfad6540f1e2349e7fbbbbf3b3a38ef.png

多级反馈调度算法:前面都有局限性,综合-> 多级反馈调度算法则不必事先知道各进程所需的执行时间,而且还可以满足各类型进程的需要,因而它是目前被公认的一种较好的进程调度算法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值