Inregistreaza | Ai uitat parola?

5.4. Sincronizarea taskurilor pe o conditie de timp. Reprogramarea executiei taskurilor

Numar pagini 5
Nume 5.4. Sincronizarea taskurilor pe o conditie de timp. Reprogramarea executiei taskurilor
Subiect SOLTR
Institutie Universitate
Universitate Facultatea de Automatica, Calculatoare, Electronica
Pret 50 puncte
Evaluarea calitatii 0 / 0 (100%)
Adaugat 18-06-2009
Adaugat de dktf0406
Descarcat 0
Marimea fisierului 0 KB
Formatul fisierului pdf
Cuvinte cheie sincronizare , task , conditie , timp , reprogramare , executie , primitiva , asteapta , marcheaza , reprogrameaza , comunicare
Format: pdf
Pret: 50 puncte
Descrierea materialului:
1. Primitiva ASTEAPTA
2. Primitiva MARCHEAZA
3. Primitiva REPROGRAMEAZA
5.5. Comunicarea íntre taskuri
Extras din material:
5.4. Sincronizarea taskurilor pe o condi?ie de timp. Reprogramarea execu?iei taskurilor
Pentru realizarea sincroniz?rii taskurilor pe o condi?ie de timp se pot crea trei tipuri de
directive:
1. A§TEAPT?( interval de timp t )?
2. MARCHEAZ?( interval de timp t, variabil? eveniment EV )?
3. REPROGRAMEAZ?( num?r (nume) task NRTASK, interval de timp t )?
1. Primitiva A§TEAPT?( t) are efect numai asupra taskului care a lansat-o, presupunänd?
din partea EXECUTIVULUI urm?toarele ac?iuni ne?ntreruptibile:
- ?nscriera valorii t ?ntr-un contor local aferent taskului;?
- blocarea taskului pän? la expirarea intervalului de timp t;?
- decrementarea contorului cu o cuant? de timp la fiecare ?ntrerupere dat? de ceasul de timp
real;
- trecerea taskului ?n starea READY la anularea contorului ßi declararea de eveniment
semnificativ.
Din punct de vedere al evolu?iei programului, dac? taskul lucreaz? ?n bucl? infinit?, modul
de sincronizare realizat de aceast? directiv? este prezentat ?n Figura 5.7.
t t t ? ? ? ? ? ?
Se observ? c? intervalul de timp de reprogramare a execu?iei taskului este cu ?t + ? ?
variabil deoarece nu este cunoscut momentul intr?rii ?n execu?ie a taskului ßi nici durata execu?iei
lui. (Observa?ie: La expirarea intervalului de timp , taskul este trecut ?n starea READY urmänd?t
s? fie adus ?n execu?ie de c?tre EXECUTIV func?ie de procedeul ales pentru planificarea taskurilor
pentru execu?ie). Acest mod de sincronizare a execu?iei unui task poate fi satisf?c?tor numai dac?
. ?n caz contrar, intervalul de timp de reprogramare a execu?iei taskului nu mai poate fi?<evaluat.
?n aplica?iile practice se doreßte ?ns? ca intervalul de reprogramare a execu?iei unui task s?
fie cunoscut ßi s? aib? valoarea , specificat? ca parametru ?n directiv?. Altfel spus, se doreßte o?t
sincronizare de tipul celei ar?tate ?n Figura 5.8.
?t ?t ?t
? ? ?
Utilizänd directiva A§TEAPT?( t) o astfel de evolu?ie se poate ob?ine introducänd ?n?
aplica?ie un task suplimentar numit task planificator ßi utilizänd o variabil? eveniment EVS avänd
valoarea ini?ial? FALS. Structura celor dou? taskuri (planificator ßi reprogramat) este
5 - 8
Timp
Interval de timp de execu?ie a taskului
Interval de timp de aßteptare
Figura 5.7.
0
0
Timp
Interval de timp de aßteptare
Interval de timp de execu?ie a taskului
Figura 5.8.
prezentat? ?n Figura 5.9, iar diagrama de lucru este cea din Figura 5.10.
?t
?t ?t ?t
? ?
Deßi se pierde un interval de timp la pornirea aplica?iei (momentul 0) ßi deßi nu se?t
cunoaßte exact momentul intr?rii ?n execu?ie a taskului ßi nici durata execu?iei sale, evolu?ia este
satisf?c?toare dac? suntem siguri c? execu?ia taskului REPROGRAMAT are loc ?n intervalul de
timp , adic? .?t ?2. Primitiva MARCHEAZ? ( t, EV) deßi are efect tot numai asupra taskului care o?
lanseaz?, prezint? avantaje ßi facilit??i ?n privin?a realiz?rii sincroniz?rii dorite conform diagramei
din Figura 5.8. Aceast? primitiv? presupune efectuarea din partea EXECUTIVULUI a urm?toarelor
ac?iuni ne?ntreruptibile:
- ?nscriera valorii t ?ntr-un contor local aferent taskului;?
- ßtergerea variabilei eveniment EV ...


