Rtems

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

基本介紹

簡介,歷史,特點,

簡介

RTEMS(多處理系統實時可執行體)是一個為嵌入式系統而設計的自由的開源實時作業系統
在縮寫詞RTEMS取其現在的含義之前,初始時代表飛彈系統實時可執行體,然後變成了軍用系統實時可執行體
RTEMS曾被移殖到多個以不同類型的中央處理器(CPU)為基礎的計算機系統上。這些計算機系統所採用的CPU,計有:ARMi386m68kMIPSPowerPCSH等多種不同的處理器。RTEMS被設計為支持多種開放的API如POSIX和uITRON。FreeBSD和TCP/IP棧還有多種檔案系統也被支持。OAR公司當前在維護和管理RTEMS項目。RTEMS也被一些EPICS站點所使用。
RTEMS是在GPL授權條款下分發,但它允許將RTEMS的目標檔案連結至其它檔案而不需將整個檔案以GPL授權覆蓋,這方面有點像LGPL

歷史

它最早用於美國國防系統,早期的名稱為實時飛彈系統(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的實現基本相同。
截止到2012年,RTEMS最新的穩定版本是4.10,開發版是4.11。在國內,RTEMS主要用在航空航天和軍工領域。 我們希望這個網站能普及RTEMS知識,幫助RTEMS在民用領域發揮更大的作用。

相關詞條

熱門詞條

聯絡我們