1. 程式人生 > >RTthread學習筆記————第1章 嵌入式作業系統

RTthread學習筆記————第1章 嵌入式作業系統

  • 什麼是作業系統 

作業系統是指管理和控制計算機硬體與軟體資源的計算機程式,是直接執行在計算機上的最基 本的系統軟體,任何其他軟體都必須在作業系統的支援下才能執行,按應用領域來劃分,可分為桌 面作業系統、伺服器作業系統、移動作業系統、和嵌入式作業系統幾類。

 嵌入式作業系統是指是用在嵌入式系統的作業系統。嵌入式系統使用非常廣泛,可以理解為除 了伺服器、個人電腦、移動裝置外的計算機都是嵌入式裝置。嵌入式系統在我們的生活中無處不在。

嵌入式系統具有某種特定的功能,專用性強功能相對單一這樣的特點使得嵌入式系統只需具備相匹配的少量硬體資源,就可完成所需的特定功能,因而也使成本能得到有效的控制。

  • 嵌入式作業系統框圖 

 

  •  實時系統 

實時系統是一種需求傾向性的系統,對於實時的任務需要在第一 時間內做出迴應,而對非實時任務則可以在實時事件到達時為之讓路——被搶佔。所以實時系統也 可以看成是一個等級系統,不同重要性的任務具有不同的優先等級:重要的任務能夠優先被響應執 行,非重要的任務可以適當往後推遲。

舉一個例子說明:假設一顆子彈從 20 米外射向一個玻璃杯,子彈的速度是 v 米/秒,那麼經過 t1=20/v 秒後,子彈將擊碎玻璃杯。而如果有一個保護系統在檢測到子彈射出後,把玻璃杯拿走了, 假設整個過程持續 t2 秒的時間,如果 t2 < t1,玻璃杯就不會被擊碎,那麼這個系統就可以看成是 一個實時系統。 (實時系統並不代表著對所有輸入事件具備實時響應,而是在指定的時間內完成 對事件的響應)

  •  實時系統的軟實時和硬實時

軟實時:但現實中也存在這樣一種系統,在多數情況下,它能夠嚴格地在規定的時間內完成任務,但偶爾它 也會超出這個給定的時間範圍少許才能正確地完成任務,我們通常把這種系統稱為軟實時系統。

硬實時:硬實時系統嚴格限定在規定的時間內完成任務,否則就可能導致災難的發生。例如導彈攔截系 統,汽車引擎系統等,當這些系統不能滿足規定的響應時間時,即使只是偶爾,也將導致車毀人亡 等重大災難的發生。

  •  嵌入式實時作業系統

    前後臺系統

          

 這樣的前後臺系統在實時性處理方面存在缺陷,例如任務 1 是重要任務,需要能夠得到及時響 應,在執行任務 4 的時候,產生中斷,任務 1 執行的條件被滿足,最理想的快速響應方式是任務 1 立即被投入執行,但是在前後臺程式中做不到,因為任務是被順序執行的,即使是任務 1 焦急萬分, 也必須等待任務 4 處理完畢後,才能被執行。

       搶佔式系統

嵌入式實時作業系統被設計成為一個搶佔式系統,能夠解決上述的實時性問題,它把任務分為 不同的優先順序等級,高優先順序任務當執行條件被滿足時,可以打斷低優先順序任務優先執行,從而極 大地提高了系統實時性。

總體來說,嵌入式作業系統是應用於嵌入式系統的軟體,用來對接嵌入式底層硬體與上層應用 軟體,作業系統將底層驅動封裝起來為開發者提供功能介面,極大地提高了應用程式的開發效率。

  • RTthread

RT-Thread 是國內的一款嵌入式實時作業系統,誕生於 2006 年,許可證類似 FreeRTOS,以開 源、免費的方式進行釋出。與 FreeRTOS 和 uC/OS 不同的是,RT-Thread 自建立之初的定位就不僅 是一個 RTOS 核心,而是包含網路、檔案系統、GUI 介面等元件的中介軟體平臺,它秉承開源、免費 的思想,積聚吸收社群的力量來不斷髮展壯大。

本章主要對嵌入式實時系統做了簡單的介紹,嵌入式作業系統是嵌入式系統的作業系統,是應 用於嵌入式系統的軟體,生活中無處不在。嵌入式作業系統又分為實時作業系統與非實時作業系統。