DJ3-1 处理机调度的层次和调度算法的目标

目录

3.1.1  处理机调度的层次

1. 高级调度

2. 中级调度

3. 低级调度

3.1.2   处理机调度算法的目标及准则

1. 面向用户的准则

2.面向系统的准则


3.1.1  处理机调度的层次

1. 高级调度

高级调度又称为长程调度或作业调度,它的调度对象是作业。

  1. 决定将外存上处于后备队列中的哪几个作业调入内存
  2. 为它们创建进程、分配必要的资源
  3. 将新创建的进程放入就绪队列

高级调度需要考虑的两个问题

Q:选择多少个作业进入内存,为之创建进程?

A:取决于多道程序的度,即允许同时在内存中运行的进程数。

Q:选择哪些作业?

A:取决于高级调度算法。

2. 中级调度

中级调度又称为中程调度或内存调度。引入中级调度的主要目的是,提高内存利用率和系统吞吐量。具体功能如下:

  1. 把那些暂时不能运行的进程调至外存等待,即挂起状态
  2. 当它们已具备运行条件且内存又稍有空闲时,由中级调度来决定把它们重新调入内存

注意:只有支持进程挂起的操作系统才具有中程调度功能。

3. 低级调度

低级调度又称为短程调度或进程调度。

功能:决定就绪队列中的哪个进程应获得处理机,并由分派程序把处理机分配给该进程。

  1. 保存处理机的现场信息
  2. 按某种算法选取进程
  3. 把处理器分配给进程

低级调度/进程调度可采用非抢占和抢占两种调度方式。

1)非抢占方式

在采用这种调度方式时,一旦把处理机分配给某进程后,便让该进程一直执行,直至该进程完成或发生某事件而被阻塞时,才再把处理机分配给其它进程,决不允许某进程抢占已经分配出去的处理机。

引起进程调度的因素可归结为:

  • 正在执行的进程执行完毕,或因发生某事件而不能再继续执行
  • 执行中的进程因提出 I/O 请求而暂停执行
  • 在进程通信或同步过程中执行了某种原语操作

如:wait 操作、Block 原语、Wakeup 原语等。

  • 优点:实现简单,系统开销小,适合批处理任务。
  • 缺点:难以满足实时任务。

2)抢占方式

这种调度方式,允许调度程序根据某种原则,去暂停某个正在执行的进程,将已分配给该进程的处理机重新分配给另一进程。

抢占的原则有:

  • 优先权原则
  • 短作业优先原则和短进程优先原则
  • 时间片原则

3.1.2   处理机调度算法的目标及准则

1. 面向用户的准则

这是为了满足用户的需求所应遵循的一些准则。其中,比较重要的有以下几点。

1)周转时间短。

周转时间:是指从作业被提交给系统开始,到作业完成为止的这段时间间隔。

所谓周转时间包括四部分时间:

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

平均周转时间

T=\frac{1}{n}[\sum_{i=1}^{n}T_{i}] 

平均带权周转时间

带权周转时间 = 作业的周转时间/系统为其服务的时间

T=\frac{1}{n}[\sum_{i=1}^{n}\frac{T_{i}}{T_{Si}}]

2)响应时间快

响应时间:是指从用户通过键盘提交一个请求开始,直至系统首次产生响应为止的时间。

响应时间包括三部分时间:

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

3)截止时间的保证

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

4)优先权准则

是指基于优先权让某些紧急的作业能得到及时处理。

在要求较严格的场合,往往还须选择抢占式进程调度,才能保证紧急作业得到及时处理。  

2.面向系统的准则

1)系统吞吐量高。吞吐量是指在单位时间内,系统所完成的作业数。

2)处理机利用率好。

3)各类资源的平衡利用。  

猜你喜欢

转载自blog.csdn.net/m0_64140451/article/details/129878019