Axis real-time

Mi a valós idejű (real-time)?

Számos definíció közül a valós idejű, gyakran egymásnak ellentmondó, ami sajnos nem fogad el közös terminológiát. Közel a kanonikus lehet nevezni a következő definíciót: „Real Time System - egy olyan rendszer, amelynek pontossága nemcsak teljesülésétől függ az egyes feladatokat, hanem az időben való végrehajtását. Ha az idő paraméterek beállítása sérülnek - ez nem sikerült. " Amellett, hogy ez a meghatározás: „Ezért a rendszer maga garantálni kell az időzítés, vagyis A rendszer viselkedését kiszámíthatónak kell lennie. Ez minimalizálja a számos kiemelkedő (mivel az időzítés megsértése) munkahelyeket. "

Egy jó példa a valós idejű rendszer egy robot, amely azon a tétel, hogy mozog a csővezetéken keresztül. Ha késik, akkor hiányozni fog az egyik szállítószalag hurok, és megkísérli, hogy részt vegyen túl korai volna blokkolja a mozgását más részein. Egy másik példa - egy repülőgép repül a robotpilóta. Különleges érzékelő méri repülőgép helyzetét a háromdimenziós térben. Csak az állandó és időben történő átvételét ezeket az adatokat a fedélzeti számítógép biztosítja a repülés biztonságát.

Előfordul, hogy a valós idejű rendszerben az úgynevezett interaktív rendszer gyors válaszidő. Tekintsük a következő példát: gépelni a program WINWORD 2.0 A számítógépre Athlon 1 GHz-es processzor. A válaszidő ebben az esetben - az idő közötti préselés és megjelenítésére megfelelő karakter az ablakban. Nyilvánvalónak tűnik, hogy ez az érték ebben az esetben nem számít - mindegy személy lassabban nyomtat. A hiba abban rejlik, hogy a helyettesítés fogalmak - a nagy sebességű válasz nem feltétlenül jelenti válasz garancia. Letöltése nagyszámú számítógép-intenzív feladatot, meg tudjuk növelni a válaszadási idő a végtelenbe. A következő kísérlet: helyezze a címkéket az összes telepített programok (kívánatos, hogy voltak köztük, mint szörnyűséges alkalmazások, mint a Borland Delphi, Microsoft Office, és egy pár 3D-shooter) a Windows95 asztalon (kívánatos, hogy létrejöjjön 450 vagy korábbi :) Mark őket az egérrel, és nyomja meg az Entert. Ezt követően, a Windows zörög merevlemez, zsonglőr adatokat a lapozófájl és a memória, és nem reagál semmilyen külső befolyás, amíg meg nem nyomja a reset gombot. Általában ez elég ahhoz, hogy megértsük, hogy a gyors rendszer - nem feltétlenül valós idejű rendszer. Másrészt, valós időben, nem jelenti sebessége program végrehajtása; Sőt, az algoritmusokat, amelyek garantálják a végső válasz idő, gyakran kevésbé hatékonyak, mint máskor.

Valós idejű operációs rendszer

Az alapelvek és az alapvető tulajdonságait a valós idejű operációs rendszerek (RTOS - valós idejű operációs rendszer) bevezetése szükséges alapvető meghatározások mikrokernel (mikrokernel) és makroyadro (macrokernel).

Két fő iskolák yadrostroiteley (nem találtunk pontosabb fordítást kernel
fejlesztők :): az egyik úgy gondolja, hogy az operációs rendszer magja legyen kompakt és gyors, és a funkcionalitás eloszlik a folyamat, a másik prédikál egy hagyományosabb megközelítést biztosít a mag összes alapvető funkciót az operációs rendszer és folyamatok - semmi, csak a lehetőséget, hogy hívja a legtöbb ilyen funkciókat. Hogy kijelölje az első (a transzferek, hanem a időponttal) típusú építészet 1989 godu Iroy Goldshteyn és Paul Dale távú mikrokernel vezették (mikrokernel). Az első (most - a kronológiai értelemben) core architektúra (hagyományos, vagy monolit (monolitikus), ahogy nevezik angolul irodalom) az úgynevezett „makroyadro” (ami világosan mutatja az alacsony képzelet fejlesztők, különösen a rendszer).