Materiale similare

Nume: Cap.5. Interactiunea taskurilor concurente
Extras din material: ...ua?ii nedorite ßi care trebuie eliminate. De exemplu, dac? taskul aflat ?n execu?ie este blocat ?n propria sa sec?iune critic?, atunci ?ntrucät v(SEM) a r?mas 0 (dup? execu?ia primitivei P(SEM)) se realizeaz? blocajul infinit al tuturor celorlalte taskuri care utilizau aceeaßi resurs?. Din aceast? cauz? trebuie luate m?suri pentru eliminarea acestei situa?ii, sau de eliberare a resursei. Pentru a-i garanta fiec?rui task introducerea ?n sec?iunea sa critic? dup? un interval de timp finit,...
Nume: Cap.1. Structuri de sisteme cu microprocesor pentru conducerea proceselor industriale
Extras din material: ...mplexe de comunicare cu toate echipamentele de calcul din cadrul structurii, avänd rolul de a permite supravegherea ßi conducerea operativ? a procesului. Dinamica elabor?rii rezultatelor la nivelul 3 este relativ lent?. Minicalculatorul primeßte date sintetice despre evolu?ia procesului de la nivelul inferior (nivelul 2), iar m?rimile rezultate ?n urma calculelor nu intervin direct ?n proces, deci la acest nivel nu sunt necesare cuploare de proces. O problem? important? a acestei struct...
Nume: Cap.4. Sisteme de operare in timp real
Extras din material: ...portate 15 evenimente, iar variabila CONTOR = 16 ßi nu 0 cum ar fi trebuit s? fie ?n mod normal. Exemplul 3: Se consider? 2 taskuri T1 ßi T2 care scriu fiecare cäte un mesaj pe consola operatorului (display), folosind pozi?ionarea direct? a cursorului ?n cäte o pozi?ie (linie, coloan?) a consolei. Task T1 Task T2 Pozi?ioneaz? cursor ?n (L1,C1) Pozi?ioneaz? cursor ?n (L2,C2) Scrie MESAJ 1 Scrie MESAJ 2 MESAJ 1 ßi MESAJ 2 sunt de fapt ßiruri de caractere, iar (L1, ...
Nume: 5.6. Realizarea operatiillor multitasking prin intermediul mesajelor si cutiilor postale
Extras din material: ...EM Task Ti Task Tj Figura 5.18 Pentru realizarea comunicarii ?ntre taskuri se pot folosi zone de date comune protejate la accesul simultan prin mecanismul de excludere mutual? prezentat mai sus, sau se pot folosi mesaje care se transmit ?ntre taskuri prin intermediul cutiilor poßtale. ?n acest din urm? caz, se utilizeaz? 2 cutii poßtale C1 ßi C2, prima memoränd mesajul util (care con?ine datele transmise de c?tre taskul produc?tor c?tre taskul consumator), iar a doua memoränd un mes...
Nume: Cap. 3. Programarea sistematica a aplicatiilor de supraveghere si conducere in timp real a proceselor industriale
Extras din material: ...80x86; - modul de intr?ri analogice; - modul de ießiri analogice; - modul de intr?ri numerice; - modul de ießiri numerice; - consol? operator (display + tastatur? + imprimant?); - 8 sau mai multe nivele de ?ntrerupere; - ceas de timp real; - interfa?? de comunicare cu nivelul ierarhic superior. Utilizatorul va fi preocupat de modul de scriere a aplica?iei, avänd ?n minte structura acestui echipament virtual ßi mai pu?in modul cum se comand? concret modulele specificate mai sus. 3 ...



Comentarii asupra materialului "5.4. Sincronizarea taskurilor pe o conditie de timp. Reprogramarea executiei taskurilor"

Nimeni nu a verificat inca acest material. Fi primul care isi publica opinia



Publica-ti opinia

Logheaza-te pentru a posta un comentariu