第六章 同步、互斥与通信 电子科技大学嵌入式件工程中心 EsE匚
电子科技大学嵌入式软件工程中心 第六章 同步、互斥与通信
主要内容 概述 信号量 邮箱和消息队列 事件 ●异步信号* 管道* 电子科技大学嵌入式件工程中心 EsE匚
电子科技大学嵌入式软件工程中心 主要内容 • 概述 • 信号量 • 邮箱和消息队列 • 事件 • 异步信号* • 管道*
概述 多任务系统中任务之间的关系 相互独立仅竞争CPU资源 竞争除CPU外的其他资源(互斥) 同步协调彼此运行的步调,保证协同运行的 各个任务具有正确的执行次序 通信彼此间传递数据或信息,以协同完成某 项工作 电子科技大学嵌入式件工程中心 EsE匚
电子科技大学嵌入式软件工程中心 概述 • 多任务系统中任务之间的关系 – 相互独立 仅竞争CPU资源 – 竞争除CPU外的其他资源(互斥) – 同步 协调彼此运行的步调,保证协同运行的 各个任务具有正确的执行次序 – 通信 彼此间传递数据或信息,以协同完成某 项工作
概述 任务能以以下方式与中断处理程序或其 他任务进行同步或通信: 单向同步或通信:一个任务与另一个任务或 个SR同步或通信。 双向同步或通信:两个任务相互同步或通信 双向同步不能在任务与SR之间进行,因为 SR不能等待。 电子科技大学嵌入式件工程中心 EsE匚
电子科技大学嵌入式软件工程中心 • 任务能以以下方式与中断处理程序或其 他任务进行同步或通信: – 单向同步或通信:一个任务与另一个任务或 一个ISR同步或通信。 – 双向同步或通信:两个任务相互同步或通信。 双向同步不能在任务与ISR之间进行,因为 ISR不能等待。 概述
POST PEND 任务与任务 Task asK v 之间的同步 (单向) POST PEND 任务与SR ISRX Ty)之间的同步 (单向) POS PEND 任务与任务 Task Task y之间的同步 (双向) PEND POST 电子科技大学嵌入式件工程中心 EsE匚
电子科技大学嵌入式软件工程中心 ISR x Task y POST PEND 任务与ISR 之间的同步 (单向) Task x Task y POST PEND PEND POST 任务与任务 之间的同步 (双向) 任务与任务 之间的同步 (单向) Task x Task y POST PEND