操作系统之进程管理:6、调度算法(先来先服务FCFS、最短作业优先SJF、最高响应比优先HRRN、时间片轮转法、优先级调度、多级反馈队列)

适用于早期批处理机系统的调度算法

思维导图

在这里插入图片描述

1、先来先服务FCFS

在这里插入图片描述
eg:
在这里插入图片描述

2、最短作业优先SJF

在这里插入图片描述

非抢占式最短作业优先

在这里插入图片描述

抢占式最短作业优先(最短剩余时间优先算法)

在这里插入图片描述

在这里插入图片描述

3、最高响应比优先HRRN

由于上述俩种算法分别对长作业和短作业不友好,所以设计了高响应比算法
在这里插入图片描述
eg:
在这里插入图片描述

适用于交互式系统(实时、分时)的调度算法

1、时间片轮转法

在这里插入图片描述

eg:
在这里插入图片描述

PS:时间片要如何选择
1、当时间片选择过大时,所有的进程都可以在一个时间片内完成,则时间片轮转调度算法就退化成了先来先服务算法
2、当时间片选择过小时,进程的调度会占用系统的资源,这样CPU的利用率也不高,一般来说, 设计时间片时要让切换进程的开销占比不超过1%。例如:系统中有十个进程在并发执行,若时间片为1s,则另一个进程被响应可能需要等待9s,也就是说,如果用户在自己进程的时间片外通过键盘发出调试命令,可能需要等待9s才能被系统响应。

2、优先级调度算法

在这里插入图片描述

非抢占式优先级调度算法

在这里插入图片描述

抢占式优先级调度算法

在这里插入图片描述

补充:

在这里插入图片描述

3、多级反馈队列调度算法

在这里插入图片描述
eg:
在这里插入图片描述

总结

在这里插入图片描述

  • 14
    点赞
  • 94
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
下面是对先来先服务调度算法FCFS)、短作业优先调度算法SJF)、时间片轮转调度算法(RR)和优先级调度算法的模拟实现的简要介绍: 1. 先来先服务调度算法FCFS): - 这是一种非抢占式调度算法,按照作业到达的顺序进行调度。 - 模拟实现时,可以根据作业到达的时间和执行时间,按照先后顺序进行调度,并计算平均等待时间和平均周转时间。 2. 短作业优先调度算法SJF): - 这是一种非抢占式调度算法,按照作业执行时间的长短进行调度。 - 模拟实现时,可以根据作业的执行时间,选择执行时间最短作业进行调度,并计算平均等待时间和平均周转时间。 3. 时间片轮转调度算法(RR): - 这是一种抢占式调度算法,将CPU时间分为固定长度的时间片,每个作业在一个时间片内执行。 - 模拟实现时,可以使用循环队列来维护就绪队列,每个作业在一个时间片内执行一定量的工作,并按照轮转的方式进行调度。 4. 优先级调度算法: - 这是一种非抢占式或抢占式调度算法,根据作业优先级进行调度优先级高的作业先执行。 - 模拟实现时,可以为每个作业分配一个优先级,并根据优先级选择下一个要执行的作业,并计算平均等待时间和平均周转时间。 以上算法可以通过编写C程序来进行模拟实现,你可以根据具体的需求和输入数据进行算法的测试和比较。如果你需要更详细的实现代码或有其他问题,请告诉我。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值