Hver er munurinn á rauntíma stýrikerfum eins og VxWorks og hefðbundinna stýrikerfa eins og Windows?


svara 1:

Stýrikerfi í rauntíma tryggja að verkefnum er lokið á tilteknum tíma. Þetta getur verið mikilvægt á vissum sviðum. Lítum á sjálfstætt stjórnkerfi ökutækja sem dæmi. Þú vilt ganga úr skugga um að útreikningarnir séu gerðir innan takmarkaðs tíma svo þeir hrynji ekki ef þú snúast ekki á hjólin.

Þetta þýðir að hönnun stýrikerfisins er önnur, þannig að tímasetningin getur gefið slíkar ábyrgðir fyrir því hvernig hlutirnir eru gerðir í tækinu. Á sama tíma þýðir það að forritin sem eru skrifuð fyrir þetta stýrikerfi eru lítillega frábrugðin hvert öðru vegna þessara krafna og forsendna.

Ef forrit á Windows lýkur ekki innan 20 ms, þó að kerfið kunni að virðast hægt, mun það ekki leiða til hörmulegs bilunar. Þessi tegund af umhverfi er oft betri fyrir notendur sem eru að reyna að hafa samskipti við kerfið vegna þess að hægt er að forgangsraða mismunandi hlutum.


svara 2:

Saleem Abdulrasool hefur frábært svar, það snýst bara um leynd kerfisins. Við útreikninginn er skilgreiningin á rauntíma tryggður viðbragðstími milli atburðarins, venjulega truflunar, og kerfisins sem bregst við þessum atburði.

Þú munt komast að því að mismunandi framleiðendur stýrikerfis skilgreina viðbragðstíma sem fer eftir vélbúnaðarblöndunni og hraðanum sem þeir eru framkvæmdir með grunnbúnaðarsett sem þeir nota til að mæla breytingar og próf.

Þú getur skilgreint Windows sem rauntíma með því að skilgreina svarstíma 1 sekúndu. Þessi viðbragðstími getur verið nægur fyrir ferli sem er talið rauntíma.

Kóðun í rauntímakerfi er háð sömu takmörkunum. Kóðinn þinn ætti að ljúka áður en næsta truflun af gerðinni sem kóðinn þinn bregst við og íhuga allar aðrar truflanir sem kerfið þarf að takast á við. Ef þetta gerist ekki er raunveruleg hætta á að kóðinn þinn muni gersemma stafla.


svara 3:

Ég er í raun sammála því sem Saleem og Andrew sögðu. Almennt er munurinn á RTOS og hefðbundinni stýrikerfi skipulagsbreytingar. Þetta fer eftir forritasviði stýrikerfisins og forgangsröðuninni sem það þarf að setja.

Í hefðbundnu stýrikerfi er áherslan á afköst og sanngirni, þannig að hámarksfjölda verkefna er hægt að ljúka á tilteknum tíma og öll vinna á möguleika á að vera lokið.

Það eru nokkur verkefni í RTOS sem krefjast þess að næsti gluggi sé mögulegur. Jafnvel þó að þetta þýði óréttlæti við önnur verkefni og dregur úr heildar afköstum. Vegna þess að rauntímaverkefnið sem skilgreint er af notanda RTOS hefur ákveðna mikilvægi. Einnig er hægt að framselja áður byrjað verkefni og leggja það til hliðar til að ljúka rauntíma verkefni. Þetta brýtur í bága við sanngirni en er nauðsynlegt til að tryggja rauntíma meginregluna.

Ástæðan fyrir því að ég sagði „eins nálægt og mögulegt er“ við tryggðan lokunartíma er sú að ef þú byrjar á 5 rauntímaverkefnum á sama tíma er ekki víst að hægt sé að vinna öll verkefnin innan nauðsynlegs glugga. Kerfishönnuður verður að taka tillit til slíkra valkosta þegar hanna heildar kerfið og getu skipulagningar.


svara 4:

Þar sem VxWorks er rauntíma stýrikerfi (RTOS) og Windows er almennur stýrikerfi (GPOS) er hægt að skoða spurningu þína sem RTOS eða GPOS.

Grundvallarmunurinn er sá að RTOS er ákveðinn í tímasetningarhegðun meðan GPOS er ekki deterministic.

Ákvarðandi í tímasetningarhegðun þýðir að RTOS verkefnin neyta eingöngu þekktra og væntanlegra tímareininga. Dæmi: Við getum sagt að sýnishornsútreikningur (verkefni) fari fram í 2 ms.

Undir GPOS getur þjónustan (verkefnin) sett tafarlausar tafir á forritshugbúnaðinn og valdið því hægri svörun á óvæntum tímum. Til dæmis getum við ekki ábyrgst að Microsoft Word mun opna í Windows innan 2 sekúndna frá því að þú smellir á það til að opna það.