Valós idejű linux

Az alapgondolat a valós idejű (RT). Kemény valós idejű és a Linux.

Mi a valós idejű?

Mielőtt rátérnénk a bevezetése RT-LINUX, meg kell vizsgálni egy pár ötletet társított a „valós időben” (real time RT). Azt mondjuk, hogy:







„Valós idejű rendszer egy olyan információs rendszer. Amelyben a megfelelő kimeneti információ nem csak attól függ az algoritmusok, hanem a megjelenés momeyntov idejű információkat.”

Nem elegendő, hogy az adatok helyesek, az szükséges, hogy ő meg a szigorúan meghatározott időközönként. Megjegyezzük, hogy a fenti definíció egy valós idejű rendszer nem feltétlenül gyors, mint az egyik tudott gondolni. Például egy jármű navigációs rendszer az elején talán nem tűnik valós idejű rendszer, mert a sebesség alacsony, és általában „elég” idő (perc nagyságrendű) a döntés. Szerint azonban a meghatározás, ez tényleg valós idejű rendszer.

Figyeljük meg, hogy határozzák meg a „valós idejű rendszer” helyett rendszer valós idejű. A rendszer valós időben, alapvetően gyors rendszerek, a látszatot keltik, „valóság”. Jellemzően a szimulációk és interaktív játékok létre kell hozni egy érzés a világban, és a leginkább képeket generált időegység, annál jobb.

Nézzük részletesebben a „határidő” (időbeli korlátozás), tegyük fel, hogy valaki meg akarja a motor fordulatszámát változó terhelés a tengelyt egy PID-szabályozót törvény. (PID törvény egy arányos-integráló, differenciált szabályozás törvény). Nézetünk szerint a PID törvény függvénye saját paraméterek. Ebben a példában a motor fordulatszáma - a paraméter származó motor és a motor tápfeszültség - paraméterek ellenőrzése a motor fordulatszámát. Elmélet ellenőrzési algoritmusokat, amelyek mellesleg igen kiterjedt, nem veszi figyelembe a számítás idején az algoritmus PID-funkció, azaz a időről sebességének mérésére a motor, addig a pontig, ahol dolgozunk a motort, nagyon kevés. Normális körülmények között a rendszer lehetővé teszi, hogy egy kis késés. Egy másik jellemzője a PID törvény a frekvencia, más szóval kell folyamatosan, rendszeres időközönként, kiszámításához a PID funkciót. Ha az idő egymást követő hívások PID funkciót túl nagy, a motor is elérheti nemkívánatos mértékben. Összefoglalva, a PID törvény lehet tekinteni, mint egy függvény, időszakonként hajtják végre (Pi); A legnagyobb megengedett késés PID-törvény (Di), és a szerint a processzor végrehajtási sebesség PID kódot igényel egy bizonyos ideig (Ci) ..

Pi: Időszak feladat i.

Di: maximális megengedett késés ellenőrzés i feladat.

Ci: a legrosszabb időt feladat i.

Nem probléma, hogy egyetlen feladat rendszer, mint a valós idejű rendszer. vagy a processzor egy feladatot egy adott időben, vagy nem. Ha ő nem bystr- kell cserélni gyorsabb.

Problémák merülnek fel, amikor több feladatot, és meg kell osztani a processzor lehet végrehajtani a rendszerben (CPU) egymással. Ez megakadályozza, hogy egy klasszikus megosztott erőforrásokat, mint a Linux. Természetesen nincs szükség megemlíteni: ne is próbálja levelet igénylő programok valós időben a Windows alatt. És tanácsot nem ír semmiféle programot erre a platformra.

Nem minden valós idejű rendszerek azonosak, ez nem ugyanaz a dolog, hogy az ellenőrzési rendszer az injekció üzemanyag hajtóműbe vagy kijelző MPEG-fájlokat. Az első esetben, a legkisebb késedelem végrehajtás okozhat emberi életeket és a nagy anyagi veszteségeket, a második esetben ez könnyen romlása a rendszer - a kép elhalványul vagy részben keretek elvész. Az első típus az úgynevezett "kemény real time" rendszerben (kemény, valós időben, HRT), és a második, mivel a rendszer "soft real time" (soft valós időben, SRT) .. fogunk foglalkozni c HRT rendszereket.

Fejlesztése RT-pass rendszerek különböző fázisokban: először, a feladatok határozzák meg, amelyet be kell vypolyeno és amelyben időbeli határait (időkorlátozás); másodszor, a kód van írva, és végső mért végrehajtási idejét az egyes feladatok, és a tervezés a dob elvégzett feladatok, így biztos, hogy a feladat nem fog hiányozni a határidő, amíg a rendszer fut. Teszt tervezés alapja a használata egy tesztsorozatot az egész csoport a problémák, és ha megfelel a vizsgálaton, akkor lehet, hogy nem feladata lesz laza a határidőt. Ha nem, meg kell kezdeni a fejlődő először válasszon egy gyorsabb processzor, vagy más algoritmus a probléma megoldására.

