章节列表

事件控制块的原理与创建

2018-01-12 09:42:05 +0000 李述铜

从这个课时开始会介绍事件控制块组件,该组件主要功能用于实现任务等待/恢复操作。这个组件是后面要学习的信号量、邮箱等六大任务间同步与通信组件的基础。

在后面可以看到,实现这两大组件时,基本模式都一样:在事件控制块结构之上再添加与特定组件相关的数据

主要内容

事件控制块的实现比较简单,包含两部分:类型字段指明了该控制块当前用于哪种同步与通信组件;链表用于组织在等待事件的任务。

在当前课时中,仅讲述事件控制块的初始化,初始化过程较简单,此处不再赘述。

重点难点

这里说明下“事件”是什么。

在实用中,可能出现很多情况,比如外部中断地发生、某些资源就绪、某个任务发出一个消息等等,诸如此类状况的变化,都可以描述为事件。然后用信号量、邮箱等这些以事件控制块为基础同步与通信组件进行管理。例如:

  • 使用信号量进行任务间同步。A任务在信号量上等待,B任务释放信号量进而给A发出一个同步信号;
  • A任务通过邮箱向B任务发送了一个消息。

注意事项

常见问题