Rtems

Rtems,是一個開源的無版稅實時嵌入作業系統RTOS。

RTEMS, 即: 實時多處理器系統(Real Time Executive for Multiprocessor Systems),是一個開源的無版稅實時嵌入作業系統RTOS。 它最早用於美國國防系統,早期的名稱為實時飛彈系統(Real Time Executive for Missile Systems),後來改名為實時軍用系統(Real Time Executive for Military Systems),現在由oar公司負責版本的升級與維護。目前無論是航空航天、軍工,還是民用領域RTEMS都有著極為廣泛的套用。
從體系結構上來看,RTEMS是微核心搶占式的實時系統,他具有下面的優點:
優秀的實時性能
支持硬實時和軟實時(可搶占核心)
支持優先權繼承,防止優先權反轉
支持單調周期調度
支持優先權高度協定
非常的穩定
運行速度快
支持多種CPU,無論是ARM, MIPS,PowerPC,i386還是DSP,AVR,Zilog,都可以找到對應的BSP。
高度可剪裁核心(目標系統小只有30KB;大可上百兆)1,2,3
占用系統資源小,在32位系統中最小的核心只有30Kb左右1,2
支持多處理器(不同於SMP,RTEMS中多個處理器是協作關係)
提供POSIX API,Linux/UNIX下的程式可以方便移植
提供完整的BSD的TCP/IP協定棧以及FTP、WebServer、NFS等服務
使用面向對象思想設計,可以大大縮短開發周期
核心代碼使用C/C++寫作,可移植性好
支持ISO/ANSI C庫
支持ISO/ANSI C++庫以及STL庫
支持精簡的可重入glibc庫
支持圖形用戶界面(Microwindows/Nano-X)
支持檔案系統(FAT,IMFS等)
支持多種調試模式(包括GDB,DDD,串口調試,乙太網調試)
支持32位處理器,Tiny RTEMS項目將對8位和16位處理器進行支持2
支持JAVA虛擬機
(注1:最小核心指的是只包含BSP、任務調度、記憶體模組這些功能的核心。它的大小和CPU指令集、外設多少、二進制代碼格式等相關。CPU是ARM7時,產生的ELF格式標準ARM目標可以減少到46kb。通常來說如果只需要最主要的功能,未壓縮目標目標可以控制在60kb(核心+BSP+簡單套用),這比起Linux2.4 壓縮後還有700K的龐大體積來說,更適合成本體積敏感的套用)
(注2:現在也有hacker主持Tiny RTEMS項目,該項目中,未壓縮的最小的RTEMS bin鏡像(核心+BSP)只有20kb。該項目將RTEMS id變成了16bit了,此外該項目將BSD TCP/IP換成了lwip。這樣RTEMS變成了能給8bit和16bit用戶使用的小型RTOS,COOL!!。)
(注3:如果只是RTEMS可管理的存儲空間,rtems.com公布的套用中,基於RTEMS的飛行記錄儀提供多達8G的存儲空間。)
RTEMS在性能上絲毫不輸於VxWorks,他和VxWorks以及RtLinux的性能比較可以參考《RTEMS簡介》。他在全球有不少的用戶,尤其是在通信、航空航天、工業控制、軍事等領域有著非常廣泛的套用,在系統實現上,RTEMS和VxWorks以及NucleusPlus的實現基本相同。
RTEMS的官方網站是www.rtems.com,當前最新的穩定版本是4.10,開發版是4.11。在國內,RTEMS主要用在航空航天和軍工領域。 我們希望這個網站能普及RTEMS知識,幫助RTEMS在民用領域發揮更大的作用。

相關詞條

相關搜尋

熱門詞條

聯絡我們