當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]本文對四種實時操作系統(tǒng)(RTOS)特性進(jìn)行分析和比較。它們是:Lynx實時系統(tǒng)公司的LynxOS、QNX軟件系統(tǒng)有限公司的QNX以及兩種具有代表性的實時Linux;新墨西哥工學(xué)院的RT-Linux和堪薩斯大學(xué)的KURT-Linux.

實時Linux與其它RTOS的比較

本文對四種實時操作系統(tǒng)(RTOS)特性進(jìn)行分析和比較。它們是:Lynx實時系統(tǒng)公司的LynxOS、QNX軟件系統(tǒng)有限公司的QNX以及兩種具有代表性的實時Linux——新墨西哥工學(xué)院的RT-Linux和堪薩斯大學(xué)的KURT-Linux.

近年來,實時操作系統(tǒng)在多媒體通信、在線事務(wù)處理、生產(chǎn)過程控制、交通控制等各個領(lǐng)域得到廣泛的應(yīng)用,因而越來越引起人們的重視。

基本特征概述

*QNX是一個分布式、嵌入式、可規(guī)模擴展的實時操作系統(tǒng)。它遵循POSIX.1 (程序接口)和POSIX.2 (Shell和工具)、部分遵循POSIX.1b(實時擴展)。它最早開發(fā)于1980年,到現(xiàn)在已相當(dāng)成熟。

*LynxOS是一個分布式、嵌入式、可規(guī)模擴展的實時操作系統(tǒng),它遵循POSIX.1a、POSIX.1b和POSIX.1c標(biāo)準(zhǔn)。它最早開發(fā)于1988年。

*RT-Linux是一個嵌入式硬實時操作系統(tǒng),它部分支持POSIX.1b標(biāo)準(zhǔn)。

*KURT-Linux不是為嵌入式應(yīng)用設(shè)計的,不同于硬(hard)實時/軟(soft)實時應(yīng)用,他們提出“嚴(yán)格(firm)”實時應(yīng)用的概念,如一些多媒體應(yīng)用和ATM網(wǎng)絡(luò)應(yīng)用,KURT是為這樣一些應(yīng)用設(shè)計的“嚴(yán)格的”實時系統(tǒng)。

體系結(jié)構(gòu)異同

實時系統(tǒng)的實現(xiàn)多為微內(nèi)核體系結(jié)構(gòu),這使得核心小巧而可靠,易于ROM固化,并可模塊化擴展。微內(nèi)核結(jié)構(gòu)系統(tǒng)中,OS服務(wù)模塊在獨立的地址空間運行,所以,不同模塊的內(nèi)存錯誤便被隔離開來。但它也有弱點,進(jìn)程間通信和上下文切換的開銷大大增加。相對于大型集成化內(nèi)核系統(tǒng)來說,它必須靠更多地進(jìn)行系統(tǒng)調(diào)用來完成相同的任務(wù)。

*QNX是一個微內(nèi)核實時操作系統(tǒng),其核心僅提供4種服務(wù):進(jìn)程調(diào)度、進(jìn)程間通信、底層網(wǎng)絡(luò)通信和中斷處理,其進(jìn)程在獨立的地址空間運行。所有其它OS服務(wù),都實現(xiàn)為協(xié)作的用戶進(jìn)程,因此QNX核心非常小巧(QNX4.x大約為12Kb)而且運行速度極快。

*LynxOS目前還不是一個微內(nèi)核結(jié)構(gòu)的操作系統(tǒng),但它計劃使用所謂的“Galaxy”技術(shù)將其從大型集成化內(nèi)核改造成微內(nèi)核,這一技術(shù)將在LynxOS 3.0中引入。新的28Kb微內(nèi)核提供以下服務(wù):核心啟動和停止、底層內(nèi)存管理、出錯處理、中斷處理、多任務(wù)、底層同步和互斥支持。

*RT-Linux實現(xiàn)了一個小的實時核心,僅支持底層任務(wù)創(chuàng)建、中斷服務(wù)例程的裝入、底層任務(wù)通信隊列、中斷服務(wù)例程(ISR)和Linux進(jìn)程。原來的非實時Linux核心作為一個可搶先的任務(wù)運行于這個小核心之上,所有的任務(wù)都在核心地址空間運行。它不同于微內(nèi)核和大型內(nèi)核,屬于實時EXE (realtime executive)體系結(jié)構(gòu)。其可靠性和可維護(hù)性對電信服務(wù)系統(tǒng)來說都不夠理想。

