操作系统管理了系统的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资源的有限性,必须按照一定的原则选择进程(请求)来占用资源。这就是调度。目的是控制资源使用者的数量,选取资源使用者许可占用资源或占用资源。这时就可以根据不同的调度的方法来进行处理进程。
FCFS(First-Come,First-Served)
先来先服务调度算法:在进程调度中,FCFS就是从就绪队列的队首选择最先到达就绪队列的进度,为该进程分配CPU。简单来说就是哪一个队先到达就开始先给哪一个对进行分配CPU,如果有外界的限制条件的话,也需要考虑外界条件的影响。
SPF(Shortest-Process-First)
短进程优先调度算法:是从就绪队列中选择估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行完成,或发生某事件而被阻塞放弃处理机时,再重新调度。简单来说哪一个队先就绪并且运行时间最短就开始先给哪一个对进行分配CPU,如果有外界的限制条件的话,也需要考虑外界条件的影响。
PSL(Priority-Scheduling Lgorithm)
优先权调度算法:在使用优先权调度的系统中,每个进程都有一个与之关联的优先权,优先权值通常是固定的数字。系统可能设计优先权值越大,优先权越高;也可以设计优先权值越小,优先权月低。简单来说就是看题目中设计的优先权,根据题目中给予的优先权来进行已就绪的队列进行分配CPU,如果有外界的限制条件的话,也需要考虑外界条件的影响。
RR(Round-Robin)
时间片轮转调度算法:是在现代分时系统中广泛使用的进度调度算法,UNIX、Linux和Windows操作系统都采用基于时间片转轮、支持优先权和抢占式调度的混合式进程调度算法。