Mi a különbség a valós idejű operációs rendszerek, például a VxWorks, és a hagyományos operációs rendszerek között, mint például a Windows?


Válasz 1:

A valós idejű operációs rendszerek garantálják, hogy a feladatok egy bizonyos időn belül befejeződjenek. Ez bizonyos területeken létfontosságú lehet. Példaként vegye figyelembe az autonóm járművezérlő rendszert. Gondoskodni szeretne arról, hogy a számítások korlátozott időn belül befejeződjenek, hogy a kerekek elfordításával ne összeomoljon.

Ez azt jelenti, hogy az operációs rendszer tervezése eltérő, így az ütemező ilyen garanciákat vállalhat arról, hogy a dolgok hogyan futnak az eszközön. Ugyanakkor ez azt jelenti, hogy az adott operációs rendszerre írt alkalmazások finoman különböznek e követelmények és feltételezések miatt.

Másrészről, Windows rendszeren, ha egy program nem fejeződik be 20 ms-ban, bár a rendszer lassúnak tűnhet, nem eredményez katasztrófás hibaforgatókönyvet. Ez a fajta környezet gyakran jobb azoknak a felhasználóknak, akik megpróbálnak kölcsönhatásba lépni a rendszerrel, mivel a különféle dolgok prioritást élvezhetnek.


Válasz 2:

A Saleem Abdulrasool kitűnő választ ad, a rendszer késleltetésével kapcsolatos. A valós idő meghatározásának kiszámításakor garantált válaszidő van az esemény bekövetkezése, általában valamiféle megszakítás, és az adott eseményre reagáló rendszer között.

Megállapíthatja, hogy az operációs rendszerek különféle gyártói a válaszidőt a hardveregységtől és az alkalmazott sebességtől függően alapvető hardverkészlettel határozzák meg, amelyet a változások és tesztek felmérésére használnak.

A Windows valós időként meghatározható az 1 másodperces válaszidő meghatározásával. Lehet, hogy ez a válaszidő elegendő egy valósidejű folyamatnak.

A valósidejű rendszereken történő kódolásnak ugyanolyan korlátozásai vannak, a kódjának be kell fejeződnie, mielőtt a következő válasz megszakadna, amelyre a kód válaszol, lehetővé téve a rendszer többi esetleges megszakítását. Ha ez nem történik meg, akkor valódi annak kockázata, hogy a kód összetöri a köteget.


Válasz 3:

Alapvetően egyetértek azzal, amit Saleem és Andrew mondtak. Általában a különbség az RTOS és a hagyományos operációs rendszer között az ütemezési algoritmusok. Ez az operációs rendszer alkalmazási tartományán és annak prioritásain alapul.

Hagyományos operációs rendszerben a prioritás az áteresztőképesség és a méltányosság, hogy egy adott idő alatt a feladatok maximális száma elvégezhető legyen, és minden munka esélye legyen a teljesítésre.

Egy RTOS-ban vannak olyan feladatok, amelyek megkövetelik a lehető legközelebb a garantált időteljesítési ablakot. Még akkor is, ha ez más feladatokkal szembeni tisztességtelenséget jelent, és összességében csökkenti a dobogót. Mivel van némi kritika a valós idejű feladatnak, amelyet az RTOS felhasználó jelöl ki. Tehát még egy korábban elindított feladat is megelőzhető és félreállítható egy valós idejű feladat elvégzéséhez. Ez sérti a méltányosságot, de a valós idejű elv biztosításához szükséges.

Azért mondtam, hogy "a lehető legközelebb álljak" a garantált befejezési időhöz, mert ha öt valósidejű feladatot indít egyszerre, akkor lehet, hogy nem lehet teljesíteni őket a kívánt ablakon belül. A rendszer tervezőjének ezeket a lehetőségeket figyelembe kell vennie az általános rendszer és a kapacitás tervezése során.


Válasz 4:

Mivel a VxWorks valós idejű operációs rendszer (RTOS), és a Windows egy általános célú operációs rendszer (GPOS), kérdése RTOS vs GPOS formájában tekinthető meg.

A legalapvetőbb különbség az, hogy az RTOS az időzítés viselkedésében determinisztikus, míg a GPOS nem determinisztikus.

Az időzítési viselkedés determinisztikus módszerei azt mutatják, hogy az RTOS feladatok csak ismert és várható időegységeket fognak felhasználni. Például: mondhatjuk, hogy a mintavételi számítást (egy feladatot) 2ms-ben kell elvégezni.

A GPOS-ban a szolgáltatások (feladatok) véletlenszerű késéseket adhatnak az alkalmazás szoftverekbe, és így váratlan időkben lassú reakciót okozhatnak. Például: nem garantálhatjuk, hogy a Microsoft Word az ablakokban 2 másodpercen belül megnyílik, miután rákattintott a megnyitásra.