(操作系统)调度算法

  • 先来先服务调度算法FCFS

  • 短作业优先调度算法SJF

  • 优先级调度算法

  • 高响应比优先调度算法HRRN

  • 轮转调度算法RR

  • 多级队列调度算法

  • 多级反馈队列调度算法

  • 基于公平原则的调度算法

饥饿:某进程/作业长时间得不到服务

  1. FCFS 先来先服务

执行顺序:J1->J2->J3->J4
平均周转时间=周转时间/进程数=(20+30+30+35)/4=28.75ms
平均带权周转时间=带权周转时间/进程数=(1+2+6+3.5)/4=3.125ms

作业

到达时间

所需服务时间

开始执行时间

完成时间

周转时间

(完成时间-到达时间)

带权周转时间

(周转时间/服务时间)

J1

0

20

0

20

20

1

J2

5

15

20

35

30

2

J3

10

5

35

40

30

6

J4

15

10

40

50

35

3.5

  1. SPF短作业优先服务 得要先到达才能开始优先

执行时间: J1->J3->J4->J2
J1先到达 所以先执行,之后的根据作业所需要的执行时间进行短作业优先调度
平均周转时间=周转时间/进程数=(20+45+15+20)/4=25ms
平均带权周转时间=带权周转时间/进程数=(1+3+3+2)/4=2.25ms

作业

到达时间

所需服务时间

开始执行时间

完成时间

周转时间

(完成时间-到达时间)

带权周转时间

(周转时间/服务时间)

J1

0

20

0

20

20

1

J2

5

15

35

50

45

3

J3

10

5

20

25

15

3

J4

15

10

25

35

20

2

  1. HRRN高响应比优先调度 得要先到达才能开始优先

执行时间: J1->J3->J2->J4
J1先到达 所以先执行,之后的根据作业的优先级进行优先调度
优先级=等待时间+要求服务时间/要求服务时间
等待时间=开始时间-到达时间
第一阶段:R2=20-5+15/15=2 R3=20-10+5/5=3 R4=20-15+10/10=1.5
优先级R3最高,所以进行调度
第二阶段:R2=25-5+15/15=2.3 R4=25-15+10/10=2
优先级R2最高,所以进行调度,最后进行R4调度
平均周转时间=周转时间/进程数=(20+35+15+35)/4=26.25ms
平均带权周转时间=带权周转时间/进程数=(1+2.3+3+3.5)/4=2.45ms

作业

到达时间

所需服务时间

开始执行时间

完成时间

周转时间

(完成时间-到达时间)

带权周转时间

(周转时间/服务时间)

J1

0

20

0

20

20

1

J2

5

15

25

40

35

2.3

J3

10

5

20

25

15

3

J4

15

10

40

50

35

3.5

  1. 最高优先级调度算法

调度顺序:P2->P3->P4->P1

进程

优先级

所需服务时间

开始执行时间

完成时间

周转时间

P1

2

4

10

14

14

P2

5

3

0

3

3

P3

4

5

3

8

8

P4

3

2

8

10

10

  1. RR调度算法(q=1)

时间片=1

调度顺序:P4->P2->P1->P3

每个进程都运行一次
第一次:1 2 3 4
第二次:1 2 3 4(进程4所需要的服务时间是2,所以第二次运行的时候,进程4已经完成)
第三次:1 2 3(进程3完成)
第四次: 1 3 (进程1完成)
第五次: 3(进程3完成)

进程

优先级

所需服务时间

完成时间

周转时间

带权周转时间

P1

2

4

12

12

3

P2

5

3

10

10

3.3

P3

4

5

14

14

2.8

P4

3

2

8

8

4

时间片=1
每个进程都运行一次
第一次:A B C D E
第二次:A B C D E (进程D已经完成,完成时间=9)
第三次:A B C E (进程B完成,完成时间=12)
第四次: A C E(进程A C E完成 A完成时间=15 B完成时间=16 E完成时间=17)

时间片=4

完成时间 A B C D E

4 7 11 13 15

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值