调度算法1

 一、先来先服务(FCFS)

1.算法思想

First Come First Serve

2.算法规则

按照作业/进程到达的先后顺序进行服务

3.适用对象:

用于作业调度时,考虑作业到达后备队列的顺序

用于进程调度时,考虑进程到达就绪队列的顺序 

4.特点:

非抢占式算法

公平,但对短作业不利

作业最终会被服务,因此不会导致饥饿。

二、短作业优先(SJF)

1.算法思想

Shortest Job First

2.算法规则

已到达的,最短的作业/进程优先得到服务(所谓“最短”,指要求服务时间最短)

3.适用对象:

用于作业调度时,短作业优先(SJF)

用于进程调度时,短进程优先算法-SPF(Shortest Process First)

4.特点:

非抢占式的算法:SJF与SPF

抢占式的算法:最短剩余时间优先算法SRTN(Shortest Remaining Time Next)

不公平,对短作业有利,对长作业不利。可能导致长作业长时间得不到服务,产生饥饿。

三、高响应比优先(HRRN)

1.算法思想

Highest Response Ratio Next

2.算法规则

调度前计算各作业/进程的响应比,选择响应比最高的作业/进程

响应比=(等待时间+要求服务时间)/要求服务时间

3.适用对象:

用于作业调度时,短作业优先(SJF)

用于进程调度时,短进程优先算法-SPF(Shortest Process First)

4.特点:

非抢占式的算法:只有当前运行作业/进程主动放弃处理机时,才需调度。

综合考虑等待时间和运行时间(要求服务时间)。

等待时间相同,要求服务时间短的优先;要求服务时间相同等待时间长的优先。

等待时间越长,其响应比也越大,这样就避免了长作业饥饿的问题。

四、补充与总结

饥饿-某进程/作业长期得不到服务的现象

调度算法1_第1张图片

你可能感兴趣的:(操作系统学习,笔记)