本文對(duì)四種實(shí)時(shí)操作系統(tǒng)(RTOS)特性進(jìn)行分析和比較。它們是:Lynx實(shí)時(shí)系統(tǒng)公司的LynxOS、QNX軟件系統(tǒng)有限公司的QNX以及兩種具有代表性的實(shí)時(shí)Linux--新墨西哥工學(xué)院的RT-Linux和堪薩斯大學(xué)的KURT-Linux。 近年來(lái),實(shí)時(shí)操作系統(tǒng)在多媒體通信、在線事務(wù)處理、生產(chǎn)過(guò)程控制、交通控制等各個(gè)領(lǐng)域得到廣泛的應(yīng)用,因而越來(lái)越引起人們的重視。 1、基本特征概述 QNX是一個(gè)分布式、嵌入式、可規(guī)模擴(kuò)展的實(shí)時(shí)操作系統(tǒng)。它遵循POSIX.1、(程序接口)和POSIX.2(Shell和工具)、部分遵循POSIX.1b(實(shí)時(shí)擴(kuò)展)。它最早開(kāi)發(fā)于1980年,到現(xiàn)在已相當(dāng)成熟。 2、體系結(jié)構(gòu)異同 實(shí)時(shí)系統(tǒng)的實(shí)現(xiàn)多為微內(nèi)核體系結(jié)構(gòu),這使得核心小巧而可靠,易于ROM固化,并可模塊化擴(kuò)展。微內(nèi)核結(jié)構(gòu)系統(tǒng)中,OS服務(wù)模塊在獨(dú)立的地址空間運(yùn)行,所以,不同模塊的內(nèi)存錯(cuò)誤便被隔離開(kāi)來(lái)。但它也有弱點(diǎn),進(jìn)程間通信和上下文切換的開(kāi)銷(xiāo)大大增加。相對(duì)于大型集成化內(nèi)核系統(tǒng)來(lái)說(shuō),它必須靠更多地進(jìn)行系統(tǒng)調(diào)用來(lái)完成相同的任務(wù)。 QNX是一個(gè)微內(nèi)核實(shí)時(shí)操作系統(tǒng),其核心僅提供4種服務(wù):進(jìn)程調(diào)度、進(jìn)程間通信、底層網(wǎng)絡(luò)通信和中斷處理,其進(jìn)程在獨(dú)立的地址空間運(yùn)行。所有其它OS服務(wù),都實(shí)現(xiàn)為協(xié)作的用戶進(jìn)程,因此QNX核心非常小巧(QNX4.x大約為12Kb)而且運(yùn)行速度極快。 LynxOS目前還不是一個(gè)微內(nèi)核結(jié)構(gòu)的操作系統(tǒng),但它計(jì)劃使用所謂的"Galaxy"技術(shù)將其從大型集成化內(nèi)核改造成微內(nèi)核,這一技術(shù)將在LynxOS 3.0中引入。新的28Kb微內(nèi)核提供以下服務(wù):核心啟動(dòng)和停止、底層內(nèi)存管理、出錯(cuò)處理、中斷處理、多任務(wù)、底層同步和互斥支持。 RT-Linux實(shí)現(xiàn)了一個(gè)小的實(shí)時(shí)核心,僅支持底層任務(wù)創(chuàng)建、中斷服務(wù)例程的裝入、底層任務(wù)通信隊(duì)列、中斷服務(wù)例程(ISR)和Linux進(jìn)程。原來(lái)的非實(shí)時(shí)Linux核心作為一個(gè)可搶先的任務(wù)運(yùn)行于這個(gè)小核心之上,所有的任務(wù)都在核心地址空間運(yùn)行。它不同于微內(nèi)核和大型內(nèi)核,屬于實(shí)時(shí)EXE(realtime executive)體系結(jié)構(gòu)。其可靠性和可維護(hù)性對(duì)電信服務(wù)系統(tǒng)來(lái)說(shuō)都不夠理想。 KURT-Linux核心包括兩個(gè)部分:內(nèi)核和實(shí)時(shí)模塊。內(nèi)核負(fù)責(zé)實(shí)時(shí)事件的調(diào)度,實(shí)時(shí)模塊為用戶進(jìn)程提供特定的實(shí)時(shí)服務(wù)。它不屬于微內(nèi)核結(jié)構(gòu)。 3、調(diào)度策略分析 任務(wù)調(diào)度策略是直接影響實(shí)時(shí)性能的因素。盡管調(diào)度算法多種多樣,但大多由單調(diào)率算法(RM)和最早期限優(yōu)先算法(EDF)變化而來(lái)。前者主要用于靜態(tài)周期任務(wù)的調(diào)度,后者主要用于動(dòng)態(tài)調(diào)度,在不同的系統(tǒng)狀態(tài)下兩種算法各有優(yōu)劣。在商業(yè)產(chǎn)品中采用的實(shí)際策略常常是各種因素的折中。 QNX 提供POSIX.1b標(biāo)準(zhǔn)進(jìn)程調(diào)度: RT-Linux KURT-Linux 從以上簡(jiǎn)略描述可以看出,前三種調(diào)度策略實(shí)現(xiàn)較規(guī)范,特別是兩種商業(yè)RTOS,遵循或部分遵循POSIX.1b實(shí)時(shí)調(diào)度標(biāo)準(zhǔn)。 4、操作系統(tǒng)服務(wù)比較 4.1 QNX的系統(tǒng)服務(wù): 多種資源管理器,包括各種文件系統(tǒng)和設(shè)備管理,支持多個(gè)文件系統(tǒng)同時(shí)運(yùn)行,包括提供完全POSIX.1及UNIX語(yǔ)法的POSIX文件系統(tǒng),支持多種閃存設(shè)備的嵌入式文件系統(tǒng),支持對(duì)多種文件服務(wù)器(如Windows NT/95、LAN Manager等)的透明訪問(wèn)的SMB文件系統(tǒng)、DOS文件系統(tǒng)、CDROM文件系統(tǒng)等。 4.2 LynxOS的系統(tǒng)服務(wù): 網(wǎng)絡(luò)和通信。由于使用UNIX/POSIX API,Lynx很適合于數(shù)據(jù)通信和Internet應(yīng)用。又由于系統(tǒng)的開(kāi)放性,網(wǎng)絡(luò)軟件很容易移植到Lynx上。同樣,Lynx亦提供關(guān)鍵的電話通信協(xié)議,使之適用于電信系統(tǒng)的基礎(chǔ)架構(gòu)、操作和多媒體應(yīng)用。 4.3 Linux的系統(tǒng)服務(wù): 近來(lái),很多基于Linux的實(shí)時(shí)應(yīng)用被開(kāi)發(fā)出來(lái),它具有成熟和豐富的資源。 UNIX用戶的開(kāi)發(fā)工具和應(yīng)用軟件都被移植到Linux上。 上述系統(tǒng)的共同點(diǎn)是都提供了圖形界面、各種網(wǎng)絡(luò)支持等必要工具。QNX是一個(gè)更加符合傳統(tǒng)"分布式"概念的操作系統(tǒng),目標(biāo)是把整個(gè)局域網(wǎng)變成一個(gè)大的超級(jí)計(jì)算機(jī),使得網(wǎng)絡(luò)的存在對(duì)用戶透明,文件系統(tǒng)提供的服務(wù)也很豐富。但是,分布式的程度越高也意味著系統(tǒng)開(kāi)銷(xiāo)的增大。LynxOS則著意于提供豐富的網(wǎng)絡(luò)服務(wù),而Linux的最大優(yōu)勢(shì)則是經(jīng)濟(jì),還可以通過(guò)新聞組或mailing 5、系統(tǒng)開(kāi)放性對(duì)比 對(duì)于很多大、中型系統(tǒng)來(lái)說(shuō),大多數(shù)軟件都是為UNIX平臺(tái)編寫(xiě)的,因此RTOS是否提供POSIX/UNIX API就顯得很重要。 5.1 QNX的開(kāi)放性 QNX的POSIX兼容性和其提供的UNIX特色的編譯器、調(diào)試器、X Window和TCP/IP都是UNIX程序員所熟悉的。 5.2 LynxOS的開(kāi)放性 POSIX.1a、1b、1c及BSD4.4等兼容性,使得遵循POSIX 1003或用于UNIX的程序很容易移植到LynxOS上。 5.3 Linux的開(kāi)放性 用戶可得到UNIX的全部開(kāi)發(fā)工具。 通過(guò)分析,可以看到以上系統(tǒng)各有優(yōu)勢(shì),因此,在平臺(tái)搭造過(guò)程中,用戶應(yīng)根據(jù)自己的實(shí)際需要并結(jié)合性能價(jià)格比進(jìn)行選擇。 如對(duì)本文有疑問(wèn),請(qǐng)?zhí)峤坏浇涣魃鐓^(qū),廣大熱心網(wǎng)友會(huì)為你解答?。? 點(diǎn)擊進(jìn)入社區(qū) |
|