操作系统--进程调度的有关问题
作者:网络转载 发布时间:[ 2013/9/2 10:33:41 ] 推荐标签:
1,进程调度追求的目标是什么?
CPU的调度是要达到极小化平均响应时间、极大化系统吞吐率、保持系统各个功能部件均处于繁忙状态和提供某种貌似公平的机制。
①:极小化平均响应时间:是极小化用户发出的指令和看到结果之间所花费的时间,即减少平均等待的时间,这和系统、硬件的质量有关。
②:极大化系统吞吐率:是在单位时间内,尽可能多的完成程序的计算。即整个系统的运行效率。
③:保持系统各个功能部件均处于繁忙状态:因为计算机的资源是极其昂贵的,所以要尽可能的使各个部件处于工作状态。
2,程序使用CPU的模式有哪几种?各自有什么样的特点?
①:CPU导向(CPU-bound)或者计算机密集型程序
特点是长计算,短输入。这种程序使用CPU的时间大大多于用在输入输出上的时间,者计算机密集型程序通常使用在科学计算方面,高精度计算。
②:I/O导向(I/O-bound)或者输入输出密集型程序
与CPU导向相反,这种程序大部分的时间都使用在输入和输出上,I/O操作后,即进行短暂的执行操作,比如PPT,还有游戏等。
③:平衡型程序
特点是I/O的操作时间和CPU所使用的时间相对平衡,既有长时间的执行,又有长时间的输入输出,比如常见的网页浏览等。
3,简要的说明几种调度算法(调度策略)?
①:先来先服务调度算法
这是一个非常公平但不是优化的算法,非抢占式原则,即一个程序一旦启动,要一直运行到结束,如果运行期间一旦被其他程序抢占,则破坏其原则。
但其缺点,可想而知,其后程序等待时间过长。例如:如果使用先来先服务调度算法,第一个程序运行时间是100秒,第二个程序运行时间1秒,
则,第二个程序需要等待100秒后执行,这样算来,平均运行时间是100.5秒,如果使用抢占式,第二个程序先运行,等待一秒后,第一个程序执行,
则平均运行时间是50.5秒。显然先来先服务调度算法不是好优的算法。
②:时间片轮转算法
时间片轮转算法是对先来先服务调度算法的一个改进,但也不是优的算法,例如,每1秒进行进程的调换执行,第一个程序运行时间100秒,第二个程序运行1秒,
在时间片轮转算法中,第二个程序可以很快被执行。但是值得注意的是,时间片该设置多大才合适?如果时间片设置的长度大于程序运行所花费的时间,则完全
退化先来先服务调度算法。所以设置时间片的大小,值得商榷。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11