'現在大火的嵌入式實時操作系統,你都瞭解多少?'

"

嵌入式實時操作系統強調了什麼?

"

嵌入式實時操作系統強調了什麼?

現在大火的嵌入式實時操作系統,你都瞭解多少?

系統最大的特點當然是嵌入。嵌入就意味著它和硬件的聯繫很強,對硬件的適配和依賴度都是很高的,對於系統移植的難易度也就成了評價嵌入實時系統的重要方面。嵌入式操作系統移植的目的是使嵌入式操作系統能在某個微處理器或微控制器上運行。比如VxWorks是商用操作系統的有很多API函數及相關技術支持,所以移植和二次開發比較容易,但是移植成本較高。嵌入還意味著對於小型的硬件要求,主要是面對實時產生的數據,在數據產生終端進行快速的運算。所以系統極其強調靈敏性和實時性。

另一個特點就是實時。對於實時性的要求,有很多種實現措施。我們一一道來。首先就是分區處理的思想。對於核心的功能劃分,使用戶信息和系統程序和運行分列在不同的區劃裡,保證任務的有效有序運轉。其次, 任務管理是嵌入式實時操作系統的核心和靈魂,決定了操作系統的實時性能。它通常包含優先級設置、多任務調度機制和時間確定性等部分。 嵌入式操作系統支持多任務,每個任務都具有優先級,任務越重要,賦予的優先級應越高。優先級的設置分為靜態優先級和動態優先級兩種。靜態優先級指的是每個任務在運行前都被賦予一個優先級,而且這個優先級在系統運行期間是不能改變的;動態優先級則是指每個任務的優先級(特別是應用程序的優先級)在系統運行時可以動態地改變。 嵌入式操作系統支持多任務,每個任務都具有優先級。任務調度主要是協調任務對計算機系統資源的爭奪使用。對系統資源非常匱乏的嵌入式系統來說,任務調度尤為重要,它直接影響到系統的實時性能。通常,多任務調度機制分為基於優先級搶佔式調度和時間片輪轉調度。

基於優先級搶佔式調度:系統中每個任務都有一個優先級,內核總是將CPU分配給處於就緒態的優先級最高的任務運行。如果系統發現就緒隊列中有比當前運行任務更高的優先級任務,就把當前運行任務置於就緒隊列中,調入高優先級任務運行。系統採用優先級搶佔方式進行調度,可以保證重要的突發事件及時得到處理。

時間片輪轉調度:讓優先級相同的處於就緒狀態的任務按時間片使用CPU,以防止同優先級的某一任務長時間獨佔CPU。

在一般情況下,嵌入式實時操作系統採用基於優先級搶佔式調度與時間片輪轉調度相結合的調度機制。

第三,在運行的執行方式上,VXworks等系統採用進程和線程的執行方式,而市面上其他的系統多采用任務執行方式。

嵌入式實時操作系統函數調用與服務的執行時間應具有可確定性。系統服務的執行時間不依賴於應用程序任務的多少。基於此特徵,系統完成某個確定任務的時間是可預測的。表1具體列出了4種操作系統的調度機制。

VxWorks具有高效的任務管理功能,它支持多任務,可分配256個優先級,支持優先級搶佔式調試和時間片輪轉調度,實時性最好。μC/OS-II內核是針對實時系統的要求設計實現的,只支持基於固定優先級搶佔式調度;調度方法簡單,可以滿足較高的實時性要求。μClinux在結構上繼承了標準Linux的多任務實現方式,分為實時進程和普通進程,分別採用先來先服務和時間片輪轉調度;僅針對中低檔嵌入式CPU特點進行改良,且不支持內核搶佔。eCos調度方法豐富,提供了兩種基於優先級的調度器(即位圖調度器和多級隊列調度器),允許用戶在進行配置時選擇其中一個凋度器,適應性好。

此外,還涉及到任務的中斷管理。

中斷管理是實時系統中一個很重要的部分,系統經常通過中斷與外部事件交互。主要考慮是否支持中斷嵌套、中斷處理機制、中斷延時等。

以VXwoks為例,xWorks操作系統中斷管理採用中斷處理與普通任務分別在不同棧中處理的中斷處理機制,使得中斷只會引發一些關鍵寄存器的存儲,而不會導致任務的上下文切換,從而極大地縮短了中斷延時。同時,VxWorks的中斷處理程序只能在最短時間內通告中斷的發生,而將其他的非實時處理儘量放入被引發的中斷服務程序中來完成,這也縮短了中斷延時。但是凼為中斷服務程序不在一個固定的仟務上下文中執行,而目沒有任務控制塊,所以所有中斷服務程序使用相同的中斷堆棧。為了能處理最壞情況下的中斷嵌套,必須分配足夠大的中斷堆棧空間。

