OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1998|回复: 2

两种抢占式任务调度方式讨论

[复制链接]

21

主题

70

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
364
金钱
364
注册时间
2016-8-23
在线时间
71 小时
发表于 2023-5-22 15:14:19 | 显示全部楼层 |阅读模式
10金钱
基于优先级的抢占式任务调度方式可分为使用时间片和不使用时间片两种,使用时间片的抢占式调度方式,当多个就绪状态的优先级相同时,他们将轮流获得CPU使用权,每个任务占用CPU运行1个时间片时间,如果就绪状态的任务的优先级与空闲任务优先级相同,就看空闲任务有没有设置优先级相同让不让出CPU使用权了,这会影响任务调度结果。

不使用时间片的抢占式调度方式,只在以下情况下进行任务调度 1、有更高优先级的任务进入就绪状态   2、运行状态的任务进入阻塞状态或者挂起状态

所以,不使用时间片时,进行上下文切换的频率比使用时间片时低,从而降低了CPU负担,这是一个突出的优点。那么问题来了。

是不是如果优先级全不同,没有相同优先级,是不是不使用时间片的抢占调度方式效率会更高?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2023-5-24 00:27:45 | 显示全部楼层
回复

使用道具 举报

0

主题

451

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3316
金钱
3316
注册时间
2016-3-19
在线时间
815 小时
发表于 2023-5-24 09:20:28 | 显示全部楼层
个人理解

这个应该从任务设置本身思考

如果所有任务可以通过任务优先级来区分  这样的话 建议不使用时间片  每个任务都是一个优先级   思路上清晰   好多项目都可以实现

如果有两个或者两个以上的任务   不方便通过任务优先级来区分   就需要使用时间片了

至于CPU负担而言  在其它条件都相同的情况下  只是抢占和时间片来说  确实抢占更好

FreeRTOS是抢占式实时操作系统   也说明  抢占是有优势的

再说  CPU 负担    要降低负担   实时操作系统仅仅是一个框架工具     我们还需要从整体设计  以及任务划分 等方面去调控

仅个人理解   还请高人指点
Nothing is impossible
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 17:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表