Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Pochopenie problému
* Aplikácie v reálnom čase: Systémy v reálnom čase si vyžadujú prísne načasovacie záruky. Úloha musí splniť v konkrétnom termíne, bez ohľadu na ďalšie procesy bežiace v systéme.
* režim jadra: Keď proces beží v režime jadra, má priamy prístup k hardvéru a zdrojom systému. Je to potrebné pre úlohy, ako je manipulácia s prerušeniami alebo riadenie I/O zariadení.
* Preemption: Preemping je schopnosť operačného systému prerušiť proces prevádzky a prepnúť na iný. V systéme v reálnom čase je preempcia rozhodujúca pre zabezpečenie toho, aby sa úlohy s vysokou prioritou neostávali úlohami nižšej priority.
Prečo je vyhlásenie čiastočne pravdivé
Vyhlásenie sa zameriava na kritický problém v tradičných systémoch podobných UNIX. Jadro, aj keď je zodpovedné za plánovanie, nie je vždy predchádzajúce. To znamená, že:
1. Kód jadra oneskorenia: Ak funkcia jadra, dokonca aj funkcia s nízkou prioritou, trvá príliš dlho, môže blokovať ďalšie úlohy vrátane vysoko prioritných úloh v reálnom čase.
2. Ak je potrebné spustiť úlohu v reálnom čase, ale blokuje ju funkcia jadra, môže sa vynechať termín pre túto úlohu.
Prečo je príliš zjednodušené
* Nie všetky systémy UNIX sú rovnaké: Existujú variácie v tom, ako rôzne systémy podobné UNIX zvládajú preempciu jadra. Niektoré novšie jadrá, ako napríklad Linux, zaviedli techniky na zlepšenie preempcie, vďaka čomu sú vhodnejšie pre scenáre v reálnom čase.
* Rozšírenia v reálnom čase: Mnoho systémov podobných UNIX má rozšírenia v reálnom čase (napríklad Posix v reálnom čase), ktoré sa zaoberajú týmto obmedzením. Tieto rozšírenia poskytujú:
* Prioritné plánovanie: Úlohou v reálnom čase je možné priradiť vyššie priority ako normálne procesy.
* časovače a termíny: Úlohy v reálnom čase môžu byť spojené s termínmi a časovačmi, čo umožňuje systému presadiť časové obmedzenia.
* Preventívne jadrá: Niektoré predĺženia v reálnom čase zahŕňajú preventívne jadrá, ktoré zabezpečia, aby sa úlohy s vysokou prioritou neostávajú oneskorené.
Záver
Aj keď je pravda, že nedostatok predbežného kódu jadra v niektorých tradičných implementáciách UNIX bol významnou prekážkou pre aplikácie v reálnom čase, nejde o úplné vyhlásenie o situácii. Moderné systémy podobné UNIX, najmä s rozšíreniami v reálnom čase, urobili významné zlepšenie pri riešení tohto problému. Pre aplikácie s prísnymi požiadavkami v reálnom čase je však rozhodujúce výber systému s preventívnym jadrom a rozšíreniami v reálnom čase.