主要產品系列 |
實時操作系統(RTOS)設計成提供一個對真實世界的事件的及時響應(timely response)。出現在真實世界中的事件可能有一個時間限制(deadline),在此期限之前,實時/嵌入式系統必須確保在有限時間內對此事件做出相應的響應。根據相應事件的時間限制,嵌入式實時操作系統可以分為兩類:
1、硬實時嵌入式系統
此類實時系統必須保證在一定的時間里,對一定的外部事件做出相應的響應,如果在一定時間里沒有能夠做出相應的響應,就會帶來災難性的后果,也即是說,此類系統對于時間的相應快慢有非常嚴格的要求,比如:電力監控系統等。
2、軟實時嵌入式系統
此類實時系統保證在一定的時間里,對一定的外部事件做出相應的響應,但是如果在一定時間里沒有能夠做出相應的響應,不會帶來災難性的后果,只是給用戶帶來一些不快樂的體驗,比如:用戶界面的顯示。
不同的系統,有不同實現方式,對于硬實時嵌入式系統,主要注重與實時性和可靠性,一般沒有文件系統,虛擬內存管理等,主要用于實時監控等,典型的有:VxWorks,pSOS,uCOS-II等。軟實時嵌入式系統注重實時性,也注重實用性,主要用于消費電子等,典型的有:嵌入式Linux。
實時嵌入式操作系統在現在應用越來越多,其中大部分是商業的嵌入式操作系統,這些系統提高了豐富的開發工具和穩定的系統,很大的推動了嵌入式系統地發展,但是由于商業性,使我們很少有機會了解嵌入式操作系統的實現內幕。隨著開源軟件的興起,使得我們有機會了解嵌入式操作系統的內部實現成為可能。
由于多年的嵌入式開發,對于嵌入式操作系統特別的感興趣,趁春節的時間,想讀讀開源的嵌入式操作系統源碼,大體比較一下嵌入式操作系統的具體實現。
對于開源的嵌入式操作系統,現在比較流行的主要有:嵌入式Linux,uCOS-II, eCOS,FreeRTOS等,這里主要想以嵌入式Linux,uCOS-II為例,對嵌入式操作系統的一些基本概念及其實現方式進行一些比較。之所以選擇這兩操作系統,因為:
1、嵌入式Linux是現在用得最多的軟實時嵌入式操作系統,而且也是最著名的開源軟件之一
2、uCOS-II是一用得較多的硬實時嵌入式操作系統,盡管商業應用需要Licence,對于科研等可以免費使用,而且許多愛好者已經把它移植到了各種硬件平臺。
3、盡管硬實時嵌入式操作系統和軟實時嵌入式操作系統有很大的區別,但是可以通過對他們的比較,使我們更容易了解實時嵌入式操作系統的基本概念和組成要素。
實時多任務嵌入式系統基本概念:
對于嵌入式系統,不像通用的計算機,提供通用的軟硬件平臺,而是對于特定的需求定制的系統,一般要求便攜化,資源少,利用比較少的資源配置來實現特定的功能。如何在較小尺寸,較少的資源情況下,快速響應外部多種特定的事件,成為嵌入式系統的主要需求。 這就要求嵌入式系統要有以下的模塊:
1、中斷處理
在沒有嵌入式系統之前,對于一般的工控,都是用前后臺機制實現的,中斷是整個系統的推動力。在嵌入式系統相中,中斷處理也是響應外部事件的主要途徑。
2、時間管理
對于實時操作系統來說,時間管理是系統的核心,整個系統就是由一定間隔的時鐘中斷驅動的。在一般的實時操作系統中,主要有兩種時間管理:OS定時器和RTC定時器。
3、資源管理與資源共享
由于有限的資源,在嵌入式系統中,資源的管理也非常的重要,CPU,IO,內存等是系統基本的資源,如何有效的應用和管理是一個很大的話題。同時如何共享,如何提供任務間資源的互斥,也是一穩定系統必不可缺的條件。
4、多任務
在嵌入式系統中,任務也可以叫進程,對于多任務系統,一般有多個任務同時存在于系統中,任務在嵌入式系統中有各種各樣的狀態,比如:運行態,IDLE態等。
5、任務的實時調度與切換
對于多任務的管理及其實時調度,決定了此系統的主要特征。任務的調度與如何切換,也是嵌入式多任務系統的一個基本問題。
6、進程間(任務間)通訊
對于不同任務間的通訊,在不同的系統中有不同的實現,大體與POSIX的IPC 相似。但在硬實時嵌入式系統中,事件和消息用得較多。 對于LINUX系統,還有虛擬內存管理和文件系統管理,在硬實時嵌入式系統中,由于關注點不同,這方面的應用不多。
聲明:本站部分內容根據互聯網資料整理而成,若侵犯您的權益,請聯系我們,我們會盡快處理。