0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

實(shí)時(shí)Linux和RTOS的基本特性及技術(shù)進(jìn)行比較

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-05-14 08:18 ? 次閱讀

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

對(duì)實(shí)時(shí)操作系統(tǒng)RTOS)特性進(jìn)行比較和分析。對(duì)于我們剛接觸這個(gè)操作系統(tǒng)時(shí)一定要對(duì)他們要有一定的了解,我們先對(duì)實(shí)時(shí)操作系統(tǒng)來了解下,它就是指當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時(shí),能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時(shí)間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)作出快速響應(yīng),并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致運(yùn)行的操作系統(tǒng)。因而,提供及時(shí)響應(yīng)和高可靠性是其主要特點(diǎn)。實(shí)時(shí)操作系統(tǒng)有硬實(shí)時(shí)和軟實(shí)時(shí)之分,硬實(shí)時(shí)要求在規(guī)定的時(shí)間內(nèi)必須完成操作,這是在操作系統(tǒng)設(shè)計(jì)時(shí)保證的;軟實(shí)時(shí)則只要按照任務(wù)的優(yōu)先級(jí),盡可能快地完成操作即可。我們通常使用的操作系統(tǒng)在經(jīng)過一定改變之后就可以變成實(shí)時(shí)操作系統(tǒng)。

基本特征概述

QNX是一個(gè)分布式、嵌入式、可規(guī)模擴(kuò)展的實(shí)時(shí)操作系統(tǒng)。它遵循POSIX.1 (程序接口)和POSIX.2 (Shell和工具)、部分遵循POSIX.1b(實(shí)時(shí)擴(kuò)展)。

LynxOS是一個(gè)分布式、嵌入式、可規(guī)模擴(kuò)展的實(shí)時(shí)操作系統(tǒng),它遵循POSIX.1a、POSIX.1b和POSIX.1c標(biāo)準(zhǔn)。

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

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

體系結(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ò)誤便被隔離開來被指使我們修改。但它也有弱點(diǎn),進(jìn)程間通信和上下文切換的開銷大大增加。

QNX是實(shí)時(shí)操作系統(tǒng),其核心可以提供4種服務(wù):進(jìn)程調(diào)度、進(jìn)程間通信、底層網(wǎng)絡(luò)通信和中斷處理,在其地址空間中單獨(dú)的運(yùn)行。所有其它OS服務(wù),都實(shí)現(xiàn)為協(xié)作的用戶進(jìn)程,因此QNX核心非常小巧而且運(yùn)行速度快。

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

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

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)。

調(diào)度策略分析

任務(wù)調(diào)度策略是直接影響實(shí)時(shí)性能的因素。盡管調(diào)度算法多種多樣,但大多由單調(diào)率算法(RM)和最早期限優(yōu)先算法(EDF)變化而來。前者主要用于靜態(tài)周期任務(wù)的調(diào)度,后者主要用于動(dòng)態(tài)調(diào)度,在不同的系統(tǒng)狀態(tài)下兩種算法各有優(yōu)劣,所以我們要重視調(diào)度策略分析。

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

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

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

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

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

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

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

快速正文切換和阻塞時(shí)間短;

搶占式的RTOS核心。

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

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

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

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

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

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

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

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

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

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

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

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

透明的分布式處理。FLEET網(wǎng)絡(luò)處理與消息傳遞和進(jìn)程管理原語的集成,將本地和網(wǎng)絡(luò)IPC統(tǒng)一起來,使得網(wǎng)絡(luò)對(duì)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ù)測(cè)、高級(jí)路由算法、IP級(jí)多址廣播和鏈路級(jí)高速緩沖。

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

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

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

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

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

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

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

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

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

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

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

LynxOS的開放性:

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

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

QNX的開放性:

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

支持多種CPU:Pentium系列、Am386 DE/SE、Cyrix MediaGX、x86處理器(386以上)、STMicroelectronics 的STPC。

