Documente Academic
Documente Profesional
Documente Cultură
1
SISTEME DISTRIBUITE DE SUPERVIZARE ŞI CONTROL
Capitolul 2 – Elemente suport al SDSC
2
SISTEME DISTRIBUITE DE SUPERVIZARE ŞI CONTROL
Capitolul 2 – Elemente suport al SDSC
ST (T, ) , (2.1)
în care T T1 , T2 ,,Tn este o mulţime de taskuri, iar simbolul < reprezintă o
relaţie de ordine totală (precedenţă) definită pe mulţimea T .
3
SISTEME DISTRIBUITE DE SUPERVIZARE ŞI CONTROL
Capitolul 2 – Elemente suport al SDSC
Un task iniţial este un task fără nici un predecesor, iar un task terminal
reprezintă un task fără nici un succesor
4
SISTEME DISTRIBUITE DE SUPERVIZARE ŞI CONTROL
Capitolul 2 – Elemente suport al SDSC
Un task neterminal este de nivel K dacă cel mai lung drum care
porneşte din el şi se opreşte într-un task terminal este de lungime K. Prin definiţie
un task terminal este de nivel 1.
- dacă am T i şi an T i atunci m n ;
- dacă am T i şi an T j cu Ti T j atunci m n .
atunci se construieşte un sistem ST' (T ' , ) cu T ' T0 , T1 ,T2 ,,Tn , Tn1 . În
sistemul de taskuri S T' taskul T0 este succesorul tuturor taskurilor sistemului ST,
iar taskul Tn+1 predecesorul acestora.
După modul în care a fost construit sistemul S T' , rezultă că acesta este
închis. Dacă taskurile T0 şi Tn+1 nu au alte funcţii în afara celor precizate, atunci
sistemele S T şi S T' sunt echivalente din punctul de vedere al funcţiilor pe care
5
SISTEME DISTRIBUITE DE SUPERVIZARE ŞI CONTROL
Capitolul 2 – Elemente suport al SDSC
acestea le execută. În acest fel s-a realizat închiderea sistemului iniţial de taskuri
ST .
T1
T3
T2
T4 T5 T6
T7
Fig. 2.1. Graf de precedenţă.
Tabelul 2.1
Nod Nod
Cale Lungime
plecare sosire
T1 T2 T1- T2 2
T1 T4 T1- T3 * T3- T4 3
T1 T7 T1- T2 * T2- T7 3
T1 T7 T1- T3 * T3- T4 * T4- T7 4
6
SISTEME DISTRIBUITE DE SUPERVIZARE ŞI CONTROL
Capitolul 2 – Elemente suport al SDSC
Tabelul 2.2
Task T1 T2 T3 T4 T5 T6 T7
Nivel 4 2 3 2 2 2 1
1 T 1 T 1 T 2 T 2 T 3 T 3 T 4 T 4 T 5 T 5 T 6 T 6 T 7 T 7 ;
2 T 1 T 1 T 2T 3T 2T 3 T 4T 4 T 5 T 6T 5T 6T 7 T 7 ;
3 T 1 T 1T 3 T 3 T 4 T 4 T 2 T 5 T 6 T 5 T 6 T 2 T 7 T 7 .
A - Determinarea taskurilor;
B - Blocarea taskurilor;
D - Sincronizarea taskurilor.
A - Determinarea taskurilor
B - Blocarea taskurilor
7
SISTEME DISTRIBUITE DE SUPERVIZARE ŞI CONTROL
Capitolul 2 – Elemente suport al SDSC
Această situaţie apare când un număr de taskuri este blocat într-o listă
circulară de aşteptare, fiecare task aşteptând eliberarea unei resurse pe care o
deţine un alt task.
T1 R1
Tn T2
Rn-1 R2
Tn-1 T3
Rn-2 R3
T4
Tn-2
Rn-1 R4
Fig. 2.2. Taskuri blocate într-o listă circulară.
8
SISTEME DISTRIBUITE DE SUPERVIZARE ŞI CONTROL
Capitolul 2 – Elemente suport al SDSC
D - Sincronizarea taskurilor
9
SISTEME DISTRIBUITE DE SUPERVIZARE ŞI CONTROL
Capitolul 2 – Elemente suport al SDSC
După cum s-a arătat într-un sistem multitasking de timp real, mai multe
taskuri se pot găsi la un moment dat în competiţie pentru a deţine controlul UCP
în scopul execuţiei (rulării) lor.
10
SISTEME DISTRIBUITE DE SUPERVIZARE ŞI CONTROL
Capitolul 2 – Elemente suport al SDSC
Ieşire taskuri
05
07 01 06 02 04 09
blocate
Când un task aflat în execuţie este supus unui proces de comutare, fără
ca acest lucru să fie provocat de dezactivare sau suprimare există două
alternative:
- dacă îndeplineşte în continuare condiţiile de rulare, i se asigură
rămânerea normală în LAP şi înscrierea indexului său în penultima poziţie din
listă;
- dacă nu mai îndeplineşte condiţiile de rulare , acesta se blochează, este
eliminat din LAP şi înscris într-o listă a taskurilor blocate.
11
SISTEME DISTRIBUITE DE SUPERVIZARE ŞI CONTROL
Capitolul 2 – Elemente suport al SDSC
- taskul 05, după ce s-a aflat pentru un timp în rulare a fost exclus din
LAP blocându-se;
- taskul 03, devenit rulabil urmează să fie inserat în LAP.
Ultima poziţie o
(coadă de listă)
p
Prima poziţie
(cap de listă)
Punct inserare
nod nou
Fig. 2.4. Componenţa listei circulare de aşteptare la procesor.
12
SISTEME DISTRIBUITE DE SUPERVIZARE ŞI CONTROL
Capitolul 2 – Elemente suport al SDSC
13
SISTEME DISTRIBUITE DE SUPERVIZARE ŞI CONTROL
Capitolul 2 – Elemente suport al SDSC
m
a
m
Prima poziţie
(cap de listă) a
m
a
m
a b c d a
Sensul de scădere a priorităţii
Ultima poziţie
(coadă de listă)
Fig. 2.6. Lista de aşteptare la procesor în cazul dispecerizării prin prioritizare.
14
SISTEME DISTRIBUITE DE SUPERVIZARE ŞI CONTROL
Capitolul 2 – Elemente suport al SDSC
15
SISTEME DISTRIBUITE DE SUPERVIZARE ŞI CONTROL
Capitolul 2 – Elemente suport al SDSC
Ieşire taskuri
suprimate
Intrare taskuri de prioritate 1
Listă circulară - prioritate 2
Ieşire taskuri
blocate
07 08 03
Task
în Intrare taskuri de prioritate 2
rulare
Listă circulară - prioritate 3
Ieşire taskuri
14 10 05
dezactivate
12
16
SISTEME DISTRIBUITE DE SUPERVIZARE ŞI CONTROL
Capitolul 2 – Elemente suport al SDSC
- rularea taskurilor din lista de prioritate 2, (în ordinea 08, 03, 08, etc.),
va începe numai după vidarea listei de prioritate 0;
- în general taskurile de pe o listă circulară asociată unei anumite
priorităţi vor intra în rulare numai daca toate listele cu priorităţi superioare sunt
vide (de exemplu taskurile din lista de prioritate 3 vor fi rulate numai dacă listele
0, 1, 2 sunt vide).
17