因商業原因,不對其他新型嵌入式實時操作系統做分析。

·有哪些厲害的MPU實時操作系統?

1、VXworks

VxWorks 操作系統是美國WindRiver公司於1983年設計開發的一種嵌入式實時操作系統(RTOS),是嵌入式開發環境的關鍵組成部分。良好的持續發展能力、高性能的內核以及友好的用戶開發環境,在嵌入式實時操作系統領域佔據一席之地。它以其良好的可靠性和卓越的實時性被廣泛地應用在通信、軍事、航空、航天等高精尖技術及實時性要求極高的領域中,如衛星通訊、軍事演習、彈道制導、飛機導航等。在美國的 F-16、FA-18戰鬥機、B-2 隱形轟炸機和愛國者導彈上,甚至連1997年4月在火星表面登陸的火星探測器、2008年5月登陸的鳳凰號,和2012年8月登陸的好奇號也都使用到了VxWorks上。

VxWorks操作系統有以下部件組成:

多任務調度(採用基於優先級搶佔方式,同時支持同優先級任務間的分時間片調度)

任務間的同步

進程間通信機制

中斷處理

定時器和內存管理機制

總之,VxWorks的系統結構是一個相當小的微內核的層次結構。內核僅提供多任務環境、進程間通信和同步功能。這些功能模塊足夠支持VxWorks在較高層次所提供的豐富的性能的要求。

2、QNX

QNX是一種商用的遵從POSIX規範的類Unix實時操作系統,目標市場主要是面向嵌入式系統。它可能是最成功的微內核操作系統之一。

QNX成立於1980年,是加拿大一家知名的嵌入式系統開發商。

QNX的應用範圍極廣,包含了:控制保時捷跑車的音樂和媒體功能、核電站和美國陸軍無人駕駛Crusher坦克的控制系統[2],還有RIM公司的BlackBerry PlayBook平板電腦。

"

嵌入式實時操作系統強調了什麼?

現在大火的嵌入式實時操作系統,你都瞭解多少?

系統最大的特點當然是嵌入。嵌入就意味著它和硬件的聯繫很強,對硬件的適配和依賴度都是很高的,對於系統移植的難易度也就成了評價嵌入實時系統的重要方面。嵌入式操作系統移植的目的是使嵌入式操作系統能在某個微處理器或微控制器上運行。比如VxWorks是商用操作系統的有很多API函數及相關技術支持,所以移植和二次開發比較容易,但是移植成本較高。嵌入還意味著對於小型的硬件要求,主要是面對實時產生的數據,在數據產生終端進行快速的運算。所以系統極其強調靈敏性和實時性。

另一個特點就是實時。對於實時性的要求,有很多種實現措施。我們一一道來。首先就是分區處理的思想。對於核心的功能劃分,使用戶信息和系統程序和運行分列在不同的區劃裡,保證任務的有效有序運轉。其次, 任務管理是嵌入式實時操作系統的核心和靈魂,決定了操作系統的實時性能。它通常包含優先級設置、多任務調度機制和時間確定性等部分。 嵌入式操作系統支持多任務,每個任務都具有優先級,任務越重要,賦予的優先級應越高。優先級的設置分為靜態優先級和動態優先級兩種。靜態優先級指的是每個任務在運行前都被賦予一個優先級,而且這個優先級在系統運行期間是不能改變的;動態優先級則是指每個任務的優先級(特別是應用程序的優先級)在系統運行時可以動態地改變。 嵌入式操作系統支持多任務,每個任務都具有優先級。任務調度主要是協調任務對計算機系統資源的爭奪使用。對系統資源非常匱乏的嵌入式系統來說,任務調度尤為重要,它直接影響到系統的實時性能。通常,多任務調度機制分為基於優先級搶佔式調度和時間片輪轉調度。

基於優先級搶佔式調度:系統中每個任務都有一個優先級,內核總是將CPU分配給處於就緒態的優先級最高的任務運行。如果系統發現就緒隊列中有比當前運行任務更高的優先級任務,就把當前運行任務置於就緒隊列中,調入高優先級任務運行。系統採用優先級搶佔方式進行調度,可以保證重要的突發事件及時得到處理。

時間片輪轉調度:讓優先級相同的處於就緒狀態的任務按時間片使用CPU,以防止同優先級的某一任務長時間獨佔CPU。

在一般情況下,嵌入式實時操作系統採用基於優先級搶佔式調度與時間片輪轉調度相結合的調度機制。

