4204|0

420

帖子

0

TA的资源

纯净的硅(初级)

楼主
 

如何安排任务优先级 [复制链接]

很多实时操作系统书籍都没有明确的阐述如何去安排任务的优先级。任务优先级的安排一般都是架构师去安排,因为这个是一个全局性的战略,必须要做到对不同的任务轻重有别。
在安排任务优先级之前还有一个概念,那就是如何安排任务。


程序在CPU中是以任务的方式在运行,所以我们要将系统的处理框图转化为多任务流程图,对处理进行任务划分。任务划分存在这样一对矛盾:如果任务太多,必然增加系统任务切换的开销;如果任务太少,系统的并行度就降低了,实时性就比较差。在任务划分时要遵循H.Gomma原则:

   a. I/O原则:不同的外设执行不同任务;
   b 优先级原则:不同优先级处理不同的任务;
   c 大量运算:归为一个任务;
   d 功能耦合:归为一个任务;
   e 偶然耦合:归为一个任务;
   f 频率组合:对于周期时间,不同任务处理不同的频率。


以上原则中,不同的外设执行不同任务这个原则尤其显现的重要。比如shell终端会用到串口,这个划分为一个单独的任务。又如网络协议栈会使用到网卡,这个时候协议栈内部会有专门的任务服务网卡。


安排任务的优先级犹如一个公司的老板,如何安排员工的职位。下面是安排任务优先级的一个可能的策略:
首先把系统里有哪些任务全部排列出来,这个是排优先级的基础。


以下是安排任务优先级考虑的两点因素:
1 以任务周期为依据,任务周期越短执行频率越高,优先级越高。
2 根据任务的重要程度,越重要的任务优先级越高。


以上两点有时需要一起综合考虑,因为任务周期越短的任务未必是重要的任务,必须结合第2点综合考虑。

[ 本帖最后由 jorya_txj 于 2013-9-20 13:48 编辑 ]
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表