一、作业管理核心概念

1.1 作业的定义

作业(Job)是用户提交给操作系统的一整套完整任务集合,主要包含三部分:执行程序、所需数据、作业控制指令。

从调度层级区分:作业是用户侧宏观调度单元,聚焦任务整体的提交与落地;进程是CPU侧微观执行单元,负责具体任务的CPU运算执行,二者层级完全不同。

1.2 作业 VS 进程(高频必考辨析)

作业和进程是考生最易混淆的知识点,下表从核心维度完整区分,直接秒杀选择题:

对比维度

作业(Job)

进程(Process)

调度层级

高级调度

低级调度

存储位置

外存后备队列

内存就绪队列

核心职责

筛选作业调入内存、分配资源、创建进程

分配CPU时间片,执行具体任务

适用系统

仅批处理操作系统

所有操作系统通用

调度频率

极低(分钟/小时级)

极高(毫秒级)

秒杀核心结论:作业调度只负责把任务「送入内存」,进程调度负责让任务「占用CPU执行」。

1.3 作业四大状态及流转逻辑

一个完整的作业,从提交到结束会经历四个固定状态,是状态题核心考点:

  • 提交状态:用户上传作业数据与指令,操作系统正在接收、校验作业信息,任务尚未入队。

  • 后备状态:作业接收完成,存入外存后备队列排队,等待高级调度选中,也叫收容状态。

  • 运行状态:作业被调度调入内存,系统创建对应进程,接入CPU调度队列开始执行。

  • 完成状态:作业全部执行完毕,系统回收内存、设备等资源,输出执行结果并撤销作业。

标准流转链路:提交 → 后备 → 运行 → 完成


二、操作系统三级调度体系

操作系统分为高级、中级、低级三级调度,层级分工明确,其中仅高级调度为作业专属调度,其余两级适配所有系统。

2.1 高级调度(作业调度)

调度对象为外存后备作业队列中的批量任务,核心是筛选合适作业调入内存、分配系统资源、创建进程,仅批处理系统具备该调度能力,核心目标是提升系统整体吞吐量与资源利用率。

2.2 中级调度(内存调度)

调度对象为内存与外存间的挂起进程,核心作用是实现进程换入、换出与挂起/解挂,缓解内存资源紧张问题,是Windows、Linux等所有现代操作系统的通用调度机制。

2.3 低级调度(进程调度)

操作系统最核心、执行频率最高的调度方式,调度对象是内存就绪进程,负责分配CPU时间片,掌控程序的实际执行,是所有操作系统必备的基础调度。

调度层级

别名

调度位置

分时系统是否具备

高级调度

作业调度

外存

❌ 无

中级调度

内存调度

内存↔外存

✅ 有

低级调度

进程调度

内存

✅ 有


三、四大作业调度算法(考试核心)

作业调度算法针对批处理系统后备队列设计,是选择题辨析、计算题求解的核心考点,四种算法各有优劣,适配不同业务场景。

3.1 FCFS 先来先服务

严格按照作业进入后备队列的先后顺序调度执行。

优点:逻辑简单、实现成本低,绝对公平,无任务饥饿问题

缺点:存在短作业护航效应,短作业需等待长作业执行完成,整体平均周转时间长,系统吞吐率低

3.2 SJF 短作业优先

优先选择预估运行时长最短的作业调度执行,聚焦提升系统吞吐能力。

优点:有效缩短平均周转时间,四大算法中系统吞吐量最优

缺点:需要提前预知作业运行时长;持续大量短作业涌入时,长作业会长期得不到调度,产生饥饿现象

3.3 HRRN 高响应比优先(高频必考)

软考最常考查的综合最优算法,动态计算作业响应比,择优调度。

必背响应比计算公式

$$R = \frac{等待时间 + 运行时间}{运行时间}$$

核心优势:兼顾长短作业性能,短作业天然响应比高、优先执行,保障吞吐率;长作业随等待时间增加,响应比动态提升,彻底解决饥饿问题,综合平衡性最强

缺点:需预知作业运行时长,每次调度需遍历所有后备作业计算比值,系统开销略大

3.4 优先级调度

根据作业优先级高低调度,分为静态优先级和动态优先级两种模式,适配关键任务场景。

静态优先级任务优先级固定,高优先级任务持续抢占资源时,低优先级任务易出现饥饿;动态优先级可随等待时间自动提升优先级,缓解饥饿问题,多用于重要批处理任务调度。


四、作业性能评价指标

作业调度计算题核心公式固定,熟记即可满分,参数定义:Tc为作业完成时间、Ts为作业提交时间、Tr为作业实际运行时间。

1. 周转时间:作业从提交到完全执行完成的总耗时

$$T = Tc - Ts$$

2. 带权周转时间:衡量作业等待开销与自身运行时长的匹配度,是核心评价指标

$$W = T / Tr$$

3. 平均指标:所有作业周转时间、带权周转时间的平均值

核心判分标准:评判调度算法优劣的唯一核心依据是平均带权周转时间,数值越小,算法性能越优。


五、作业三大分类

根据操作系统运行模式,作业可分为三类,仅批处理作业具备完整作业调度流程:

  • 批处理作业:无实时人机交互,任务批量后台执行,存在完整的作业调度机制,适配服务器批量任务场景

  • 分时作业:聚焦人机实时交互,对响应速度要求高,无后备作业队列,不存在作业调度

  • 实时作业:应用于工控、医疗、自动驾驶等场景,有严格截止时间要求,追求任务实时性,无作业调度


六、高频易错考点

  • ✅ 分时系统、实时系统无高级作业调度,仅批处理系统专属

  • ✅ 作业调度仅负责内存资源分配、进程创建,不分配CPU,CPU分配由进程调度完成

  • ✅ SJF算法吞吐率最高,但存在严重饥饿问题;HRRN算法综合性能最优,彻底规避饥饿问题

  • ✅ 调度算法性能对比,优先参考平均带权周转时间,而非单一周转时间

  • ✅ SRTF最短剩余时间调度属于进程抢占式调度,不属于作业调度范畴

系统架构师备考:操作系统基础

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