• 【RTOS】《基于嵌入式实时操作系统的程序设计技术》——任务的划分与封装


    任务的划分与封装

            关键任务的划分处理

            对于某些对于系统的正常运作至关重要,少执行一次会对系统产生较大影响的功能,我们倾向于将它从原有任务中剥离出来,称为关键任务,用一个独立任务或者ISR(如外部中断)执行,由于关键任务的核心地位,关键任务一般需要与其他任务进行通信,而一般情况下,我们会创建一个单独的消息分发任务,由外部中断与消息分发任务通信,再由消息分发任务与其他任务通信,注意消息分发任务的优先级要高于所有操作任务,而对于uCOSii,消息发送函数OSMboxPost(),具有广播功能,发送一条消息就可以使所有等待该消息的任务进入就绪态

            如采用单独创建关键任务的方法,必须确保关键任务由足够高的优先级和查询频率

            紧迫任务的划分处理

            紧迫任务具有很高的实时性要求,由于大多数紧迫任务是由异步事件触发的,最优的手段依旧是将其安排在ISR里,注意对于紧迫任务,要尽可能精简,将 “不那么紧迫” 的部分剥离另外封装

            对于又关键又紧迫的任务,按紧迫任务处理

            数据处理任务的划分处理

            数据处理任务一般是用户应用程序中耗时最多的部分,对于为不同功能服务的单元,应将这些单元划分包装成不同的任务,对于耗时较多的任务,通常安排较低的优先级

            功能聚合任务的划分处理

            对于关系密切的若干功能,何以合成一个任务

            触发条件相同的任务划分处理

            对于若干功能又相同事件触发的任务,可以将他们合成一个任务避免冲突

            顺序操作任务之间没有并发性,合成一个任务

     不好意思水了一篇

  • 相关阅读:
    四则运算2
    大二第二学期阅读计划
    第一周课堂练习
    《人月神话》读后感
    软件工程概论总结第十一章
    软件工程概论总结第十章
    软件工程概论总结第九章
    软件工程概论总结第八章
    软件工程概论总结第七章
    第五章、软件过程中的形式化方法
  • 原文地址:https://www.cnblogs.com/ZYQS/p/15114861.html
Copyright © 2020-2023  润新知