目录
3.1.1 处理机调度的层次
1. 高级调度
高级调度又称为长程调度或作业调度,它的调度对象是作业。
- 决定将外存上处于后备队列中的哪几个作业调入内存
- 为它们创建进程、分配必要的资源
- 将新创建的进程放入就绪队列
高级调度需要考虑的两个问题
Q:选择多少个作业进入内存,为之创建进程?
A:取决于多道程序的度,即允许同时在内存中运行的进程数。
Q:选择哪些作业?
A:取决于高级调度算法。
2. 中级调度
中级调度又称为中程调度或内存调度。引入中级调度的主要目的是,提高内存利用率和系统吞吐量。具体功能如下:
- 把那些暂时不能运行的进程调至外存等待,即挂起状态
- 当它们已具备运行条件且内存又稍有空闲时,由中级调度来决定把它们重新调入内存
注意:只有支持进程挂起的操作系统才具有中程调度功能。
3. 低级调度
低级调度又称为短程调度或进程调度。
功能:决定就绪队列中的哪个进程应获得处理机,并由分派程序把处理机分配给该进程。
- 保存处理机的现场信息
- 按某种算法选取进程
- 把处理器分配给进程
低级调度/进程调度可采用非抢占和抢占两种调度方式。
1)非抢占方式
在采用这种调度方式时,一旦把处理机分配给某进程后,便让该进程一直执行,直至该进程完成或发生某事件而被阻塞时,才再把处理机分配给其它进程,决不允许某进程抢占已经分配出去的处理机。
引起进程调度的因素可归结为:
- 正在执行的进程执行完毕,或因发生某事件而不能再继续执行
- 执行中的进程因提出 I/O 请求而暂停执行
- 在进程通信或同步过程中执行了某种原语操作
如:wait 操作、Block 原语、Wakeup 原语等。
- 优点:实现简单,系统开销小,适合批处理任务。
- 缺点:难以满足实时任务。
2)抢占方式
这种调度方式,允许调度程序根据某种原则,去暂停某个正在执行的进程,将已分配给该进程的处理机重新分配给另一进程。
抢占的原则有:
- 优先权原则
- 短作业优先原则和短进程优先原则
- 时间片原则
3.1.2 处理机调度算法的目标及准则
1. 面向用户的准则
这是为了满足用户的需求所应遵循的一些准则。其中,比较重要的有以下几点。
1)周转时间短。
周转时间:是指从作业被提交给系统开始,到作业完成为止的这段时间间隔。
所谓周转时间包括四部分时间:
- 作业在外存后备队列上等待调度的时间
- 进程在就绪队列上等待进程调度的时间
- 进程在 CPU 上执行的时间
- 进程等待 I/O 操作完成的时间
平均周转时间
平均带权周转时间
带权周转时间 = 作业的周转时间/系统为其服务的时间
2)响应时间快
响应时间:是指从用户通过键盘提交一个请求开始,直至系统首次产生响应为止的时间。
响应时间包括三部分时间:
- 从键盘输入的请求信息传送到处理机的时间
- 处理机对请求信息进行处理的时间
- 将所形成的响应信息回送到终端显示器的时间
3)截止时间的保证
截止时间:是指某任务必须开始执行的最迟时间,或必须完成的最迟时间。
4)优先权准则
是指基于优先权让某些紧急的作业能得到及时处理。
在要求较严格的场合,往往还须选择抢占式进程调度,才能保证紧急作业得到及时处理。
2.面向系统的准则
1)系统吞吐量高。吞吐量是指在单位时间内,系统所完成的作业数。
2)处理机利用率好。
3)各类资源的平衡利用。