处理机调度之调度算法

本文介绍了几种常见的处理机调度算法,包括FCFS(先来先服务)、SJF(短作业优先)、HPF(高优先权优先)以及时间片轮转法。FCFS简单但不利于短作业,SJF对长作业不利且可能导致作业欺骗,HPF则分为抢占式和非抢占式,而时间片轮转法适用于分时系统,确保及时响应。每种算法都有其适用场景和优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、先来先服务调度算法FCFS

先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法可用于作业调度,也可用于进程调度,每次调度从后备作业队列(就绪队列)选择一个最先进入该队列的作业(进程),以便进行下一步处理。FCFS有利于长作业(进程),而不利于短作业(进程)。注:被唤醒的作业或进程不立即恢复执行,通常等到当前作业或进程让出CPU。所以,默认即非抢占方式。

二、短作业(进程)优先调度算法

短作业(进程)优先调度算法SJ(P)F对短作业(进程)优先调度的算法,其可以用于作业调度和进程调度,每次调度从后备队列(就绪队列)选择一个估计运行时间最短的作业(进程),以便进行下一步处理。SJ(P)F对长作业不利,也不能保证紧迫性作业(进程)被及时处理,同时,由于作业(进程)的长短只是根据用户所提供的估计时间而定的,用户可能有意无意缩短估计运行时间,所以不一定能够保证短作业优先调度

三、高优先权优先调度算法HPF

  为了使紧迫任务进入系统后便获得优先处理,引入最高优先权优先调度算法,使用该算法进行作业调度时,系统将从后备队列中选择若干优先权最高的作业装入内存,若进行进程调度,则把处理机分配给就绪队列中优先权最高的进程,该算法可以分为非抢占式优先权算法和抢占式优先权调度算法。

  ① 非抢占式优先权算法,系统一旦把处理机分配给就绪队列中优先权最高的进程后,该进程便一直执行下去,直至完成;或因某事件使该进程放弃处理机时,系统方可再将处理机重新分配给另一个优先权最高的进程。

  ② 抢占式优先权调度算法,系统把处理分配给优先权最高的进程,但在执行期间,如果又出现另一个优先权更高的进程,进程调度程序就立即停止当前进程的执行,重新将处理机分配给新到的优先权最高的进程。

  对于最高优先权优先调度算法,其关键在于使用的静态优先权还是动态优先权,以及如何

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值