應(yīng)對無線多媒體挑戰(zhàn)(05-100)
一個RTXC/SS線程是按C函數(shù)編程的,但實體中不設(shè)上下文關(guān)系,當(dāng)它將處理器控制返還給調(diào)度表時也不存放任何參數(shù)。不設(shè)上下文關(guān)系使從進度表至線程這一過程十分迅速,具備在要求的操作期限內(nèi)完成響應(yīng)的明顯優(yōu)點。在線程的執(zhí)行周期內(nèi),它不能直接等待一個系統(tǒng)事件。不設(shè)上下文關(guān)系和不能被阻斷是區(qū)別線程和任務(wù)的兩個主要屬性。
本文引用地址:http://www.ex-cimer.com/article/91483.htm由于線程沒有上下文關(guān)系,必須在它實體內(nèi)完成所需全部數(shù)據(jù)的初始化。當(dāng)操作后,線程返回調(diào)度表不帶返回,也不在堆棧中留下任何運算數(shù)據(jù)。
線程存在于用戶定義的優(yōu)先級內(nèi)。用戶可以定義多個優(yōu)先級,較高優(yōu)先級的線程能搶占在較低優(yōu)先級執(zhí)行的線程。要是處于同一優(yōu)先級,那么就不能搶占正在執(zhí)行的線程,在調(diào)度表準(zhǔn)予它控制處理器前只能等待當(dāng)前的線程完成執(zhí)行周期。
RTOS工具的基本特性是如何管理堆棧,這是它的傳統(tǒng)。RISC RTOS 通常支持多個堆棧(OS1個,每個任務(wù)各1個,管理程序和用戶堆棧)、而DSP RTOS 只管理單個堆棧。這是由于DSP系統(tǒng)中任務(wù)/線程的數(shù)量少且同步事項相對簡單,因而單堆棧實現(xiàn)是最高效率的,也是相對安全的。
多堆棧實現(xiàn)
與單堆棧RTOS不同,控制RTOS使用多堆棧,這樣可為大量的任務(wù)提供分離和控制。由于堆棧必須在上下關(guān)系切換時間或發(fā)生中斷時交換,因此它的效率不高。然而,堆棧在一個特定任務(wù)內(nèi)多少有點獨立的,與RTOS保持分離,即便是某些任務(wù)失敗時也還要繼續(xù)進行下去。
這類RTOS涉及更多的設(shè)計復(fù)雜性,應(yīng)用開發(fā)人員通常自己不編寫,而是傾向于購買現(xiàn)成的多堆棧RTOS。由于市場需求量大,很多RTOS供應(yīng)商,包括Wind River、Enea、 Green Hills、Quadros等都提供多驅(qū)動、多堆棧RTOS。
多堆棧內(nèi)核程序(圖2)既是傳統(tǒng)的,又是靈活的一種多任務(wù)內(nèi)核體系結(jié)構(gòu),旨在下列應(yīng)用中使用:通信、汽車、過程控制以及儀表系統(tǒng)。
這種體系結(jié)構(gòu)對需要快速中斷響應(yīng)時間和在任務(wù)間快速而又確定的切換的系統(tǒng)是十分理想的。每個任務(wù)都有自己的堆棧,讓它與系統(tǒng)事件同步;它清空系統(tǒng)堆棧,供處理內(nèi)核服務(wù)程序以及中斷服務(wù)例行程序使用。
每個堆棧都具有自己的優(yōu)先權(quán),缺省的任務(wù)調(diào)度策略是根據(jù)優(yōu)先權(quán)來搶先的。多堆棧調(diào)度表將處理器控制權(quán)指定給準(zhǔn)備運行的最高優(yōu)先權(quán)任務(wù)。當(dāng)較高優(yōu)先權(quán)任務(wù)準(zhǔn)備運行而低優(yōu)先權(quán)任務(wù)控制著處理器時,調(diào)度表會搶占低優(yōu)先權(quán)任務(wù),將處理器控制權(quán)授予較高優(yōu)先權(quán)任務(wù)中的一個。除了搶先調(diào)度安排,對同等優(yōu)先權(quán)任務(wù),內(nèi)核程序還支持循環(huán)配置和時間分片調(diào)度。某些堆棧RTOS允許使用有別于時間的其它變量,讓時間分片成為制約任務(wù)執(zhí)行持續(xù)時間的通用解決方案。
在很多多堆棧環(huán)境中,除了任務(wù)還有3種附加代碼實體:內(nèi)核服務(wù)API、內(nèi)核服務(wù)程序以及中斷服務(wù)例行程序。任務(wù)和中斷服務(wù)例行程序執(zhí)行應(yīng)用要求的操作,并通過它們相關(guān)聯(lián)的API功能調(diào)用內(nèi)核服務(wù)程序來影響系統(tǒng)的行為。
多堆棧內(nèi)核程序支持內(nèi)核目標(biāo)代碼的類別,而內(nèi)核服務(wù)程序支持這些目標(biāo)代碼。設(shè)置目標(biāo)代碼是為:任務(wù)同步、傳送數(shù)據(jù)、管理事件與計數(shù)器、報警、管理內(nèi)存以及專用實體訪問。憑借系統(tǒng)設(shè)計知識,系統(tǒng)開發(fā)人員可用實用程序來選擇目標(biāo)代碼類別以及它們的屬性,以便調(diào)整代碼的大小和滿足應(yīng)用要求最佳配置的內(nèi)核特性。多堆棧內(nèi)核程序的規(guī)模是隨它最初定位的應(yīng)用而變化的,通常RTXC多堆棧RTOS在4.5KB與20KB這間,這取決于處理器和編釋器的效率。
圖2 典型的多堆棧RTOS體系結(jié)構(gòu)
霍爾傳感器相關(guān)文章:霍爾傳感器工作原理
電度表相關(guān)文章:電度表原理
霍爾傳感器相關(guān)文章:霍爾傳感器原理
評論