Dom > Izložba > Sadržaj

Operativni sistem u realnom vremenu Rukovaoci prekida i planer

Mar 08, 2019

Budući da rukovatelj prekidima blokira izvo enje zadatka s najvišim prioritetom, a budući da su operativni sustavi u stvarnom vremenu dizajnirani da zadrže latenciju niti na minimumu, rukovatelji prekidima se obično drže što kraćim. Rukovalac prekida prekida sve interakcije sa hardverom ako je moguće; obično je sve što je potrebno je da se potvrdi ili onemogući prekid (tako da se to neće ponoviti kada se prekidač vrati) i da se obavesti 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, muteksi, memorija i tako dalje. Ažuriranja ovog kataloga moraju biti strogo kontrolisana. 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 da bude 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 kašnjenje prekida povećava, što potencijalno gubi prekide. Segmentirana arhitektura ne pravi direktne pozive OS-a, već delegira operacije povezane s OS-om zasebnom rukovatelju. Ovaj rukovatelj radi na višem prioritetu od bilo kojeg niti, ali je niži od rukovaoca prekida. Prednost ove arhitekture je što dodaje vrlo malo ciklusa za prekidanje latencije. Kao rezultat toga, operativni sistemi koji implementiraju segmentiranu arhitekturu su predvidljiviji i mogu se nositi s višim stopama prekida u odnosu na objedinjenu arhitekturu.


Slično tome, mod upravljanja sistemom na hardveru kompatibilnom sa x86 procesorima može potrajati mnogo vremena prije nego se vrati kontrola operativnom sistemu. Općenito je pogrešno pisati softver u realnom vremenu za x86 hardver.