第三,在運行的執行方式上,VXworks等系統採用進程和線程的執行方式,而市面上其他的系統多采用任務執行方式。

嵌入式實時操作系統函數調用與服務的執行時間應具有可確定性。系統服務的執行時間不依賴於應用程序任務的多少。基於此特徵,系統完成某個確定任務的時間是可預測的。表1具體列出了4種操作系統的調度機制。

VxWorks具有高效的任務管理功能,它支持多任務,可分配256個優先級,支持優先級搶佔式調試和時間片輪轉調度,實時性最好。μC/OS-II內核是針對實時系統的要求設計實現的,只支持基於固定優先級搶佔式調度;調度方法簡單,可以滿足較高的實時性要求。μClinux在結構上繼承了標準Linux的多任務實現方式,分為實時進程和普通進程,分別採用先來先服務和時間片輪轉調度;僅針對中低檔嵌入式CPU特點進行改良,且不支持內核搶佔。eCos調度方法豐富,提供了兩種基於優先級的調度器(即位圖調度器和多級隊列調度器),允許用戶在進行配置時選擇其中一個凋度器,適應性好。

此外,還涉及到任務的中斷管理。

中斷管理是實時系統中一個很重要的部分,系統經常通過中斷與外部事件交互。主要考慮是否支持中斷嵌套、中斷處理機制、中斷延時等。

以VXwoks為例,xWorks操作系統中斷管理採用中斷處理與普通任務分別在不同棧中處理的中斷處理機制,使得中斷只會引發一些關鍵寄存器的存儲,而不會導致任務的上下文切換,從而極大地縮短了中斷延時。同時,VxWorks的中斷處理程序只能在最短時間內通告中斷的發生,而將其他的非實時處理儘量放入被引發的中斷服務程序中來完成,這也縮短了中斷延時。但是凼為中斷服務程序不在一個固定的仟務上下文中執行,而目沒有任務控制塊,所以所有中斷服務程序使用相同的中斷堆棧。為了能處理最壞情況下的中斷嵌套,必須分配足夠大的中斷堆棧空間。

因商業原因,不對其他新型嵌入式實時操作系統做分析。

·有哪些厲害的MPU實時操作系統?

1、VXworks

VxWorks 操作系統是美國WindRiver公司於1983年設計開發的一種嵌入式實時操作系統(RTOS),是嵌入式開發環境的關鍵組成部分。良好的持續發展能力、高性能的內核以及友好的用戶開發環境,在嵌入式實時操作系統領域佔據一席之地。它以其良好的可靠性和卓越的實時性被廣泛地應用在通信、軍事、航空、航天等高精尖技術及實時性要求極高的領域中,如衛星通訊、軍事演習、彈道制導、飛機導航等。在美國的 F-16、FA-18戰鬥機、B-2 隱形轟炸機和愛國者導彈上,甚至連1997年4月在火星表面登陸的火星探測器、2008年5月登陸的鳳凰號,和2012年8月登陸的好奇號也都使用到了VxWorks上。

VxWorks操作系統有以下部件組成:

多任務調度(採用基於優先級搶佔方式,同時支持同優先級任務間的分時間片調度)

任務間的同步

進程間通信機制

中斷處理

定時器和內存管理機制

總之,VxWorks的系統結構是一個相當小的微內核的層次結構。內核僅提供多任務環境、進程間通信和同步功能。這些功能模塊足夠支持VxWorks在較高層次所提供的豐富的性能的要求。

2、QNX

QNX是一種商用的遵從POSIX規範的類Unix實時操作系統,目標市場主要是面向嵌入式系統。它可能是最成功的微內核操作系統之一。

QNX成立於1980年,是加拿大一家知名的嵌入式系統開發商。

QNX的應用範圍極廣,包含了:控制保時捷跑車的音樂和媒體功能、核電站和美國陸軍無人駕駛Crusher坦克的控制系統[2],還有RIM公司的BlackBerry PlayBook平板電腦。

現在大火的嵌入式實時操作系統,你都瞭解多少?

3、Rtems

RTEMS, 即: 實時多處理器系統(Real Time Executive for Multiprocessor Systems),是一個開源的無版稅實時嵌入操作系統RTOS。

它最早用於美國國防系統,早期的名稱為實時導彈系統(Real Time Executive for Missile Systems),後來改名為實時軍用系統(Real Time Executive for Military Systems),現在由OAR公司負責版本的升級與維護。無論是航空航天、軍工,還是民用領域RTEMS都有著極為廣泛的應用。

"

相關推薦

推薦中...