OSAL中task,event,message区别

13 篇文章 2 订阅

OSAL(Operating System Abstraction Layer 操作系统抽象层)(以上为个人见解)在OSAL中,提出了任务,事件,消息三个概念。它们之间的关系如下:

  1. event: 事件是当前系统中被触发的动作,例如有按键按下,接收到其他节点发送过来的消息等等。
  2. message: 消息是收到的事件和事件内容的一个封装,比如发生了一个事件(收到别的节点发的消息),这时就会把这个事件所对应的事件号及收到的数据封装成消息,放入消息队列中,供事件处理函数进行处理。
  3. task: 任务是处理事件的一个功能集合,一般由一个事件处理函数(ProcessEvents)实现。协议栈是由各个层组成的,每一层都要处理各种事件,所以就为每一层定义了一个事件处理函数,我们可以把这个处理函数理解为任务,任务从消息队列中提取消息,从消息中提取所发生的具体事件,调用相应的具体事件处理函数,比如按键处理函数等等。

总结一下就是:

流程:事件发生后–>被打包为消息–>存放到消息队列–>事件处理函数取出消息并进行相应操作。
消息是数据和各层指令的封装
任务是所要做的事即是做的这个事的具体细节

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值