Összefoglalni. Feladatok meghatározása három alkalommal értékek: Pi, Di és Ci. A rendszernek biztosítania kell, hogy az átfutási idő a feladatok, azaz a ha megfelelnek az alábbi sor feladatot, minden feladat belül marad az ideiglenes határokat. Ellenőrizze, hogy a végrehajtási időt - ez azt jelenti, hogy a rendszer előre láthatónak kell lennie (kiszámítható). Mondván, hogy a rendszer egy valós idejű rendszer vagy a rendszer kiszámítható, általában ugyanazt jelenti.

Mi az összefüggés az operációs rendszer és a valós idő?

Szemantikus végrehajtása vezérlőjelek - programozó felelős és határidők függ az operációs rendszer.







Az operációs rendszer fenntartásához szükséges és kezeli a teljesítményt az összes feladatot, és kezelni megszakítások. Az OS-hez kell:
  • Az algoritmus ütemezésére.
  • A mechanizmus a folyamatok közötti kommunikációt (a szemafor, üzeneteket.)
  • preryvaniemi kezelése.
  • Indítása feladatok mindegyikére meghatározott időpontokban.

Ehhez képest a „normál” operációs rendszer, valós idejű operációs rendszer célja, hogy csökkentse a komplexitás. Nem kell az OS, ami egy csomó dolog, ami fontos, hogy a feladatokat futtatni a kiszámíthatóság és a sebesség.

Még előnyösebb ilyen operációs rendszerek, ahol a kontextus általában változik 10 idő ciklusok, a legrosszabb esetben 12, mint az operációs rendszer, amely bár átlagban előfordul 3, de lehet kondicionálni 20 időrések.

Ez nem meglepő, hogy a valós idejű operációs rendszer lassabb, mint a hagyományos operációs rendszer. Néha annak érdekében, hogy a kiszámítható viselkedés, akkor akár ki is kapcsolhatják a cache memória, illetve a munkából való kiesést. Cache processzor csővezeték egységek és elágazás-előrejelző algoritmusok ellenségei kiszámíthatóság, ezért valós idejű rendszerek.

POSIX RT rassshireniya.

POSIX rövid hordozható operációs rendszerek Interface (Portable Operating System Interface). Standard célja, hogy elérjék szoftver hordozhatóság a forráskód szintjén. Más szóval, a program POSIX kompatibilis operációs rendszert kell összeállítani, és futtatható bármely más POSIX, akkor is, ha egy másik gyártó. POSIX szabvány meghatározza a felület az OS-hez kell az alkalmazások: a beállított rendszer kéri (sor rendszer hívások). POSIX szabvány által kidolgozott IEEE (Instiute of Electrical and Electronic Engineering) és standardizált ANSI (American National Standards Institute) és az ISO (Nemzetközi Szabványügyi Szervezet). Nyilvánvaló POSIX alapul UNIX. A legtöbb operációs rendszerek, beleértve a Windows NT, keresik az egyik változat, hogy kompatibilis legyen a POSIX szabvány.

A munka a POSIX definíciója van osztva több munkacsoportban személyzettel képviselői a számítástechnikai cégek, a szoftver cégek, kormányzati tisztviselők és a magánszemélyek, szakemberek egy adott területen programirrovaniya. Minden csoport gondoskodik a fejlődés minden szempontból az operációs rendszer. Például egy csoport úgynevezett POSIX.4 vonatkozó kérdésekkel foglalkozik, hogy valós időben.

POSIX-kiegészítők célja, hogy fokozza az ellenőrzést a rendszer az operációs rendszer.

LINUX 2.0 támogat sok POSIX-kompatibilis valós idejű rendszer hívásokat. de ez a szempont a LINUX, megbeszéljük egy későbbi cikkben. 2.2 verzió. valószínűleg ez lesz 100% -ban kompatibilis a POSIX 1003.1b.

Real Time Linux (real-time Linux, RT-LINUX)

Victor Yodiken és Michael Barabanov kifejlesztett RT-LINUX a Department of Computer Science Institute, a bányászat és a technológia található Új-Mexikóban. Michael tette ezt a munkát része a diploma, Master of számítástechnika. A legfrissebb elérhető változat 0,6. Abban az időben az írás, RT-LINUX volt, csak az Intel platform.

