操作系统--进程调度的有关问题

发表于:2013-9-02 10:00

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:左岸人生    来源:51Testing软件测试网采编

  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秒,

  在时间片轮转算法中,第二个程序可以很快被执行。但是值得注意的是,时间片该设置多大才合适?如果时间片设置的长度大于程序运行所花费的时间,则完全

  退化先来先服务调度算法。所以设置时间片的大小,值得商榷。

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号