多種總線:CompactPCI、EISA、ISA 、MPE (RadiSys)、STD、STD 32、AMD ElanSC300/310/400/410、PC/104、PC/104-Plus、PCI、PCMCIA、VESA、VME。

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

嵌入Linux主要解決這樣幾個(gè)問題,非虛擬內(nèi)存,處理文件系統(tǒng),設(shè)置啟動(dòng)(Lilo和BIOS),設(shè)備驅(qū)動(dòng)程序的編程。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1375

    瀏覽量

    40312
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11314

    瀏覽量

    209777
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6840

    瀏覽量

    123407
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RTOS市場(chǎng)和技術(shù)發(fā)展的變化

    RTOS市場(chǎng)和技術(shù)發(fā)展的變化  可以看出,進(jìn)入20世紀(jì)90年代后,RTOS在嵌入式系統(tǒng)設(shè)計(jì)中的主導(dǎo)地位已經(jīng)確定,越來越多的工程師使用RTOS,更多的新用戶愿意選擇購(gòu)買而不是自己開發(fā)。我
    發(fā)表于 08-15 11:38

    嵌入式Linux實(shí)時(shí)技術(shù)是什么?

    一些實(shí)時(shí)擴(kuò)展,但需要進(jìn)行實(shí)時(shí)性改造。本文針對(duì)嵌入式Linux實(shí)時(shí)技術(shù)中的一些關(guān)鍵問題
    發(fā)表于 10-08 14:19

    實(shí)時(shí)操作系統(tǒng)RTOS有什么要點(diǎn)?

    對(duì)許多嵌入式項(xiàng)目來說,系統(tǒng)設(shè)計(jì)師都傾向于選擇實(shí)時(shí)操作系統(tǒng)(RTOS)。但RTOS總是必要的嗎?答案是取決于具體的應(yīng)用,因此了解我們要達(dá)到什么目標(biāo)是決定RTOS是必要的還是花瓶的關(guān)鍵。一
    發(fā)表于 04-01 07:48

    嵌入式Linux實(shí)時(shí)技術(shù)詳談

    一些實(shí)時(shí)擴(kuò)展,但需要進(jìn)行實(shí)時(shí)性改造。本文針對(duì)嵌入式Linux實(shí)時(shí)技術(shù)中的一些關(guān)鍵問題
    發(fā)表于 08-03 07:00

    嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS

    前言自20世紀(jì)90年代,鑒于多任務(wù)支持、開發(fā)便捷、便于維護(hù)等特性,同時(shí)能夠提高系統(tǒng)的穩(wěn)定性和可靠性,嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)逐漸為廣大嵌入式從業(yè)人員所接受和認(rèn)可,越來越多的工程師加入
    發(fā)表于 08-05 06:14

    Linux等四種嵌入式實(shí)時(shí)操作系統(tǒng)的比較

    本文對(duì)四種實(shí)時(shí)操作系統(tǒng)(RTOS特性進(jìn)行分析和比較。它們是:Lynx實(shí)時(shí)系統(tǒng)公司的LynxOS
    發(fā)表于 10-17 15:55 ?2次下載

    嵌入式Linux實(shí)時(shí)技術(shù)

    ]。Linux提供了一些實(shí)時(shí)擴(kuò)展,但需要進(jìn)行實(shí)時(shí)性改造。本文針對(duì)嵌入式Linux實(shí)時(shí)
    發(fā)表于 12-01 12:23 ?510次閱讀
     嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>實(shí)時(shí)</b>化<b class='flag-5'>技術(shù)</b>

    關(guān)于四種實(shí)時(shí)嵌入式Linux操作系統(tǒng)的對(duì)比分析淺析

    本文對(duì)四種實(shí)時(shí)操作系統(tǒng)(RTOS特性進(jìn)行分析和比較。它們是:Lynx實(shí)時(shí)系統(tǒng)公司的LynxOS
    發(fā)表于 09-05 17:39 ?6333次閱讀

    選擇實(shí)時(shí)操作系統(tǒng)(RTOS)的要點(diǎn)詳解

    對(duì)許多嵌入式項(xiàng)目來說,系統(tǒng)設(shè)計(jì)師都傾向于選擇實(shí)時(shí)操作系統(tǒng)(RTOS)。但RTOS總是必要的嗎?答案是取決于具體的應(yīng)用,因此了解我們要達(dá)到什么目標(biāo)是決定RTOS是必要的還是花瓶的關(guān)鍵。
    的頭像 發(fā)表于 11-18 10:02 ?3077次閱讀

    Linux項(xiàng)目:基于RTOS的調(diào)度和分割核心技術(shù)

    Linux繼續(xù)在努力改善其實(shí)時(shí)性能,但其最長(zhǎng)中斷時(shí)延仍無法滿足對(duì)RTOS來說至關(guān)重要的硬(hard)實(shí)時(shí)要求。這些問題最后都會(huì)歸結(jié)為服務(wù)質(zhì)量(QoS)。
    發(fā)表于 01-09 11:14 ?416次閱讀

    工業(yè)實(shí)時(shí)操作系統(tǒng)對(duì)比:鴻道Intewell跟rt-linux有啥區(qū)別

    Intewell和RT-Linux是兩種不同的實(shí)時(shí)操作系統(tǒng)(RTOS),它們具有各自獨(dú)特的特點(diǎn)和優(yōu)勢(shì)。以下是Intewell操作系統(tǒng)的一些關(guān)鍵特性,以及與RT-
    的頭像 發(fā)表于 07-03 10:00 ?546次閱讀
    工業(yè)<b class='flag-5'>實(shí)時(shí)</b>操作系統(tǒng)對(duì)比:鴻道Intewell跟rt-<b class='flag-5'>linux</b>有啥區(qū)別

    RTOS特性和類型

    實(shí)時(shí)操作系統(tǒng)(RTOS)是一種可運(yùn)行實(shí)時(shí)計(jì)算應(yīng)用程序的軟件平臺(tái),用于處理具有明確時(shí)間約束的事件和數(shù)據(jù)。與通用操作系統(tǒng)(GPOS)不同,RTOS必須在有限的硬件資源上調(diào)度應(yīng)用程序之間的處
    的頭像 發(fā)表于 08-20 11:29 ?616次閱讀

    RTOSLinux有什么區(qū)別

    RTOS(Real-Time Operating System,實(shí)時(shí)操作系統(tǒng))與Linux是兩種在不同應(yīng)用場(chǎng)景下發(fā)揮重要作用的操作系統(tǒng),它們?cè)谠O(shè)計(jì)理念、功能特性、應(yīng)用場(chǎng)景以及性能表現(xiàn)等
    的頭像 發(fā)表于 08-20 16:05 ?3752次閱讀

    RTOS正在縮小與Linux的差距

    RTOSLinux的物聯(lián)網(wǎng)設(shè)備操作系統(tǒng)之爭(zhēng)已經(jīng)持續(xù)了很多年。Linux以其強(qiáng)大的計(jì)算能力和豐富的軟件生態(tài),在需要復(fù)雜處理和軟件支持的物聯(lián)網(wǎng)設(shè)備上占據(jù)一席之地;RTOS憑借
    的頭像 發(fā)表于 09-10 08:07 ?792次閱讀
    <b class='flag-5'>RTOS</b>正在縮小與<b class='flag-5'>Linux</b>的差距

    linux實(shí)時(shí)系統(tǒng)還是分時(shí)操作系統(tǒng)

    大家平時(shí)玩單片機(jī)基本上對(duì)于μC/OS、FreeRTOS、ThreadX這些操作系統(tǒng)非常熟悉了,他們都屬于實(shí)時(shí)操作系統(tǒng)(RTOS),在工業(yè)領(lǐng)域比較廣泛;然而對(duì)于linux這樣的基于時(shí)間片
    的頭像 發(fā)表于 11-11 11:43 ?511次閱讀