Dom > Izložba > Sadržaj

Planiranje operativnog sustava u stvarnom vremenu

Mar 08, 2019

U tipičnim izvedbama zadatak ima tri stanja:


Trčanje (izvršavanje na CPU-u);

Spreman (spreman za izvršenje);

Blokiran (čeka se događaj, na primjer, I / O).

Većina zadataka većinu vremena je blokirana ili spremna jer se općenito može pokrenuti samo jedan zadatak po CPU-u. Broj stavki u redu spremnosti može se uvelike razlikovati, ovisno o broju zadataka koje sustav treba izvesti i vrsti rasporeda koji sustav koristi. Na jednostavnijim, ali još uvijek višenamjenskim sustavima, zadatak se mora odreći svog vremena na CPU-u za druge zadatke, što može uzrokovati da spreman red ima veći broj ukupnih zadataka u stanju spremnosti za izvršenje (resursno gladovanje) ,


Obično je struktura podataka popisa spremnosti u rasporedu dizajnirana tako da minimizira najduže vrijeme provedeno u kritičnom dijelu planera, tijekom kojeg je sprječavanje onemogućeno i, u nekim slučajevima, svi prekidi su onemogućeni. Ali izbor strukture podataka ovisi io maksimalnom broju zadataka koji mogu biti na popisu spremnosti.


Ako na popisu spremnih nikada ne postoji više od nekoliko zadataka, onda je dvostruko povezan popis spremnih zadataka vjerojatno optimalan. Ako popis spremnosti obično sadrži samo nekoliko zadataka, ali povremeno sadrži više, popis bi trebao biti poredan po prioritetu. Na taj način pronalaženje zadatka s najvišim prioritetom za pokretanje ne zahtijeva iteriranje kroz cijeli popis. Umetanje zadatka zahtijeva hodanje popisa spremnih dok ne dođe do kraja popisa ili zadatka nižeg prioriteta od zadatka koji je umetnut.


Potrebno je paziti da se tijekom ovog pretraživanja ne spriječi preterivanje. Dulje kritične dijelove treba podijeliti na male dijelove. Ako dođe do prekida koji čini zadatak visokog prioriteta spremnim za vrijeme umetanja zadatka niskog prioriteta, taj zadatak visokog prioriteta može se umetnuti i pokrenuti neposredno prije umetanja zadatka niskog prioriteta.


Kritično vrijeme odziva, ponekad nazvano povratnim vremenom, je vrijeme koje je potrebno za red novih spremnih zadataka i vraćanje stanja zadatka s najvišim prioritetom na izvođenje. U dobro osmišljenom RTOS-u, priprema novog zadatka trajat će od 3 do 20 uputa po unosu spremnog reda, a vraćanje spremnog zadatka s najvišim prioritetom trajat će 5 do 30 uputa.


U naprednijim sustavima, zadaci u stvarnom vremenu dijele računalne resurse s mnogim zadacima koji nisu u stvarnom vremenu, a popis spremnih može biti proizvoljno dugačak. U takvim sustavima popis spremnih planera implementiran kao povezan popis bio bi neadekvatan.