Operačné systémy reálneho času

28. Február, 2011, Autor článku: Urban Martin, Informačné technológie
Ročník 4, číslo 2 This page as PDF Pridať príspevok

Kvalitné riadenie je jedným z hlavných cieľov v riadení priemyselných podnikov a preto sa riadiace systémy spolu s automatizačnou technikou neustále modernizujú, dopĺňajú a optimalizujú, s čím úzko súvisí aj nasadzovanie operačných systémov reálneho času. Riadenie a rozhodovanie na základe presných údajov dostupných v reálnom čase sa stáva samozrejmosťou.

Navrhované algoritmy riadenia sa väčšinou implementujú do priemyselného počítača. Na samotný hardvér počítača nebývajú kladené špeciálne požiadavky. Kľúčovou časťou takéhoto počítača je operačný systém, ktorý musí spĺňať pomerne náročné požiadavky. Nasadenie klasických kancelárskych operačných systémov neprichádza do úvahy. Operačný systém vhodný na riadenie sa musí vyznačovať spoľahlivosťou ale najmä determinizmom. Tieto vlastnosti sú základné črty operačných systémov reálneho času.

1. Všeobecná charakteristika RTOS
Riadenie vreálnom čase znamená, že riadiaci obvod musí neustále monitorovať proces a reagovať na zmeny v obvode v presne definovaných časových okamihoch [1]. V zásade môžeme operačné systémy reálneho času rozdeliť do dvoch skupín podľa prísnosti času dodania výsledku v stanovenej lehote. Sú to systémy s mäkkou/krehkou dobou reálneho času (soft real-time) a s tvrdou/pevnou dobou reálneho času (hard real-time).

Soft real-time
Za systémy s mäkkou dobou sa považujú tie, kde sa síce vyžaduje dodanie výsledku v stanovenej dobe, ale omeškanie dodania výsledku spôsobí iba zhoršenie kvality výsledku, alebo procesu závislého na výsledku.

Hard real-time
Operačné systémy s tvrdou dobou plánovania striktne dodržiavajú stanovené časovanie, majú deterministické správanie a plánovanie. Nie je možné vynechať, čo i len jednu periódu vykonávania procesu, pretože následkom býva úplné zlyhanie systému.

V prípade reálnych aplikácií všetky riadiace zariadenia (PLC alebo priemyselné počítače) používané v priemysle pracujú v pevnom reálnom čase (hard real-time).

Operačný systém musí podporovať prioritu procesov, synchronizáciu medzi nimi a taktiež prerušenie procesu iným procesom s vyššou prioritou. Nevyhnutnou vlastnosťou RTOS, ktorá je podmienkou pre reálne aplikácie je jeho deterministické správanie.

2. Dostupné operačné systémy reálneho času
2.1 Microsoft DOS

Operačný systém MS-DOS bol vytvorený najmä pre štandardných užívateľov, no neskôr sa začal nasadzovať aj v real-time aplikáciách. Je to systém, ktorý nemá veľké hardwarové nároky a svojimi vlastnosťami tvorí základ systémov vhodných pre reálny čas. MS-DOS nepodporuje multitasking, no na druhej strane jeho jednoduchosť vykonávania procesov prispieva kdeterministickému správaniu celého systému. Nasadenie systému je jednoduché, avšak v prípade, že implementácia si vyžaduje viacero vlákien pre správny chod real-time aplikácie, je potrebné programovo vytvoriť vlastného správcu vlákien. Obmedzujúce v prípade MS-DOS je aj malý pamäťový priestor pre inštaláciu programových balíkov ataktiež nedostatočná podpora hardvéru a sieťových protokolov [2].


Obr. 1 Užívateľské prostredie MS DOS

2.2 Microsoft Windows
Spoločnosť Microsoft pokračovala vo vývoji operačných systémov a nástupcom systému DOS bola séria operačných systémov Windows, ktorých hlavnou výhodou oproti systému DOS bolo graficky orientované užívateľské prostredie. Prvé verzie operačných systémov Windows (Windows 95 a Windows 98) do značnej miery vychádzali zo systému DOS. Podľa [3] operačné systémy Windows 95 a Windows 98 mali značné množstvo nevýhod a nenašli až také široké uplatnenie v reálnych aplikáciách.

