Realaus laiko operacinė sistema

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
(Nukreipta iš puslapio Realaus laiko OS)

Realaus laiko OS, RTOSoperacinės sistemos, garantuojančios programoms minimalų uždelsimą, kuris gali trukti tarp momento, kai tam tikras prietaisas sugeneravo valdantį signalą iki tol, kol programa gaus valdymą. Taip pat garantuojamas ir tam tikrų resursų (pvz., procesoriaus laiko) rezervas. Realaus laiko OS naudojamos tais atvejais, kai reikia užtikrinti efektyvų darbą su išoriniais įvykiais, pvz., valdant šviesoforus, lėktuvus, laivus, stakles, robotus ir pan.

Sistemose, dirbančiose realiame laike, skaičiavimų teisingumą sąlygoja ne tik loginis tų skaičiavimų teisingumas, bet ir laikas, per kurį skaičiavimai buvo įvykdyti. Pvz., akivaizdu, kad jei lėktuvą valdanti programa suveiks per vėlai, gali kilti katastrofa. Todėl sistema turi būti prognozuojama ne tik loginiu, bet ir laiko požiūriu (turi būti galimybė iš anksto apskaičiuoti vykdomų užduočių laiką). Laiko prognozė vykdoma, remiantis uždaviniui sunaudotų procesoriaus ciklų skaičiumi (įvykdytų procesoriaus operacijų skaičiumi).

Sistemos, dirbančios realiame laike, turi specifines savybes – jų darbas visada turi būti prognozuojamas (esant tam tikroms sąlygoms, turi būti galimybė pilnai apskaičiuoti procesoriaus ciklų skaičių, kuris gali būti sunaudotas, perduodant valdymą programai), taip pat – turi būti rezervuojamas pakankamas kiekis resursų, kad valdymą perėmusi programa galėtų atlikti reikalingus veiksmus. Galima tarti, kad OS gali dirbti realiame laike, jei ji atitinka šiuos reikalavimus:

  • OS darbas turi būti multiprograminis, kad vienu metu veiktų kelios programos, kurių veikimas turi būti pilnai kontroliuojamas OS.
  • OS turi valdyti procesų prioritetus.
  • OS turi palaikyti prognozuojamus procesų komunikacijos metodus.

Be to, realaus laiko OS veikimas turi būti prognozuojamas, kitaip tariant, turi būti žinomi pertraukimų lygiai, sistemos funkcijų charakteristikos ir laikai:

Dėl šių reikalavimų realiu laiku negali dirbti kai kurios operacinės sistemos, pagrįstos pranešimų eile, pvz., MacOS (iki 9-os versijos imtinai), Microsoft Windows (išskyrus Windows CE) ir pan. Dėl sudėtingumo realaus laiko OS sukūrimas kainuoja žymiai brangiau, nei kitų sistemų, dėl laiko apskaitos bei resursų rezervavimo faktinis našumas dažniausiai būna mažesnis, nei kitų panašių sistemų. Tarp populiariausių realaus laiko OS labiau žinomos Lynx OS, VxWorks ir QNX. Realiu laiku dirbti sugeba daugelis UNIX versijų bei kai kurios Linux sistemos. Viena iš tokių Linux distribucijų, Ubuntu Studio su realaus laiko branduoliu, http://ubuntustudio.org/