- 相關推薦
單片機系統中的多任務多線程機制的實現
摘要:單片機系統的開發多情況下不是在嵌入式操作系統平臺上進行的,而是直接基于處理器編寫。在多任務并行執行的要求下,可以借鑒操作系統中的任務和線程機制,對資源和處理器合理進行調度。本文以實例對此進行討論。關鍵詞:單片機 任務 線程 并行處理
引言
首先要指出的是一點是,我們不是討論嵌入式實時多任務操作系統(RTOS)的設計。我們討論的是,在不使用RTOS的控制系統中,如何體現多任務多線程機制的程序設計思想。
一些嵌入式設備可以需要操作系統,例如掌上電腦、PDA、網絡控制器等高性能的手持設備和移動設備。它們往往和無線通信、互聯網訪問和多媒體處理等復雜而強大的功能聯系在一起;對CPU要求也很高,往往是以通用CPU為原型的各種高端嵌入式處理器。
作為一個完整的操作系統,RTOS有一個可靠性很高的實時內核,將CPU時間、中斷、I/O、定時器等資源都包括起來,留給用戶一個標準的應用程序接口(API);根據各個任務的優先級,合理地在不同任務之間分配CPU的時間,保證程序執行的實時性、可靠性。內核一般都能提供任務調度和中斷服務等功能,部分高檔商業化產品,如Windows XP Embedded,甚至支持32位地址空間、虛擬存儲管理、多進程以及嵌入式操作系統中不多見的動態鏈接庫(DLL)。對于這些RTOS來說,多任務實時處理不是件困難的事情。
但更多的情況下,用戶使用的是另一類CPU——微控制器,即單片機,往往是按照某一流程執行單一任務。出于成本和技術上的原因,這類軟件開發多數還是基于處理器直接編寫,沒有選配實時多任務操作系統作為開發平臺,也不需要將系統軟件和應用軟件分開處理。但是在實際應用中,有時也會面臨同時處理多個并行任務的要求,這就需要安排一種運行機制,來模擬RTOS中的處理方法。
1 RTOS中的設計思想
單處理機多道程序系統具有如下特征:
①從宏觀上看,幾種程序“同時運行”。即它們先后開始了各自的運行,且均未結束。
②從微機上看,幾道程序“交替執行”。對于單處理機系統而言,它們只能輪流地占用CPU。
其實質是指幾道程序在處理機中“交替執行”。我們按照現在常用的方法,把一道程序和一個任務對應,把任務中的每個分開的、獨立執行的部分稱之為線程。
具體到RTOS來說,一方面,實時操作中的多任務引起的并發性和實時性,要求操作系統對資源分配具有更強的控制能力。通常的辦法是采取設立前臺與后臺兩個作業的分配辦法。前臺作業中包含實時采集、控制、處理有關的任務,任務優先級較高;后臺作
[1] [2] [3] [4]
【單片機系統中的多任務多線程機制的實現】相關文章:
注意覺察系統:實現多任務環境下的人機交互04-29
TDCS系統中VLAN的設計與實現05-02
多任務編程方法在船舶電力監控系統中的應用04-26
ETC系統中貸款費的實現設計05-03
PIC單片機在飛機加油系統中的應用04-30
多數據庫系統互聯機制的設計與實現05-03
基于單片機的交通燈控制系統設計與實現05-02
飛機制造過程中的MBOM實現技術05-01