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

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

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