RT-Linux megoldja a problémát újra. Ehelyett változtatni a Linux kernel, arra törekedjünk, hogy kiszámítható, hogy milyen lesz független a fő lényege, hogy a kis kernel - ütemező. Fő Linux kernel fölött fut a kernel megosztása a processzor más valós idejű feladatokat. Linux a processzor par c más valós idejű feladatok pontosabban LINUX háttér feladat, és csak akkor fut, ha nem hajtja végre, sem a valós idejű feladatokat.

Ezen a ponton, sok olvasó lehet összekeverni, mert úgy gondolja, hogy az operációs rendszer a mindenható, és nem kell kezelni, ezen a módon.

Különösen szívesen tudni, hogy a telepítés és eltávolítása az ütemező dinamikusan, mert modulként.

Linux kernel (például OS) általában letiltja a megszakításokat, mint egy szinkronizáló jelent, vagy végrehajtja a kritikus szakaszokat. Ha abban az időben, amikor a Linux letiltja a megszakításokat van óramegszakítást, ez zárva marad, és ennek következtében veszteség időbeli pontossággal. Az RT-LINUX alkalmazott egyedi megoldást: az összes hívás cli, sti, és IRET (összeállító interrupt-parancsok) helyébe S_CLI, S_STI és S_IRET és LINUX soha letiltani megszakítások.

Alapértelmezett ütemező, hogy jön a RT-LINUX, ez az, amit ütemezõhöz rögzített prioritások LINUX kiemelt legalacsonyabb prioretet. Ha a valós idejű feladatok tegyen meg minden processzor időt, majd a Linux nem fog időt és azt a benyomást keltheti, hogy a rendszer leáll.

Abban az esetben, RT-LINUX, akkor nem csak a valós idejű rendszer, hanem egy klasszikus OS. Mi lehet vezetni a WEB, míg mérhető és szabályozható egy fizikai tárgy.

Telepítés RT-LINUX.

Történő átalakítás LINUX RT-LINUX, akkor módosítani kell a forráskódot a kernel egy patch, ami a RT-Linux kernel és összeállításához. Most, hogyan kell csinálni. Azt hiszem, hogy a fájl RTLinuxnak-0.6-2.0.33.tgz van a / usr / src és hogy már kivont a könyvtárba /usr/src/rtlinux-0.6. Azt is feltételezzük, hogy a kernel már konfigurálva (make config), majd:

Az új kernel tűnik, hogy „normális” kernel, de már elő van készítve a valós idejű rendszer. A könyvtár /usr/src/rtlinux-0.6-2.0.33/testing különböző demonstrációs programok.

Eltekintve a példákat, hogy jön az elosztó (teszt könyvtárba), akkor megteszi a interenet (Internet) egy másik példája által készített Oleg, amely lehetővé teszi számunkra, hogy hozzon létre egy térképet az idő feladatokat. Az egyik fájl a demo programot tervező a változásokat, aki nem csak a tervezett feladatokat, hanem küld információt, hogy a döntéseket. Ezt az információt gyűjteni és tárolni a fájl lehet grafikusan jeleníti meg. Ennek eredményeként, látni fogjuk, hogy milyen sorrendben a különböző feladatokat végezni, és a feladat nagyobb prioritást megelőzi feladatokat alacsonyabb prioritású. A LINUX, mivel a probléma nem nyújtották be.

Minden egyes feladat egy vízszintes tengely. Téglalapok mutatják idő CPU használat probléma (a mi esetünkben volt egy mono-processzoros rendszer, és csak egy feladat Mogdy tenni időegység). Ebben a példában minden egyes feladat határai megegyeznek az időszakban. Az az időszak, az egyes feladatok időintervallum (képviselő), amely során a feladat kell végezni. Feladatok a felső részén, a legmagasabb prioritással és a képesség, hogy elfog más CPU feladatok bekövetkezett időpontban egyenlő 600.

Jövője RT-LINUX.

Már van egy multi-processzoros változata a RT-Linux. A szolgáltatások száma által kínált RT-LINUX szándékosan minimális, nincs szükség olyan funkciók, amelyek nem igazán szükség, ha szüksége van, hogy fenntartsák a kiszámítható rendszert. Azonban néhány kiterjesztés már rendelkezésre állnak, mint például a szemafor, és képes kezelni a feladatok a valós idejű a / proc / sys.

Néhány hete kezdődött létrehozását RT-Linux kézikönyv.

következtetés

sok mérnök, aki meg akarta használni a valós idejű rendszer arra kényszerítette, hogy az MS-DOS és épít az összes szükséges meghajtót, vagy vesz egy valós idejű rendszer megjelenése RT-Linux (a túlzó árak). Most a fejlesztők egy teljes operációs rendszer alkalmazások fejlesztése ugyanazon a rendszeren, ahol fognak futni. Tény, hogy tudjuk futtatni több valós idejű alkalmazások, és ezzel egyidejűleg a szörfözés az interneten, és minden gond nélkül.