A vita arról, melyik az építészet legjobb, odáig. A legtöbb UNIX implementációk épül makroyadre, beleértve a legnépszerűbb a mai napig - Linux és FreeBSD. Épül mikrokernel operációs rendszerek, mint a Mach és QNX. Egyes rendszerek elemzők nem kapcsolódnak a Mach mikrokernelam, mert a nagy méret a kernel (amely magában foglalja eszközmeghajtók, ami jellemző a legtöbb makrokernelov). A mag QNX kifejlesztette a fordított helyzet - ez olyan kicsi (és méretű, és
funkciók), volt, hogy egy új kifejezés - nanokernel (nanokernel). Úgy gondolom, hogy a vita körüli Mach lehetne megoldani ugyanúgy, azaz terminológiai változások -, de úgy tűnik, a szó santikernel és detsikernel tűnt dallamos elég programozók. Meg kell érteni, hogy az operációs rendszer mikrokernel és különbségtétel makroyadra tett nem a méret a sejtmagba, és az építészet, azaz közötti arány számos funkciót végrehajtani a sejtmagban és a megvalósított funkciók kívül a kernel. Egyéb paraméterek (teljesítmény, rugalmasság, a munka valós időben) nem lehet jelei ezt a különbséget. Ezen túlmenően, a határ között makrokernelami és mikrokernelami egyre inkább elmosódik annak a ténynek köszönhető, hogy sok modern monolitikus kernel tartalmaz úgynevezett szál (szál), és képesek arra, hogy „finom szemcséjű” rasparallerivaniyu (hogy mást lefordítani finomszemcsés parallerism?). Építészet hasonló mikrokernelam ilyen magok nagy számú futó folyamatokat megosztott (shared) memória.

Az a lehetőség, hogy az operációs rendszer működik valós időben nagymértékben meghatározza az alapvető architektúra. A legkényelmesebb ebben a tekintetben a mikronucleus (sőt, erre ők fejlesztették), de ez nem jelenti azt, hogy minden mikrokernely munka valós időben (Mach - mikrokernel nem működik valós időben, ami nem sérti a másik előnye ennek az operációs rendszer, okot adó sok leszármazottai, köztük nextstep, Hurd, BeOS és MacOSX). A létezés makrokernela teljes mértékben támogatja a valós idejű működés még kérdéses (én nem találtam semmilyen információt egy ilyen projekt, kivéve talán, Sun Solaris 2.x, de véleményem szerint (nem úgy, mintha kompetencia) meglehetősen SoftRTS és nem HardRTS), de a részleges végrehajtás - gyakori eset. Például a Linux aktívan be korábban említett processzorok közötti (a szó folyamat, és nem CPU) menet, és már van egy nagy számú (az első volt az Apache Web-szerver), és ezt a felületet.

QNX RTOS

A legnépszerűbb magyarországi RTOS - QNX 4.0 (tulajdonképpen a Windows NT, de láttad a sok ember, aki yuzayut eNTyu éppen emiatt?). Többek között unix-klónok, ő is erős pozícióval - penetráció (azaz rögzített piaci részesedés), a OS mintegy 8-10% - nagyobb prevalenciája csak Linux és a FreeBSD (lefoglalt összesen mintegy fele a Unix rendszerek a magyar piacon). Annak ellenére, hogy a QNX eredetileg a kereskedelmi, zárt és védett, most itt az engedélyezési modell lehetővé teszi az előállítása és alkalmazása ingyenesen az operációs rendszer is (minimális konfiguráció, természetesen, és nem kereskedelmi használatra, de - ismét - teljesen ingyen nem határidők) és forrás (szintén nem minden, és nem mindenki számára - de ez már sok).

Más funkciók nem valószínű, hogy érdekli - nem mindenki számára QNX ismert profik számára. Ezért mintegy 12 lehetséges kihívásokat mikrokernel, 32 prioritási szint és három időosztásaként algoritmus (FIFO, körkörös és adaptív) én nem is akadhat.

De a hardver követelmények nagyon ajánlom, hogy olvassa el figyelmesen:

CPU: 8088, 80286, 80386 és felette
RAM: legalább 640kB (teljesítmény), 2M (fejlesztési)
HDD: 5MB az operációs rendszer és a segédprogramok (a rendszer programozási
- van 4MB); lehetséges lemez nélküli konfiguráció.

Itt található az ezt a cikket egy ismerősének: