嵌入式系统开发-操作系统-归档--系统任务框架设计原则

多任务划分方法与原则:

谈几点多任务的划分原则:
任务划分是必须清楚的认识到任务的性质和特点然后根据具体的特点对人物的优先级、堆栈等运行属性进行划分。
降低任务间的耦合度:即降低任务间的通信。每个任务就相当于一个零件。当这个零件和其他的零件之间的关系非常小的时候,它才可能更通用。

设备依赖性:

无论是通信,还是采集亦或是控制类任务都对设备具有不同程度的依赖性,同时因为外部设备的特点不同将导致任务的属性也发生变化,比如通信任务一般情况下外部设备的运行速率比主控芯片较低,所以在任务的执行周期,和任务的运行时间需要调整。“输入输出设备的速度差别是任务“并发运行的基础”“。所以通常将不同输入输出设备划分为不同的任务独立运行。

关键任务:

关键性,一个系统中必有其关键功能,可以是一个也可以是多个,对于关键性任务划分的原则是使其功能独立,优先级较高,通过信号量或则消息与其他人物进行通信,简化关键任务的体积,尽可能的与其他任务剥离。

紧迫任务:

紧迫性:是指一些具有较高的实时性要求的任务,严格地执行周期。大多数紧迫任务都由异步事件触发,这些异步事件一般能够引发某种中断,所以将任务安排在ISR中较为合适,

数据处理任务:

通常一个系统必定会有大量的数据计算,这种数据计算通常会耗费大量的CPU时间,所以处理不当将会严重影响其他任务的实时性,比如如果一个任务具有较高的优先级,而且任务重含有大量的数据计算模块,将会长时间的占有CPU,严重影响其他任务的运行。

功能聚合任务(降低任务间耦合程度):

功能密切的任务封装为一个任务,节省通信时间,功能密切一般分为数据关系密切和时序关系密切。

同等触发任务:

触发条件相同的任务划分为一个任务。

出处:基于嵌入式操作系统的实时性多任务划分方法

猜你喜欢

转载自blog.csdn.net/guozhongwei1/article/details/80034843