*KURT-Linux核心包括兩個部分:內(nèi)核和實時模塊。內(nèi)核負(fù)責(zé)實時事件的調(diào)度,實時模塊為用戶進(jìn)程提供特定的實時服務(wù)。它不屬于微內(nèi)核結(jié)構(gòu)。

調(diào)度策略分析

任務(wù)調(diào)度策略是直接影響實時性能的因素。盡管調(diào)度算法多種多樣,但大多由單調(diào)率算法(RM)和最早期限優(yōu)先算法(EDF)變化而來。前者主要用于靜態(tài)周期任務(wù)的調(diào)度,后者主要用于動態(tài)調(diào)度,在不同的系統(tǒng)狀態(tài)下兩種算法各有優(yōu)劣。在商業(yè)產(chǎn)品中采用的實際策略常常是各種因素的折中。

QNX提供POSIX.1b標(biāo)準(zhǔn)進(jìn)程調(diào)度:

*32個進(jìn)程優(yōu)先級;

*搶占式的、基于優(yōu)先級的正文切換;

*可選調(diào)度策略:FIFO、輪轉(zhuǎn)策略、適應(yīng)性策略。

LynxOS其調(diào)度策略為:

*LynxOS支持線程概念,提供256個全局用戶線程優(yōu)先級;

*硬實時優(yōu)先級調(diào)度:在每個優(yōu)先級上實現(xiàn)了輪轉(zhuǎn)調(diào)度、定量調(diào)度和FIFO調(diào)度策略;

*快速正文切換和阻塞時間短;

*搶占式的RTOS核心。

RT-Linux在操作系統(tǒng)之下實現(xiàn)了一個簡單的實時核心,Linux本身作為一個可搶占的任務(wù)在核內(nèi)運行,優(yōu)先級最低,隨時會被高優(yōu)先級任務(wù)搶占。

*用戶可自行編寫調(diào)度程序,它們可實現(xiàn)為可加載的核心模塊;

*已實現(xiàn)的調(diào)度程序有:基于優(yōu)先級的搶占式調(diào)度和EDF調(diào)度;

*基于優(yōu)先級的調(diào)度使用“單調(diào)率算法”,它直接支持周期任務(wù)。

KURT-Linux可運行在兩種狀態(tài)之下:通常狀態(tài)和實時狀態(tài)。在通常狀態(tài)下,所有進(jìn)程都可以運行,但某些核心服務(wù)將帶來中斷屏蔽的不可預(yù)期性。實時模式只允許實時進(jìn)程運行。

*支持FIFO調(diào)度策略、輪轉(zhuǎn)調(diào)度策略和UNIX分時調(diào)度策略;

*增加了SCHED-KURT調(diào)度策略,這是一種靜態(tài)調(diào)度策略,使用一個特殊的調(diào)度文件記錄預(yù)先定義好的待調(diào)度進(jìn)程的參數(shù)。

從以上簡略描述可以看出,前三種調(diào)度策略實現(xiàn)較規(guī)范,特別是兩種商業(yè)RTOS,遵循或部分遵循POSIX.1b實時調(diào)度標(biāo)準(zhǔn)。

操作系統(tǒng)服務(wù)比較

QNX的系統(tǒng)服務(wù):

*多種資源管理器,包括各種文件系統(tǒng)和設(shè)備管理,支持多個文件系統(tǒng)同時運行,包括提供完全POSIX.1及UNIX語法的POSIX文件系統(tǒng),支持多種閃存設(shè)備的嵌入式文件系統(tǒng),支持對多種文件服務(wù)器(如Windows NT/95、LAN Manager等)的透明訪問的SMB文件系統(tǒng)、DOS文件系統(tǒng)、CD-ROM文件系統(tǒng)等。

*設(shè)備管理。在進(jìn)程和終端設(shè)備間提供大吞吐量、低開銷接口服務(wù)。

*圖形/窗口支持。包括QNX Windows、X Window System for QNX、對MS Windows NT/95和X Window系統(tǒng)的遠(yuǎn)程圖形連接。

*TCP/IP for QNX.

*高性能、容錯型QNX網(wǎng)絡(luò)——FLEET,使得所有連入網(wǎng)絡(luò)的計算機變成一個邏輯上的超級計算機。

*透明的分布式處理。FLEET網(wǎng)絡(luò)處理與消息傳遞和進(jìn)程管理原語的集成,將本地和網(wǎng)絡(luò)IPC統(tǒng)一起來,使得網(wǎng)絡(luò)對IPC而言是透明的。

LynxOS的系統(tǒng)服務(wù):

