RTOS設計中的非同步事件處理(Handler)方式

Make small ones into better one.

以一個基於非同步事件處理的RTOS小內核(eM4)原型實現為基礎介紹設計概念。


eM4 Handler事件處理簡介

Handler為Event的處理資源實體,在Handler獲得處理器執行權時(處於Running態),對掛載至Set之上的Event按照FIFO的方式進行處理。

事件處理的簡要流程圖如下:

Handler事件處理簡要示意圖

Handler處理的特性簡述

  • Handler在事件的處理的過程中遵循的原則
  1. 僅提供事件處理的機制,事件處理的策略由應用提供;
  2. 儘可能處理掛載至Set上的事件(含處理過程中非同步事件的掛載);
  • Handler在事件的處理特徵
  1. 可重入性;
  2. 不同場景下Event處理方式的查找;
  3. 使最高優先順序中的事件得到快速處理
  4. ......

擴展閱讀

  1. Handler事件處理過程示意代碼參見文章 RTOS設計中的可重入函數-2_Re-entrant考慮 「eM4 Handler事件處理過程」章節。
  2. 關於機制與策略的討論參見文章 相關Linux/Linus 的觀點摘要
  3. 該系列其它文章參見本專欄和專欄 事件觸發的操作系統小內核一步一步實現原理

推薦閱讀:

精簡封裝技巧6---- 『:』 關鍵詞的用法
RTOS移植與naked選項的使用-1_必要性與用法
RTOS移植與naked選項的使用-2_實際效果與擴展閱讀

TAG:操作系統內核 | 嵌入式系統 | 物聯網 |