Sisteme de Operare - Gestiunea Proceselor și a Procesoarelor

Previzualizare curs:

Extras din curs:

Obiective

Capitolul de fata abordeaza o serie de probleme legate de planificarea job-urilor si a proceselor (in sisteme mono- si multi-procesor), precum si de sincronizare intre procese. Sint ilustrate si citeva solutii de rezolvare a blocajului reciproc intre mai multe procese. Capitolul se incheie cu descrierea mecanismului de planificare de procese in Unix. Sint punctate deasemenea si principalele posibilitati de sincronizare si comunicare intre procese.

Continut

Notiuni de baza

Planificarea de job-uri

Planificarea de procese. Comparatie intre sistemele de operare in timp partajat si sistemele de operare in timp real

Interactiunea si sincronizarea proceselor. Mecanismul Producator-Consumator

Resurse. Deadlock

Sisteme multiprocesor

Gestiunea proceselor in Unix. Sincronizare. Comunicatie

Cuvinte cheie: job, proces, procesor, SO in timp partajat, SO in timp real, interactiunea si sincronizarea proceselor, mecanismul Producator-Consumator, resurse, deadlock, sisteme multiprocesor

Modul1 – Notiuni de baza

In continuare vor fi listate cite notiuni fundamentale referitoare la terminologia folosita si la notiunile conexe fenomenelor descrise:

Program= un ansamblu ordonat de instructiuni;

Instructiune= o operatie elementara executata de catre procesor, indivizibila (in sensul ca executia ei de catre un procesor nu poate fi intrerupta);

Proces= o entitate dinamica reprezentind un program in stare de executie, alcatuita din:

- zone de cod, cum ar fi: programul principal, procedurile sau functiile;

- zone de date: zone care contin declaratiile si definitiile datelor folosite;

- resurse alocate procesului, care, desigur, sint variabile in timp;

- informatii utile pentru evaluarea starii procesului - de exemplu, numele procesului, starea sa, continutul registrilor procesorului si altele.

Toate acestea pot fi privite ca programul propriu-zis alaturi de contextul sau de lucru (toate informatiile externe programului necesare evolutiei procesului corespunzator).

Vector de stare - pentru a putea administra procesele existente, SO trebuie sa pastreze o imagine a fiecarui proces (care sa contina informatiile de mai sus referitoare la procesul respectie), in orice moment de timp - aceasta imagine se numeste vector de stare al procesului.

Starile unui proces - principalele stari in care se poate afla un proces sint: pregatit pentru executie, in executie sau in asteptare.

Fig.14. Starile principale ale unui proces intr-un SC

Un proces se afla in starea pregatit pentru executie (ready) cind are alocate toate resursele, mai putin procesorul. El poate parasi acesta stare numai atunci cind i se aloca si procesorul (eliberat intre timp), moment in care trece in starea in executie (running). Din aceasta stare, un proces se poate intoarce in starea pregatit pentru executie la prelevarea fortata a procesorului. Deasemenea, el poate intra in starea in asteptare (blocked) daca este nevoit sa astepte producerea unui eveniment cum ar fi: sfirsitul unei operatii de I/O, aducerea unei pagini de pe disc, eliberarea unor resurse de care are nevoie etc. Ar mai trebui metionat ca atit timp cit procesul se afla in aceasta stare, i se pot dealoca unele resurse spre a fi date altor procese!

Administrarea proceselor la nivelul SO presupune:

- pastrarea unei evidente a starii curente a tuturor proceselor din sistem;

- schimbarea starii proceselor ori de cite ori este nevoie.

Ea este sustinuta de 3 liste existente la nivelul sistemului:

- lista proceselor active (in rulare);

- lista proceselor blocate (in asteptare);

- lista proceselor intrerupte (pregatite pentru rulare).

Fig.15. Listele cu starile proceselor

Crearea unui proces se face in timpul executiei unei lucrari si consta in

- constructia unui vector de stare si initializarea lui;

- inregistrarea vectorului de stare intabela de procese si in lista corespunzatoare;

Un proces este creat la initiativa altui proces utilizator sau sistem, numit proces tata. Toate procesele din sistem formeaza o arborescenta cu o radacina unica.

Distrugerea unui proces consta in:

- stergerea tuturor informatiilor despre el;

- eliberarea tuturor resurselor alocate lui.

Ea se poate face:

- la sfirsitul executiei sale (autodistrugere);

- la initiativa altui proces utilizator sau sistem (terminare normala) - de exemplu, in cazul in care el functioneaza defectuos.

In momentul distrugerii unui proces, creatorul sau este acela care va trebuie sa distruga si toate procesele sale descendente.

Gestiunea proceselor se face pe 2 niveluri:

- pe termen mediu (planificarea de job-uri sau lucrari): consta in alegerea dintre toate job-urile prezentate a aceluia pentru care se va crea un proces; ea are prioritate mica la nivelul sistemului;

- pe termen scurt (planificarea de procese): care consta in a da de lucru procesorului ori de cite ori este liber; ea are prioritate mare.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Sisteme de Operare - Gestiunea Proceselor si a Procesoarelor.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
9/10 (2 voturi)
Nr fișiere:
1 fisier
Pagini (total):
32 pagini
Imagini extrase:
32 imagini
Nr cuvinte:
7 934 cuvinte
Nr caractere:
46 864 caractere
Marime:
1.90MB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Calculatoare
Predat:
la facultate
Materie:
Calculatoare
Sus!