什么是RTOS?
嵌入式系統(tǒng)中的實(shí)時(shí)操作系統(tǒng)
在RTOS中可以期待什么?
RTOS最佳實(shí)踐
如何選擇嵌入式RTOS
PX5 RTOS如何幫助您?
第三節(jié) 在RTOS中可以期待什么?
RTOS使用各種機(jī)制來管理任務(wù)、事件和內(nèi)存,以確保嵌入式系統(tǒng)滿足時(shí)間約束。在本節(jié)中,您將了解構(gòu)建嵌入式應(yīng)用程序時(shí)需要考慮的RTOS功能,例如確定性、空間和時(shí)間分離、調(diào)度、內(nèi)存管理和進(jìn)程間通信。
RTOS確定性
保證任務(wù)在指定時(shí)間內(nèi)運(yùn)行的RTOS稱為確定性的RTOS。按照RTOS的設(shè)計(jì)目標(biāo),即使有意外輸入,也可以保證確定性。PX5 RTOS是一個(gè)確定性RTOS的示例,具有亞微秒上下文切換和API調(diào)用。
空間與時(shí)間分離
空間分離或空間隔離是指在安排在自己的私有內(nèi)存空間中運(yùn)行的任務(wù)。時(shí)間分離確保任務(wù)在自己的時(shí)間內(nèi)獨(dú)立運(yùn)行。這些技術(shù)通過防止兩個(gè)或多個(gè)任務(wù)同時(shí)訪問同一內(nèi)存空間來保護(hù)內(nèi)存和其他資源。
RTOS調(diào)度
RTOS采用調(diào)度算法來確定任務(wù)在處理單元上運(yùn)行的順序,從而確保它們滿足時(shí)間限制。實(shí)時(shí)系統(tǒng)中并發(fā)的基本單位是線程,RTOS調(diào)度程序使用三個(gè)參數(shù)來調(diào)度線程:
? 優(yōu)先級(jí)。線程被分配一個(gè)優(yōu)先級(jí),調(diào)度程序確保在必要時(shí)優(yōu)先級(jí)較高的線程搶占優(yōu)先級(jí)較低的任務(wù)。這樣一來,關(guān)鍵任務(wù)(例如汽車的油門控制)就可以運(yùn)行,而不會(huì)被不太重要的任務(wù)(例如數(shù)據(jù)記錄)延遲。
? 截止時(shí)間。有兩種類型的截止時(shí)間。絕對(duì)截止時(shí)間是作業(yè)必須完成的確切時(shí)間。相對(duì)截止時(shí)間是給定輸入時(shí)間后允許的最大完成時(shí)間。
? 狀態(tài)。線程要么處在就緒(可在處理資源上執(zhí)行),要么正在運(yùn)行(正在執(zhí)行),要么被阻止(等待事件,例如網(wǎng)絡(luò)數(shù)據(jù))的狀態(tài)下。
任務(wù)的時(shí)間片調(diào)度 來自:《嵌入式實(shí)時(shí)操作系統(tǒng)—理論基礎(chǔ)》圖2.4
搶占式RTOS和協(xié)作式RTOS
搶占式和協(xié)作式多任務(wù)處理是RTOS用于同時(shí)執(zhí)行多個(gè)任務(wù)或進(jìn)程的兩種方法。搶占式RTOS允許當(dāng)前正在運(yùn)行的任務(wù)停止執(zhí)行,同時(shí)RTOS將CPU分配給另一個(gè)進(jìn)程。在協(xié)作式多任務(wù)處理中,只有任務(wù)本身可以將控制權(quán)移交給另一個(gè)任務(wù),例如當(dāng)它完成其工作或被阻止時(shí)。
RTOS內(nèi)存管理
RTOS將物理內(nèi)存劃分為不同的部分,例如堆棧和堆。堆棧存儲(chǔ)函數(shù)的調(diào)用信息及其局部變量,這需要仔細(xì)管理以避免內(nèi)存越界錯(cuò)誤。堆分配動(dòng)態(tài)內(nèi)存,用于應(yīng)用程序各部分之間的全局信息和數(shù)據(jù)共享。
為了有效地管理內(nèi)存,RTOS使用諸如首次適應(yīng)和最佳適應(yīng)等技術(shù)來分配段而不覆蓋其他段。
內(nèi)存使用的問題,來自:《嵌入式實(shí)時(shí)操作系統(tǒng)—理論基礎(chǔ)》圖13.6
進(jìn)程間通信(IPC)
進(jìn)程間通信是RTOS允許進(jìn)程相互同步和通信的機(jī)制。IPC有兩個(gè)常見方法:在進(jìn)程之間傳遞消息和在進(jìn)程之間共享內(nèi)存。
RTOS的三種常見通信類型是:
? RTOS隊(duì)列:內(nèi)存中的先進(jìn)先出(FIFO)緩沖區(qū),支持在任務(wù)之間傳遞消息。
? RTOS信號(hào)量:任務(wù)之間的信號(hào),不包含數(shù)據(jù),用于觸發(fā)接收任務(wù)的操作。
? RTOS互斥鎖:用于保護(hù)代碼關(guān)鍵部分的標(biāo)志,一次只允許一個(gè)線程訪問它。
《嵌入式實(shí)時(shí)操作系統(tǒng)—理論基礎(chǔ)》Jim Cooling 博士著 何小慶、何靈淵、張愛華翻譯,清華大學(xué)出版社出版各大電商有售;歡迎大家選購。
麥克泰技術(shù)是PX5 RTOS在中國的代理商,麥克泰技術(shù)具有超過20年嵌入式實(shí)時(shí)操作系統(tǒng)的市場、服務(wù)和培訓(xùn)經(jīng)驗(yàn),積極推進(jìn)預(yù)認(rèn)證的功能安全RTOS在汽車和工業(yè)領(lǐng)域的應(yīng)用,大家有需要可以聯(lián)系麥克泰技術(shù)。
-
嵌入式系統(tǒng)
+關(guān)注
關(guān)注
40文章
3494瀏覽量
128670 -
RTOS
+關(guān)注
關(guān)注
20文章
793瀏覽量
119032 -
實(shí)時(shí)操作系統(tǒng)
+關(guān)注
關(guān)注
1文章
192瀏覽量
30652
原文標(biāo)題:什么是實(shí)時(shí)操作系統(tǒng)(3)-在 RTOS 中可以期待什么?
文章出處:【微信號(hào):麥克泰技術(shù),微信公眾號(hào):麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論