原创 《基于嵌入式实时操作系统的程序设计技术》读书笔记2

2009-1-3 16:31 3799 4 4 分类: MCU/ 嵌入式

第三章 任务划分


一、任务的特性(区分于无操作系统时的“任务模块”)


1.任务的动态性(任务有休眠态、运行态、挂起态、就绪态和中断态)


2.任务的独立性。所有任务在逻辑上是平等的,任务间的信息传输通过操作系统异步传输。


3.任务的并发性。从宏观上看,不同的任务可以并发运行。并发性就是任务间运行可以重叠交错,这是需要操作系统进行调度的前提,否则可以不用操作系统。


二、任务划分


        首先,以CPU为中心,将与各种输入输出设备(或端口)相关的功能分别划分为独立的任务;


        发现“关键”功能,将其最“关键”部分剥离出来,用一个独立的任务(或ISR)完成,剩余部分用另一个任务实现,两者通过通信机制沟通。这样可以保证关键任务不受其他任务拖累。


        发现“紧迫”功能,将其最“紧迫”部分剥离出来,用一个独立的任务(或ISR)而且是高优先级的任务完成,剩余部分用另外一个任务实现。两者之间通过通信机制沟通。


        对于既“关键”又“紧迫”的功能,按“紧迫”处理。


        将消耗机时较多的数据处理功能划分出来,封装成低优先级的任务。


        将关系密切的若干功能组合称为一个任务,达到功能聚合的效果。


        将由相同事件触发的若个功能组合成为一个任务,以免除事件分发机制。


        将运行周期相同的功能组合成为一个任务,以免除事件分发机制。


         将若个按固定顺序执行的功能组合成一个任务,以免除同步接力通信的麻烦。


三、可调度性分析


        任务可调度需满足如下条件:


                                             c6db66f9-c5b0-4e00-8441-8ca017384067.gif


         其中,n表示任务数,Ci表示第i个任务耗费的机时,Ti表示任务执行周期。        

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /3 下一条