*網(wǎng)絡(luò)和通信。由于使用UNIX/POSIX API,Lynx很適合于數(shù)據(jù)通信和Internet應(yīng)用。又由于系統(tǒng)的開放性,網(wǎng)絡(luò)軟件很容易移植到Lynx上。同樣,Lynx亦提供關(guān)鍵的電話通信協(xié)議,使之適用于電信系統(tǒng)的基礎(chǔ)架構(gòu)、操作和多媒體應(yīng)用。

*TCP/IP協(xié)議棧。Lynx自帶優(yōu)化的TCP/IP協(xié)議棧,提供高性能服務(wù),如TCP頭預(yù)測、高級路由算法、IP級多址廣播和鏈路級高速緩沖。

*Internet工具。包括,Telnet、Ftp、tftp、PPP、SLIP、實時調(diào)度的嵌入式Java虛擬機、嵌入式HTTP server、bootp、ARP/RARP、DNS域名服務(wù)、電子郵件、Perl、電話通信協(xié)議等。

*SVR3流。LynxOS流機制為開發(fā)和移植基于流的驅(qū)動程序和應(yīng)用提供了核心支持。

*文件系統(tǒng)。實時的類UNIX層次結(jié)構(gòu)文件系統(tǒng):連續(xù)結(jié)構(gòu)文件、帶緩沖/不帶緩沖、原始分區(qū)和原始設(shè)備訪問。

*基于Motif的圖形用戶接口。

*分布式計算資源。SCMP與VME總線上的多處理結(jié)合,PCI橋服務(wù)、CompactPCI Hot-swap Services、Lynx/HA-DDS分布式數(shù)據(jù)系統(tǒng)。

Linux的系統(tǒng)服務(wù):

近來,很多基于Linux的實時應(yīng)用被開發(fā)出來,它具有成熟和豐富的資源。

*UNIX用戶的開發(fā)工具和應(yīng)用軟件都被移植到Linux上。

*TCP/IP網(wǎng)絡(luò)協(xié)議。

*各種Internet客戶/服務(wù)端軟件。

*X Window.

*C/C++、Java等語言編譯器。

上述系統(tǒng)的共同點是都提供了圖形界面、各種網(wǎng)絡(luò)支持等必要工具。QNX是一個更加符合傳統(tǒng)“分布式”概念的操作系統(tǒng),目標(biāo)是把整個局域網(wǎng)變成一個大的超級計算機,使得網(wǎng)絡(luò)的存在對用戶透明,文件系統(tǒng)提供的服務(wù)也很豐富。但是,分布式的程度越高也意味著系統(tǒng)開銷的增大。LynxOS則著意于提供豐富的網(wǎng)絡(luò)服務(wù),而Linux的最大優(yōu)勢則是經(jīng)濟(jì),還可以通過新聞組或mailing list快速地解決用戶碰到的任何問題。

系統(tǒng)開放性對比

對于很多大、中型系統(tǒng)來說,大多數(shù)軟件都是為UNIX平臺編寫的,因此RTOS是否提供POSIX/UNIX API就顯得很重要。

QNX的開放性:

*QNX的POSIX兼容性和其提供的UNIX特色的編譯器、調(diào)試器、X Window和TCP/IP都是UNIX程序員所熟悉的。

*支持多種CPU:AMD ElanSC300/310/400/410、Am386 DE/SE、Cyrix MediaGX、x86處理器(386以上)、Pentium系列、STMicroelectronics的STPC.

*多種總線:CompactPCI、EISA、ISA、MPE (RadiSys)、STD、STD 32、PC/104、PC/104-Plus、PCI、PCMCIA、VESA、VME.

*各種外設(shè):多種SCSI設(shè)備、IDE/EIDE驅(qū)動器、10M/100M以太網(wǎng)卡、Token Ring網(wǎng)卡、FDDI接口卡、多種PCMCIA設(shè)備、閃存、聲卡等等。

LynxOS的開放性:

*POSIX.1a、1b、1c及BSD4.4等兼容性,使得遵循POSIX 1003或用于UNIX的程序很容易移植到LynxOS上。

*支持多種CPU主板:包括CompactPCI(6U/3U)和標(biāo)準(zhǔn)PCI、VME/Eurobus、PC/104和PC/AT硬件等。

*各種外設(shè)適配器:10/100BaseT Ethernet、SCSI接口、單/多通道串行控制器、單/雙工并行口、時鐘、計時器、IDE接口、高分辨率顯示適配器等。

Linux的開放性:

*用戶可得到UNIX的全部開發(fā)工具。

*可使用市場上便宜又常見的硬件。

通過分析,可以看到以上系統(tǒng)各有優(yōu)勢,因此,在平臺搭造過程中,用戶應(yīng)根據(jù)自己的實際需要并結(jié)合性能價格比進(jìn)行選擇。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