中斷配合作業系統形成掛起等待模式,掛起等待是順序程式設計。
協程是對擇機輪詢的簡化,將顯式的狀態機設計轉為隱式狀態機,讓非同步程式設計看起來像順序程式設計,簡化設計、提高可讀性。
事件驅動模型是中斷模式的泛化。
dma和fifo是優化措施,將多個中斷或輪詢簡化為乙個中斷或輪詢。
底層驅動是非同步程式設計,上層應用可以按非同步程式設計來使用,也可以按順序程式設計來使用,非同步程式設計可以封裝成順序程式設計。
底層驅動是順序程式設計,上層應用只能按順序程式設計來使用,順序程式設計不能封裝成非同步程式設計。
輪詢模式實現起來比較簡單,但執行效率低,會浪費處理運算資源,擇機輪詢的及時性較差。
中斷模式執行效率高,及時性高,實現起來麻煩一些。
應該按應用需求選擇採用哪種模式,輪詢和中斷各有千秋,各有各的好處。
驅動 按鍵 中斷模式
驅動 按鍵 中斷模式 eint drv.c 驅動 include include include include include include include include include include include static struct class eintdrv class sta...
輪詢 和 中斷 的比較
while 1 週期連續 的檢測外部事件的發生 消耗大量cpu的處理時間 輪詢過程需要和其他 結合 由於cpu可能需要處理其他事件 可能是無關緊要的 可能丟失關鍵事件 週期連續 的檢測外部事件的發生 消耗大量cpu的處理時間 輪詢過程需要和其他 結合 由於cpu可能需要處理其他事件 可能是無關緊要的...
中斷和輪詢的特點
輪詢 對i o裝置的程式輪詢的方式,是早期的計算機系統對 i o裝置的一種管理方式。它定時對各種裝置輪流詢問一遍有無處理要求 輪流詢問之後,有要求的,則加以處理。在處理i o裝置的要求之後,處理機返回繼續工作。儘管輪詢需要時間,但輪詢要比 i o裝置的速度要快得多,所以一般不會發生不能及時處理的問題...