Dom > Izložba > Sadržaj

Operativni sustav u stvarnom vremenu Prekidači i planer

Mar 08, 2019

Budući da rukovatelj prekidima blokira zadatak s najvišim prioritetom od pokretanja, a budući da su operativni sustavi u stvarnom vremenu dizajnirani tako da održavaju latenciju niti na minimumu, rukovatelji prekidima obično se drže što je moguće kraćim. Voditelj prekida odgađa sve interakcije s hardverom ako je moguće; obično je sve što je potrebno je potvrditi ili onemogućiti prekid (tako da se više neće pojaviti kada se prekidač vrati) i obavijestiti zadatak koji treba obaviti. To se može učiniti deblokiranjem zadatka upravljačkog programa kroz oslobađanje semafora, postavljanje zastave ili slanje poruke. Planer često pruža mogućnost deblokiranja zadatka iz konteksta rukovatelja prekida.


OS održava kataloge objekata kojima upravlja, kao što su niti, mutexi, memorija i tako dalje. Ažuriranja ovog kataloga moraju biti strogo kontrolirana. Iz tog razloga može biti problematično kada rukovatelj prekidačima pozove funkciju OS-a, dok je aplikacija u tome i čin. Funkcija OS pozvana od rukovatelja prekida može pronaći objektnu bazu podataka koja je u nekonzistentnom stanju zbog ažuriranja aplikacije. Postoje dva glavna pristupa rješavanju ovog problema: jedinstvena arhitektura i segmentirana arhitektura. RTOS-ovi koji implementiraju jedinstvenu arhitekturu rješavaju problem jednostavnim onemogućavanjem prekida dok se interni katalog ažurira. Loša strana ovoga je da se prekid kašnjenja povećava, što potencijalno gubi prekide. Segmentirana arhitektura ne provodi izravne pozive OS-a, ali delegira operacije povezane s OS-om zasebnom rukovatelju. Ovaj rukovatelj radi na višem prioritetu od bilo kojeg niti, ali niže od rukovaoca prekida. Prednost ove arhitekture je što dodaje vrlo malo ciklusa za prekidanje latencije. Kao rezultat toga, operativni sustavi koji implementiraju segmentiranu arhitekturu su predvidljiviji i mogu se nositi s višim stopama prekida u usporedbi s ujedinjenom arhitekturom.


Slično tome, način upravljanja sustavom na hardveru koji je kompatibilan s x86 procesorom može potrajati mnogo vremena prije nego vrati kontrolu operativnom sustavu. Općenito je pogrešno pisati softver za x86 hardver u stvarnom vremenu.