开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 19 天,点击查看活动详情
先来先服务算法——FCFS(非剥夺)
先来先到就是表面的意思,先进入作业队列的优先被调用。
FCFS调度算法的平均作业周转时间与作业提交的顺序有关。
最短作业优先算法——SJF(非剥夺)
最短作业就是按照作业在CPU上的运行时间来决定的,哪个作业在CPU上的运行时间越短谁就先运行。
该算法虽然易于实现,效率不高,主要是因为会忽略作业等待时间。
其次会出现饿死的情况。SJF想知道一个作业的运行时间是办不到的。
最短剩余时间优先算法——SRTF(剥夺)
SJF是非剥夺式的,我们把它进行优化就变成了SRTF算法————当先来的进程或者线程所需的运行时间小于现在正在运行的进程或线程,就会抢夺该进程。
最高响应比优先算法——HRRF(非剥夺)
HRRF算法既考虑等待时间又考虑了运行时间。选择响应比最高者送入运行队列。
响应比的计算方法: 响应比=(等待时间+要求执行时间)/要求执行时间=1+等待时间/要求执行时间
该算法的优点:
- 短作业容易得到较高响应比
- 长作业等待时间足够长后,也将获得足够高的响应比
- 饥饿现象不会发生
优先级调度算法
优先级调度算法顾名思义就是按照进程的优先级进行调度。 优先级一种是由用户提出的,叫做外部指定法;另一种方法是由操作系统考虑各种因素之后确定的优先级,称为内部指定法。
轮转调度算法——RR(剥夺)
转轮调度算法也称时间片调度:每个进程在cpu上运行的一定的时间,当时间片用尽的时候,就会被迫被下一个进程剥夺。
多级反馈队列调度算法——MLFQ
设置多个就绪队列,分别赋予不同的优先级。每个队列执行时间片的长度也不同,规定优先级越低则时间片越长。
题目练习
(交往)并发进程有关典型的与时间有关的错误是指( )
-
A. 时间快了
-
B.时间慢了
-
C.结果不唯一,永远等待
-
D. 时间不准确
我的答案: C