事件控制块
事
事
件
件
控
控
制
制
块
块
ECB
ECB
UCOS-II把进程间通信机制(邮箱和消息队列)以及同步机制(
信号量,Mutex)都看作是“事件”,用一个统一的数据结构:事件
控制块来管理,这样简化了代码。
在os_core.c中提供了几个对ECB操作的函数,这些函数为所有的
进程间通信和同步机制提供一致的服务
而每个进程间通信和同步机制则在这个ECB的基础上扩展各自的
功能;简单的说ECB把对于所有机制共同的东西封装在一起。
系统中所有的空闲ECB连成一个以OSEventFreeList为头的单链表
但是与TCB不同,系统把所有已经分配的TCB也连成个链表(以
OSTCBList为头);然而所有已经被分配的ECB并不连成链表
bluefeynman@gmail.com>
事件控制块ECB的定义
bluefeynman@gmail.com>
事件控制块的基本操作
初始化
因为一个事件发生,使一个任务进入就
绪态
因为等待一个事件,使任务进入等待状
态
因为等待超时而使任务进入就绪态
bluefeynman@gmail.com>