杭杭州紫金港培训学校(紫金港专升本)
在职研究生计算机学科专业基础考前辅导第三章 操作系统第 22 节 / 共 32 节约 30 分钟报名学员看全文

CPU 调度

掌握调度的层次、目标与评价指标,调度程序的组成、调度时机与抢占和非抢占方式、闲逛进程;掌握先来先服务、短作业优先、优先级、时间片轮转、高响应比优先、多级反馈队列等调度算法的计算与特点,了解多处理机调度与上下文切换机制。

本节考点:调度的时机与方式调度算法多处理机调度上下文切换

本节导读

大纲在「CPU 调度与上下文切换」下列了:调度的基本概念与目标,调度的实现(调度器、调度时机与调度方式、闲逛进程、内核级与用户级线程调度),CPU 调度算法,多处理机调度,上下文及其切换机制。常见资料称其中「CPU 调度算法」「多处理机调度」两项是 2025 年版新增的条目(2022 年版写的是「典型调度算法」,列了先来先服务、短作业优先、时间片轮转、优先级、高响应比优先、多级反馈队列六种)。

这一节的综合应用题常要画出调度过程、算周转时间和等待时间。学完你应该能对任一组作业按指定算法画出时间线,并算出平均周转时间、平均带权周转时间。

调度的概念与目标

调度分三级:高级调度(作业调度,从外存后备队列选作业调入内存、创建进程)、中级调度(内存调度,把暂时不能运行的进程挂起到外存或换回)、低级调度(进程调度,从就绪队列选一个进程分配 CPU)。低级调度最频繁。

评价指标:

指标含义
CPU 利用率CPU 忙的时间占总时间的比例
吞吐量单位时间完成的作业数
周转时间完成时间 − 到达(提交)时间
带权周转时间周转时间 ÷ 实际运行时间,不小于 1
等待时间在就绪队列中等待的时间之和
响应时间从提交请求到首次产生响应的时间

调度的实现

调度程序(调度器)由三部分组成:排队器(把就绪进程按策略排成队列)、分派器(取出选中的进程并分配 CPU)、上下文切换器。

调度时机:当前进程运行结束、因等待事件而阻塞、时间片用完、有更高优先级的进程进入就绪队列(抢占方式下)。在处理中断的过程中、进程处于操作系统内核程序的临界区中、执行原子操作时,不能进行调度与切换,要等这些工作完成后再调度。

调度方式:非抢占方式下,进程一直运行到结束或阻塞才让出 CPU;抢占方式下,系统可以按规则(优先级、时间片、更短的作业到来)剥夺正在运行的进程的 CPU。没有就绪进程时,系统运行闲逛进程(idle),它优先级最低,只要有进程就绪就让出 CPU,它不需要 CPU 以外的资源,也不会被阻塞。

线程的调度:用户级线程由线程库在进程内部调度,内核仍以进程为单位分配时间片;内核级线程由内核直接调度,同一进程的线程可以分到不同的处理器上。

调度算法

算法规则特点
先来先服务 FCFS按到达先后非抢占;简单公平,对短作业不利
短作业优先 SJF选估计运行时间最短的平均周转时间最短(非抢占时对同时到达的作业组而言);长作业可能饥饿
最短剩余时间优先 SRTNSJF 的抢占版:新作业的运行时间比当前作业的剩余时间短就抢占平均周转时间更短;长作业可能饥饿
优先级选优先级最高的,分抢占与非抢占、静态与动态优先级静态优先级可能使低优先级进程饥饿,动态提高等待者的优先级可以缓解
时间片轮转 RR按到达顺序轮流运行一个时间片,用完排到队尾抢占;适合分时系统;时间片太大退化为 FCFS,太小切换开销大
高响应比优先 HRRN选响应比最高的,响应比 = 等待时间+要求服务时间要求服务时间\dfrac{\text{等待时间} + \text{要求服务时间}}{\text{要求服务时间}}要求服务时间等待时间+要求服务时间​非抢占;兼顾短作业和等待久的作业,不会饥饿
多级反馈队列设多个优先级递减、时间片递增的队列;新进程进入第 1 级队尾,一个时间片内没做完就降到下一级;高级队列空了才调度低级队列兼顾短作业、交互作业和长作业;不断有新进程到来时低级队列的进程可能饥饿

做计算题时,先画出每个时刻就绪队列里有谁,再按规则选;时间片轮转题要看清题目的约定——同一时刻既有新进程到达、又有进程时间片用完时谁先进入队尾(本课约定新到达的进程先入队)。

本节后面还有约 1641 字:报名学员看全文

每门课前 10 节免费看全文;从第 11 节起,完整教程要报名后由顾问在后台为你的账号开通才能看。

题库账号可以直接登录,但第 11 节起的完整教程要报名后由后台开通才能看。

学完练一练

按本节考点从本课的课后练习里抽题(每次 10 道以内),做完看解析、错题自动进错题本。第 11 节起的课后练习报名学员才能练。

本节内容由 AI 辅助编写,配图由 AI 生成,仅供备考参考;考试要求以《全国各类成人高等学校招生考试大纲(2024 年版)》及浙江省教育考试院当年公布为准。

我要提问免费报名咨询