Následne bol kód systému Windows kompletne prepracovaný a vznikli nové oveľa stabilnejšie systémy rodiny Windows NT. V prípade hard real-time aplikácií je stabilita operačného systému jednou z najdôležitejších vlastností.

Windows NT disponuje niekoľkými funkciami, ktoré sú nevyhnutné pre real- time aplikácie ako napríklad podpora viacerých vlákien alebo určovania priority procesov. Napriek týmto vlastnostiam má tento OS zásadnú nevýhodu a to, že nie je možné určiť prioritu jednotlivých procesov a ani odložiť ich vykonávanie na neskoršiu dobu, po vykonaní časovo kritických procesov. Výsledkom týchto obmedzení sú čakacie doby až stovky mikrosekúnd (prípadne aj viac) pred samotným vykonaním časovo kritických operácii. Implementácia samotného Windows sa preto nedoporučuje v aplikáciách reálneho času.

RT rozšírenie pre Microsoft Windows
Operačné systémy firmy Microsoft na báze Windows NT (Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7) nie sú bez modifikácií použiteľné, ako operačné systémy reálneho času. Sú tu však produkty ďalších výrobcov, ktoré tieto schopnosti k pôvodnému systému pridávajú.

HyperKernel je prvý real-time subsystém, ktorý je implementovaný v jadre Windows NT. INtime, ako ďalšia zo softvérových nadstavieb, umožňuje deterministické a real-time správanie sa OS Windows. Za najrozšírenejšiu real-time nádstavbu OS Windows môžeme považovať OS RTX. V súčasnej dobe je RTX už dostupný aj pre Windows XP, Windows Vista a Windows 7.

Windows CE
Samostatnou kategóriou v rámci real-time systémov na Windows platforme je OS Windows CE, ktorý integruje spoľahlivé funkcie pre prácu v reálnom čase. Zabezpečuje nízku latenciu a taktiež deterministické chovanie.


Obr. 2 Užívateľské prostredie Windows XP


Obr. 3 Užívateľské prostredie Windows CE

2.3 Linux
Linux (alebo GNU/Linux) je voľne šíriteľný operačný systém. Keďže spadá do kategórie slobodného softvéru, je prístupný aj so zdrojovými kódmi, ktoré môže ktokoľvek modifikovať a ďalej distribuovať. Hoci je Linux veľmi stabilný a výkonný, ide operačný systém zameraný na bežné aplikácie a vo všeobecnosti nie je vhodný na použitie v tvrdých real-time aplikáciách. Nasadenie Linuxu do takýchto aplikácií je možné opäť len po jeho modifikácii.

Jednu z takýchto modifikácií je Real-Time Linux (RT Linux). Je to verzia Linux, ktorá disponuje vlastnosťami potrebnými pre hard real-time aplikácie. Jadro RT Linux sa nachádza medzi Linuxom ako takým a hardvérom. Úlohou RT Linux je emulácia hardware pre Linux, čím sa zabezpečuje real-time správanie sa systému Linux.

Alternatívnou real-time nádstavbou OS Linux je RTAI (Real-time aplication Inteface). Samotný princíp OS RTAI spočíva v modifikácii pôvodného jadra OS Linux tzv. real-time patchom pričom sa pozmení plánovač úloh. Aplikovaním real-time modifikácie na pôvodné jadro nedochádza k obmedzeniu niektorých funkcii a naďalej je možné využívať všetky výhody Linuxu a jeho aplikácií.


Obr. 4 Užívateľské prostredie Linux – Mandriva

Použitá literatúra

  1. Stankovic, J. A., Rajkumar, R.: Real-Time Operating Systems, Real-Time Systems, vol. 28, Issue 2-3, pp. 237 – 253, ISSN:0922-6443, 2004
  2. Japenga, B.: Why Use Linux for Real-Time Embedded Systems, [online] Dostupné z
    [http://www.microtoolsinc.com/Why%20Use%20Embedded%20Linux%20for%2 0Real%20Time%20Embedded%20Systems%20Rev%20A.pdf]
  3. Commercial Real-Time Operating Systems, [online], [cit. 2.2.2011] Dostupné z [http://nptel.iitm.ac.in/courses/Webcourse- contents/IIT%20Kharagpur/Real%20time%20system/pdf/module5.pdf]

Napísať príspevok