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