|
Structuri de control ale procesului
Pentru controlul unui proces, sistemul de operare trebuie sa stie unde este acesta localizat
precum si atributele acestuia.
LocaTia procesului
Un proces include un program sau un set de instrucTiuni care trebuie executate. Asociate cu
acestea sunt locaTiile de memorie pentru variabilele globale sau locale si pentru constante. Din
punct de vedere al memoriei, procesul va ocupa cel puTin locaTiile pentru program si date. In
plus mai avem si stiva pentru transferul parametrilor intre proceduri. Pentru partea de control
a procesului mai apar si atributele acestuia care trebuie localizate tot in memorie. Atributele
formeaza blocul de control al procesului.
Definim datele, stiva, programele si atributele unui proces ca fiind imaginea
procesului. Localizarea imaginii procesului depinde de soluTia aleasa de catre sistemul de
operare pentru managementul memoriei. In cazul cel mai simplu, imaginea procesului ne
poate aparea ca un bloc unitar din memorie. Acesta este pastrat in memoria secundara in
general, doar o parte a imaginii trebuind sa fie in memoria principala pentru ca procesul sa
poata fi condus de catre sistemul de operare. Pentru execuTia acestuia insa, intreaga imagine a
procesului trebuie sa fie in memoria principala. Sistemul de operare trebuie sa cunoasca
locaTia fiecarui proces atat in memoria principala cat si in memoria secundara.
In sistemele moderne, aranjamentul memoriei se face prin segmente, pagini sau o combinaTie
a acestora.
Atributele procesului
Pentru managementul proceselor intr-un sistem bazat pe multiprogramare avem nevoie de un
volum mare de informaTie cu privire la fiecare proces. Aceasta informaTie poate fi grupata in 3
mari categorii:
· identificarea procesului;
· informaTie privind starea procesorului;
· informaTie de control a procesului.
Identificarea procesului presupune in primul rand un identificator numeric unic pentru fiecare
proces., identificator care poate fi reprezentat ca un index intr-un tabel. Acest identificator
include identificatorul procesului parinte si identificatorul de utilizator daca e cazul.
InformaTiile referitoare la starea procesorului sunt reprezentate de registrii
procesorului. Acestia sunt reprezentaTi de registrii vizibili din punct de vedere al unui
utilizator care pot fi in numar de peste 100 In cazul implementarilor de tip RISC, de registrii
de control si de stare (ex. Registrul PC - Program Counter) si de catre registrii de stiva.
InformaTiile de control a procesului sunt reprezentate de:
· informatii de stare si dispecerizare, care sunt reprezentate de: starea procesului,
prioritatea (pot fi cerute chiar mai multe valori pentru acest caz), referitoare la
dispecerizare, care depind de algoritmul ales, evenimente (asteptate de proces si
reprezentate prin identificatori);
· structurarea datelor. Un proces poate fi legat de un alt proces printr-o coada de
asteptare, printr-o structura de tip inel sau printr-una particularizata. De exemplu toate
procesele aflate in stare de asteptare pentru un anumit nivel de prioritate pot fi insiruite
intr-o coada de asteptare. Pentru realizarea unor astfel de inlanTuiri, informaTiile de
control ale procesului trebuie sa conTina pointeri spre alte procese;
· informaTii de comunicare interprocese. Este reprezentata de flag-uri, semnale sau
mesaje, care asigura comunicarea intre doua procese independente.
· managementul memoriei. Poate conTine pointeri pe segmente sau pagini care descriu
atribuirea memoriei virtuale procesului respectiv.
· drepturile unui proces. Se refera la memoria care poate fi accesata si tipurile de
instrucTiuni care pot fi executate de catre procesul respectiv.
· proprietarul resurselor. Trebuie indicate resursele controlate de catre proces, iar
utilizarea altor resurse trebuie precizata. InformaTia este necesara pentru dispecer.
ALOCAREA FISERELOR