Inregistreaza | Ai uitat parola?

Cap.5. Interactiunea taskurilor concurente

Numar pagini 7
Nume Cap.5. Interactiunea taskurilor concurente
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 1
Marimea fisierului 0 KB
Formatul fisierului pdf
Cuvinte cheie interactiune , task , concurente , consideratii , generale , utilizare , semafoare , excludere , mutuala , sicronizare , indirecta , variabile , eveniment , sincronizare , indirecta
Format: pdf
Pret: 50 puncte
Descrierea materialului:
5.1. Consideratii generale
5.2. Utilizarea semafoarelor pentru excluderea mutuala a taskurilor si pentru sincronizarea lor indirecta
5.3. Utilizarea variabilelor eveniment pentru sincronizarea indirecta si excluderea mutuala a taskurilor


Extras din material:
Cap.5. Interac?inea taskurilor concurente
5.1. Considera?ii generale
Exploatarea avantajelor aduse de considerarea unei aplica?ii ca fiind compus? din mai multe
taskuri ce se execut? ?n paralel sau concurent impune, aßa cum a rezultat ßi din exemplele
prezentate ?n capitolul anterior, folosirea unor mecanisme care s? asigure interac?iunea corect? a
taskurilor pentru ca programul ?n ansamblu s? aib? evolu?ia dorit?. Dening P. (?n Operating Systems
Theory) a ar?tat c? interac?iunea taskurilor poate fi redus? la trei tipuri de opera?ii multitasking:
comunicarea ?ntre taskuri, sincronizarea taskurilor ßi excluderea mutual? a taskurilor.
Comunicarea ?ntre taskuri este opera?ia multitasking prin care se permite taskurilor s?
schimbe date ?ntre ele. Datele comune (utilizate de mai multe taskuri) sunt memorate ?n memoria
intern? a calculatorului ?n anumite zone declarate ca zone comune (pentru datele comune) ßi la care
vor avea acces toate taskurile. Deoarece zonele de date comune organizate ?n memoria intern? au o
capacitate mic? ßi limiteaz? la un volum mic datele comune, ?n cazul unui volum mare de date,
acestea se organizeaz? ?n fißiere plasate pe un suport de memorie extern? (de obicei disc magnetic).
Majoritatea sistemelor de operare actuale ofer? un sistem de lucru cu fißierele prin intermediul unui
SGF (sistem de gestiune a fißierelor). Dezavantajul acestei metode este legat de timpii relativ mari
pentru accesarea datelor din fißiere, dar metoda este utilizat? datorit? capacit??ii mari de memorare
a acestor sisteme.
Sincronizarea este opera?ia multitasking care asigur? eßalonarea corect? a execu?iei
taskurilor ?n timp sau, altfel spus, care stabileßte o rela?ie de ordine ?ntre instruc?iunile executate de
acestea, independent de vitezele relative ale lor.
Scopul unei metode de sincronizare este de a oferi unui task Ti aflat ?n execu?ie mijloacele
care s?-i permit?, ?n primul ränd, s? blocheze un alt task activ Tj sau s? se blocheze el ?nsußi ?n
aßteptarea producerii unui eveniment extern sau expir?rii unui interval de timp ßi, ?n al doilea ränd,
s? deblocheze un task Tk c?ruia s?-i transmit? eventual ßi unele informa?ii. ?n evolu?ia lor dou? sau
mai multe taskuri se pot sincroniza fie ?n func?ie de o condi?ie de timp, fie ?n func?ie de un
eveniment exterior. Mai exact, ?n cadrul unei aplica?ii, se poate ?ntälni situa?ia ca un task Tk pentru
a-ßi putea continua execu?ia s? fie nevoit s? aßtepte trecerea unui anumit interval de timp sau
realizarea unui eveniment din proces, eveniment controlat de regul? de un alt task Ti. ?n cazul
sincroniz?rii pe o condi?ie de timp, taskul Tk se va bloca pän? la expirarea intervalului de timp
men?ionat dup? care va trece ?n starea READY ßi ?ßi va putea continua execu?ia. ?n cazul
sincroniz?rii pe un eveniment exterior, taskul Tk se va bloca dac? evenimentul nu a avut loc. De
regul?, acest eveniment este supravegheat de un alt task Ti care va debloca taskul Tk ?n momentul
?n care evenimentul s-a ?ndeplinit.
Opera?iile de sincronizare pot fi:
- explicite (directe), caz ?n care un task ac?ioneaz? direct asupra altui task, primitivele de
blocare ßi deblocare trebuind s? fie astfel concepute ?ncät s? accepte ca parametru numele taskului
asupra c?ruia se ac?ioneaz?;
- implicite (indirecte), caz ?n care un task ac?ioneaz? asupra altui task prin declanßarea unor
mecanisme intermediare; primitivele de blocare ßi deblocare nu mai folosesc explicit numele
taskului asupra c?ruia se ac?ioneaz?, ci folosesc o serie de variabile special-create ?n acest scop
(semafoare, variabil...


Materiale similare

Nume: 5.4. Sincronizarea taskurilor pe o conditie de timp. Reprogramarea executiei taskurilor
Extras din material: ... ?t Observa?ie: Pentru anularea reprogram?rii unui task trebuie creat? o primitiv? special?, ANULEAZ?, avänd ca parametru num?rul sau numele taskului, care determin? EXECUTIVUL s?-l scoat? din listele de ceas. 5 - 10 Task REPROGRAMAT Secven?? de ini?ializare MARCHEAZ? ( Secven?? de program executat? ciclic A§TEAPT? (EV) , EV )? t Task pentru ini?ializare ßi programare Task reprogra...
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: 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. 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 ...
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...



Comentarii asupra materialului "Cap.5. Interactiunea taskurilor concurente"

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



Publica-ti opinia

Logheaza-te pentru a posta un comentariu