9.处理机调度与死锁

一个批处理型的做业,从进入系统并驻留在外存的后备队列上开始,直至做业运行完毕,可能要经历的三级调度:算法

  • 高级调度

又称做业调度、长程调度、接纳调度性能

做用:把外存上处于后备队列中的做业调入内存,并为它们建立进程、分配资源、排在就绪队列上,准备执行。队列

分时系统、实时系统,一般不须要做业调度。进程

  • 中级调度

又称中程调度。事件

目的:提升内存利用率和系统吞吐率。内存

做用:使暂时不能运行的进程从内存调至外存,进入就绪驻外存状态或挂起状态。把外存上又具有运行条件的就绪进程,从新掉入内存,并修改成就绪状态,挂在就绪队列上。资源

又称对换。同步

  • 低级调度

也称为进程调度、短程调度。table

做用:决定就绪队列中的哪一个进程应得到处理机,而后由分派程序执行把处理机分配给该进程的具体操做。配置

在OS中都必须配置。

进程调度的两种调度方式

  • 非抢占方式
  • 抢占方式

非抢占方式

一旦处理机分配给某进程后,便让该进程一直执行,直至该进程完成或阻塞时,才把处理机分配给其余进程。

非抢占方式引发进程调度的因素

(1) 进程执行完毕,或因发生某种事件而不能继续执行;

(2)执行中的进程因提出I/O请求而暂停执行

(3)在进程通讯或同步过程当中执行类某种原语操做,如P操做(WAIT操做)、BLOCK原语、WAKEUP原语等。

抢占方式

容许暂停某个正在执行的进程,将已分配给该进程的处理机从新分配给另外一进程。

抢占原则

(1)优先权原则。优先权高的进程抢占处理机。

(2)短做业优先原则。短做业(进程)抢占当前较长做业(进程)的处理机。

(3)时间片原则。各进程按时间片运行,当一个时间片用完后从新调度。

调度队列模型

  • 仅有进程调度的调度队列模型
  • 有高级和低级调度的调度队列模型
  • 同时有三级调度的调度队列模型

仅有进程调度的调度队列模型

  • 一般,把就绪进程组织成FIFO队列,每当建立新进程时排在就绪队列的末尾,按时间片轮转方式进行。

进程在执行时,出现三种状况:

(1)任务在时间片内完成,进程便在释放处理机后进入完成状态。

(2)任务在时间片内未完成,OS便将该任务再放入就绪队列的末尾。

(3)在执行期间,进程由于某事件而被阻塞后,被OS放入阻塞队列。

有高级和低级调度的调度队列模型

高级调度是做业调度

与前一模型的差异:

(1)就绪队列的形式。批处理系统中最经常使用的是优先权队列。也可采用无序链表方式。

(2)设置多个阻塞队列。

有三级调度的调度队列模型

  • 调出时,可以使进程状态由内存就绪转变为外存就绪,由内存阻塞转变为外存阻塞。
  • 在中级调度使外存就绪转变为内存就绪。

选择调度方式和调度算法的准则

  • 面向用户的准则

(1)周转时间短

(2)响应时间快

(3)截止时间的保证

(4)优先权准则

  • 面向系统的准则

(1)系统吞吐量高

(2)处理机利用率好

(3)资源的平衡利用

周转时间

从做业被提交给系统开始,到做业完成为止的这段时间间隔称为做业周转时间。包括四部分时间:

  • 在外存后备队列上等待调度的时间
  • 进程在就绪队列上等待调度的时间
  • 进程在CPU上执行的时间
  • 进程等待i/O操做完成的时间

平均周转时间

对n个做业来说,n个做业的周转时间累加求和,除以n的结果就是平均周转时间。

带权周转时间

W= T / Ts

T:做业的周转时间

Ts:系统为它提供服务的时间(真正运行时间,就是占用处理机的时间)

平均带权周转时间

就是n个W求和并除以n

例子

有以下三道做业。系统为它们服务的顺序是:1,2,3.求平均周转时间和平均带权周转时间。

做业 提交时间/h 运行时间/h
1 10.00 2
2 10.10 1
3 10.25 0.25

解答:

做业 提交时间 运行时间 开始时间 完成时间 周转时间 带权周转时间
1 10.00 2 10 12 2 2/2
2 10.10 1 12 13 2.9 2.9 / 1
3 10.25 0.25 13 13.25 3 3 / 0.25

平均周转时间:(2+2.9+3)/3=2.63h

平均带权周转时间:(1+2.9+12)/3=5.3h

响应时间

响应时间是从用户经过键盘提交一个请求开始直至系统首次产生响应为止的时间间隔。它包括三部分时间:

  • 从键盘输入的请求信息传送处处理机的时间
  • 处理机对请求信息进行处理的时间
  • 将响应信息回送到终端显示器的时间

响应时间是分时系统中的重要原则。

截止时间是指某任务必须开始执行的最迟时间,或必须完成的最迟时间。

对于严格的实时系统,其调度方式和调度算法必须能保证这一点。

吞吐量

  • 吞吐量是指单位时间内系统所完成的做业数。
  • 评价批处理系统性能的重要指标。
  • 与做业的平均长度有关。对于大型做业,通常吞吐量约为每小时一道做业。对于中、小型做业,其吞吐量可达到数十道做业。
相关文章
相关标签/搜索