info@panadisplay.com
Operacijski sistem v realnem času Prekinitvene naloge in načrtovalec

Operacijski sistem v realnem času Prekinitvene naloge in načrtovalec

Mar 08, 2019

Ker vmesnik za prekinitev blokira opravilo z najvišjo prioriteto, in ker so operacijski sistemi v realnem času zasnovani tako, da ohranjajo minimalno zakasnitev niti, so kontrolniki prekinitev običajno čim krajši. Vodja prekinitve prekine vse interakcije s strojno opremo, če je to mogoče; ponavadi je vse, kar je potrebno, potrditi ali onemogočiti prekinitev (tako, da se ne bo ponovila, ko se vmesnik prekinitve vrne) in obvesti nalogo, ki jo je treba opraviti. To lahko storite tako, da odblokirate nalogo gonilnika, tako da sprostite semafor, nastavite zastavo ali pošljete sporočilo. Razporejevalnik pogosto omogoča zmožnost deblokiranja opravila iz konteksta krmilnika prekinitev.


OS vzdržuje kataloge objektov, ki jih upravlja, kot so niti, muteksi, pomnilnik itd. Posodobitve tega kataloga morajo biti strogo nadzorovane. Iz tega razloga je lahko problematično, če prekinevalci pokličejo funkcijo OS, medtem ko je aplikacija tudi v tem trenutku. Funkcija operacijskega sistema, ki jo pokliče vodja prekinitve, lahko ugotovi, da je baza podatkov objekta v neskladnem stanju zaradi posodobitve aplikacije. Obstajata dva glavna pristopa za reševanje tega problema: enotna arhitektura in segmentirana arhitektura. RTOS-i, ki izvajajo enotno arhitekturo, rešijo težavo s preprosto onemogočanjem prekinitev, ko je notranji katalog posodobljen. Slaba stran tega je, da se prekinitvena zakasnitev poveča, kar lahko povzroči izgubo prekinitev. Segmentirana arhitektura ne vzpostavlja neposrednih klicev OS, ampak opravila, povezana z operacijskim sistemom, prenese na ločenega upravljavca. Ta upravljalnik deluje z višjo prioriteto kot katerikoli nit, vendar nižji od vmesnikov prekinitve. Prednost te arhitekture je, da doda zelo malo ciklov za prekinitev latence. Posledično so operacijski sistemi, ki izvajajo segmentirano arhitekturo, bolj predvidljivi in se lahko ukvarjajo z višjimi stopnjami prekinitev v primerjavi z enotno arhitekturo.


Podobno je tudi način upravljanja sistema na združljivi strojni opremi x86 potreben precej časa, preden vrne nadzor v operacijski sistem. Na splošno je napačno pisati programsko opremo v realnem času za strojno opremo x86.