新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 實時Linux與其它嵌入式實時操作系統的比較

        實時Linux與其它嵌入式實時操作系統的比較

        作者: 時間:2013-12-06 來源:網絡 收藏

        本文引用地址:http://www.104case.com/article/256997.htm

        與其它RTOS的比較

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

        近年來,實時操作系統在多媒體通信、在線事務處理、生產過程控制、交通控制等各個領域得到廣泛的應用,因而越來越引起人們的重視。

        基本特征概述

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

        是一個分布式、嵌入式、可規模擴展的實時操作系統,它遵循POSIX.1a、POSIX.1b和POSIX.1c標準。它最早開發于1988年。

        *RT-Linux是一個嵌入式硬實時操作系統,它部分支持POSIX.1b標準。

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

        體系結構異同

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

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

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

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

        *KURT-Linux核心包括兩個部分:內核和實時模塊。內核負責實時事件的調度,實時模塊為用戶進程提供特定的實時服務。它不屬于微內核結構。

        調度策略分析

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

        QNX提供POSIX.1b標準進程調度:

        *32個進程優先級;

        *搶占式的、基于優先級的正文切換;

        *可選調度策略:FIFO、輪轉策略、適應性策略。

        LynxOS其調度策略為:

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

        *硬實時優先級調度:在每個優先級上實現了輪轉調度、定量調度和FIFO調度策略;

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

        *搶占式的RTOS核心。

        RT-Linux在操作系統之下實現了一個簡單的實時核心,Linux本身作為一個可搶占的任務在核內運行,優先級最低,隨時會被高優先級任務搶占。

        *用戶可自行編寫調度程序,它們可實現為可加載的核心模塊;

        *已實現的調度程序有:基于優先級的搶占式調度和EDF調度;

        *基于優先級的調度使用“單調率算法”,它直接支持周期任務。

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

        *支持FIFO調度策略、輪轉調度策略和UNIX分時調度策略;

        *增加了SCHED-KURT調度策略,這是一種靜態調度策略,使用一個特殊的調度文件記錄預先定義好的待調度進程的參數。

        從以上簡略描述可以看出,前三種調度策略實現較規范,特別是兩種商業RTOS,遵循或部分遵循POSIX.1b實時調度標準。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 紫阳县| 射阳县| 合川市| 汉中市| 白银市| 金昌市| 无为县| 日土县| 邢台县| 汝州市| 沂南县| 临武县| 泗水县| 微山县| 监利县| 萝北县| 五原县| 旬邑县| 凭祥市| 宾阳县| 民县| 宜兰县| 乐至县| 抚顺县| 呼伦贝尔市| 友谊县| 西昌市| 栾城县| 开封县| 新营市| 通化市| 凭祥市| 中卫市| 卢湾区| 常德市| 西畴县| 布拖县| 冕宁县| 罗甸县| 福贡县| 叙永县|