电子科枚大学 软件技术基础 2.5进程调度 主讲教师:刘民岷 航空航天学院 软件技术基础课程组
软件技术基础 2.5 进程调度 主讲教师:刘民岷 航空航天学院 软件技术基础课程组
进程调度的原因 口执行的进程运行完毕 ▣等待某种事件发生 口时间片用完 ▣就绪队列中出现高优先级的进程等 进程调度一重新分配CPU资源 电子科技大学刘民岷 进程调度 2
电子科技大学 刘民岷 2 1、进程调度的原因 进程调度 执行的进程运行完毕 等待某种事件发生 时间片用完 就绪队列中出现高优先级的进程等 进程调度——重新分配CPU资源
进程调度的方式 口剥夺式:就绪队列中一旦有高优先级的进程出现,则立 即剥夺正在执行的进程的CPU使用权,而将CPU使用权交 给高优先级的进程 口非剥夺式:进程一旦获得CPU使用权,则一直占有,直 到由于其它原因而阻塞为止 电子科技大学刘民岷 进程调度 3
电子科技大学 刘民岷 3 2、进程调度的方式 进程调度 剥夺式:就绪队列中一旦有高优先级的进程出现,则立 即剥夺正在执行的进程的CPU使用权,而将CPU使用权交 给高优先级的进程 非剥夺式:进程一旦获得CPU使用权,则一直占有,直 到由于其它原因而阻塞为止
3、进程调度的功能 ▣记录系统中所有进程的执行情况 进程管理模块记录系统中进程的执行情况和状态,根据PCB的变化, 在适当的时间选择就绪队列中的一个进程占据处理机运行。 ▣确定分配处理机的原则 进程的主要功能是按照一定的调度策略(调度算法)选择一个处于 就绪状态的进程,使其获得处理机执行。 ▣处理机的分配和回收 PCB中的有关现场信息送入CPU的相关寄存器; 进程执行结束后回收处理机。 电子科技大学刘民岷 进程调度 4
电子科技大学 刘民岷 4 3、进程调度的功能 进程调度 记录系统中所有进程的执行情况 进程管理模块记录系统中进程的执行情况和状态,根据PCB的变化, 在适当的时间选择就绪队列中的一个进程占据处理机运行。 确定分配处理机的原则 进程的主要功能是按照一定的调度策略(调度算法)选择一个处于 就绪状态的进程,使其获得处理机执行。 处理机的分配和回收 PCB中的有关现场信息送入CPU的相关寄存器; 进程执行结束后回收处理机
4、进程调度算法设计及评价指标 ▣进程调度算法的设计思路: -如何尽可能提高CPU资源利用率 口调度算法的评价指标: -周转时间TT(Turnaround Time)或平均周转时间(Average Turnaround Time):进程进入就绪队列到进程结束的时间间隔。 - 响应时间RT(Response Time或平均等待时间:从提交一个请求 开始到计算机做出响应的时间间隔。 电子科技大学刘民岷 进程调度 5
电子科技大学 刘民岷 5 4、进程调度算法设计及评价指标 进程调度 进程调度算法的设计思路: ‒ 如何尽可能提高CPU资源利用率 调度算法的评价指标: – 周转时间TT(Turnaround Time)或平均周转时间(Average Turnaround Time):进程进入就绪队列到进程结束的时间间隔。 – 响应时间RT(Response Time)或平均等待时间:从提交一个请求 开始到计算机做出响应的时间间隔
5、常见的进程调度算法 1)先来先服务(FCFS)算法 2)最短CPU运行期优先(SCBF)(SPF-Short Process First).算法 3)时间片轮转算法 4)最高优先级优先(HPF)算法 5)多级队列反馈法 时间片轮转 先进先出 进程调度 最短优先 优先级 最高响应比优先 电子科技大学刘民岷 进程调度 6
5、常见的进程调度算法 1)先来先服务(FCFS)算法 2)最短CPU运行期优先(SCBF) (SPF-Short Process First)算法 3)时间片轮转算法 4)最高优先级优先(HPF)算法 5)多级队列反馈法 电子科技大学 刘民岷 进程调度 6
5、常见的进程调度算法(续) 1)先来先服务(FCFS)算法 每次进行进程调度时,总是选择就绪队列的最首进程运行。 优点:算法简单、一般意义下公平 缺点:对短进程需等待较长时间,平均周转时间长 使用场合:一般作为辅助调度算法 电子科技大学刘民岷 进程调度 7
5、常见的进程调度算法(续) 1)先来先服务(FCFS)算法 每次进行进程调度时,总是选择就绪队列的最首进程运行。 优点:算法简单、一般意义下公平 缺点:对短进程需等待较长时间,平均周转时间长 使用场合:一般作为辅助调度算法 电子科技大学 刘民岷 进程调度 7
5、常见的进程调度算法(续) 2)最短CPU运行期优先(SCBF)(SPF-Short Process First)算法 优先调度CPU运行期短的进程。 优点:平均周转时间短 缺点:长进程等待时间长;依赖于各进程的下一个CPU周期, 需要估算CPU周期 Tnti atn +(1-a)tn 其中Tn为估计的第n个CPU时间,tn为实际的的n个CPU时 间,系数a在0~1之间,常取=0.5。 电子科技大学刘民岷 进程调度 8
5、常见的进程调度算法(续) 2)最短CPU运行期优先(SCBF) (SPF-Short Process First)算法 优先调度CPU运行期短的进程。 优点:平均周转时间短 缺点:长进程等待时间长;依赖于各进程的下一个CPU周期, 需要估算CPU周期 其中 为估计的第 n 个CPU时间, tn为实际的的 n 个CPU 时 间,系数 a 在 0 ~ 1之间,常取 a=0.5 。 电子科技大学 刘民岷 进程调度 8 n n n t ( 1 ) 1 n
5、常见的进程调度算法(续) 例1.有4个进程的系统按FCFS算法进行调度 进程 到达时刻 运行时间 开始时刻 结束时刻 周转时间 等待时间 P1 0 16 0 16 16 0 P2 0 12 16 28 28 16 P3 0 4 28 32 32 28 P4 0 3 32 35 35国-32 平均周转时间=(16+28+32+35)/4=28 平均等待时间=(0+16+28+32)/4=19 电子科技大学刘民岷 进程调度 9
5、常见的进程调度算法(续) 例1. 有 4个进程的系统按FCFS算法进行调度 电子科技大学 刘民岷 进程调度 9
5、常见的进程调度算法(续) 例2.有5个进程的系统 进程 到达时间 服务时间 A 0 3 B 2 6 C 4 D 6 5 E 8 2 ·试分析系统采用FCFC和SCBF算法进行调度的平 均周转时间和平均等待时间 电子科技大学刘民岷 进程调度 10
5、常见的进程调度算法(续) 例2. 有 5个进程的系统 电子科技大学 刘民岷 进程调度 10 • 试分析系统采用FCFC 和SCBF算法进行调度的平 均周转时间和平均等待时间