Kuo skiriasi realaus laiko operacinės sistemos, tokios kaip „VxWorks“, nuo tradicinių operacinių sistemų, tokių kaip „Windows“?


Atsakymas 1:

Realaus laiko OS suteikia garantiją, kad užduotys bus įvykdytos per tam tikrą laiką. Tam tikrose srityse tai gali būti gyvybiškai svarbu. Kaip pavyzdį apsvarstykite autonominę transporto priemonės valdymo sistemą. Norite įsitikinti, kad skaičiavimai bus atlikti per nustatytą laiką, kad jis nesugestų sukant ratus.

Tai reiškia, kad OS dizainas skiriasi, todėl planuoklis gali pateikti tokias garantijas, kaip viskas veikia įrenginyje. Kartu tai reiškia, kad dėl tų reikalavimų ir prielaidų tam OS parašytos programos subtiliai skiriasi.

Kita vertus, „Windows“ sistemoje, jei programa neužbaigiama per 20 ms, nors sistema gali pasirodyti vangi, ji nesukels katastrofiško nesėkmės scenarijaus. Šio tipo aplinka dažnai yra geresnė vartotojams, kurie bando sąveikauti su sistema, nes skirtingiems dalykams gali būti teikiama pirmenybė.


Atsakymas 2:

„Saleem Abdulrasool“ turi puikų atsakymą, viskas susiję su sistemos vėlavimu. Skaičiuojant realaus laiko apibrėžimas yra garantuotas atsako laikas tarp įvykio, paprastai tam tikro pobūdžio pertraukimo, ir sistemos, reaguojančios į tą įvykį.

Jūs pastebėsite, kad įvairūs operacinių sistemų gamintojai nustato bazinį aparatūros rinkinį, kurį jie naudoja vertindami bet kokius pakeitimus ir bandymus, reagavimo laiką, priklausomą nuo aparatūros rinkinio ir jo veikimo greičio.

Galite apibrėžti „Windows“ kaip realųjį laiką, apibrėždami 1 sekundės reakcijos laiką. Gali būti, kad šio reakcijos laiko pakanka procesui, kuris laikomas realiuoju laiku.

Kodavimas realiojo laiko sistemoje taip pat turi tuos pačius apribojimus, jūsų kodas turėtų būti baigtas prieš kitą pertraukimą to tipo, į kurį jūsų kodas reaguoja, ir tai leistų atlikti kitus trikdžius, su kuriais sistema turi susidurti. Jei taip neatsitiks, egzistuoja reali rizika, kad jūsų kodas suduos krūvą.


Atsakymas 3:

Iš esmės sutinku su tuo, ką sakė Saleemas ir Andrew. Apskritai skirtumas tarp RTOS ir tradicinės OS yra planavimo algoritmai. Tai pagrįsta OS taikymo sritimi ir prioritetais, kuriuos ji turi nustatyti.

Tradicinėje OS prioritetas yra pralaidumas ir teisingumas, kad per tam tikrą laiką būtų galima atlikti maksimalų skaičių užduočių ir galimybę atlikti visus darbus.

RTOS programoje yra keletas užduočių, kurias atlikti reikės kiek įmanoma arčiau garantuoto laiko pabaigos lango. Net jei tai reiškia nesąžiningumą kitų užduočių atžvilgiu ir sumažina bendrą apimtį. Nes realiojo laiko užduotyje, kurią paskiria RTOS vartotojas, yra tam tikra kritika. Taigi net ir anksčiau pradėtą ​​užduotį galima iš anksto išpildyti ir atidėti, kad būtų galima atlikti realiojo laiko užduotį. Tai pažeidžia sąžiningumą, tačiau to reikia norint užtikrinti realaus laiko principą.

Priežastis, kurią pasakiau „kuo arčiau“ garantuoto įvykdymo laiko, yra ta, kad jei tuo pačiu metu pradėsite 5 užduotis realiuoju laiku, gali būti, kad jos visos nebus įmanoma atlikti reikiamame lange. Sistemos projektuotojas turės atsižvelgti į tokias galimybes kurdamas bendrą sistemą ir planuodamas pajėgumus.


Atsakymas 4:

Kadangi „VxWorks“ yra realaus laiko operacinė sistema (RTOS), o „Windows“ yra bendrosios paskirties operacinė sistema (GPOS), jūsų klausimas gali būti vertinamas kaip RTOS ir GPOS.

Svarbiausias skirtumas yra tas, kad RTOS laiko atžvilgiu yra deterministinė, o GPOS - nedetermininė.

Determininis laiko nustatymo elgesys reiškia, kad RTOS užduotys sunaudos tik žinomus ir numatomus laiko vienetus. Pvz .: galime pasakyti, kad atrankos skaičiavimas (užduotis) bus atliktas per 2ms.

GPOS, paslaugos (užduotys) gali leisti atsitiktinius laiko vėlavimus programų programinėje įrangoje ir taip sukelti lėtą reagavimą netikėtu metu. Pvz .: negalime garantuoti, kad „Microsoft Word“ languose atsidarys per 2 sekundes, kai spustelėjote jį atidaryti.