Sunteți pe pagina 1din 11

Lecția 2

2
Procese în SO

02.02.2021
Cuprins

• Noțiune de proces
• Stările procesului
• Operații asupra proceselor

02.02.2021
Noțiune de proces

Un program considerat în dinamica execuţiei sale vom numi proces.


Într-un sistem de calcul, executarea unui program se realizează ca o
succesiune de procese care se desfăşoară sub controlul sistemului de operare.
Conceptul de proces caracterizează un anumit set de comenzi executabile,
resurse asociate (spațiu de memorie alocat pentru execuție, stive, fișiere
utilizate și dispozitive de intrare-ieșire etc.) și momentul curent al
execuției sale (valori ale registrelor, ale stivei, ale contorului de program
și valorile variabilelor), sub controlul sistemului de operare.

02.02.2021
Stările procesului

din WORD document

02.02.2021
Stările proceselor

Un proces în execuţie poate atinge stările de RUN, WAIT


şi READY şi poate comuta între ele în mod determinat
sau în mod aleatoriu, în funcţie de contextul de execuţie şi
de tehnica de exploatare a sistemului de calcul utilizată.
Un proces nu poate trece singur dintr-o stare în alta.
Sistemul de operare este responsabil pentru schimbarea
stării proceselor și efectuarea operațiilor asupra acestora.

02.02.2021
Operații asupra proceselor

• inițializarea procesului - finalizarea procesului;

• suspendarea procesului (transfer de la starea de RUN la starea de


READY) - lansarea procesului (transfer din starea de READY în
starea de RUN);

• blocarea procesului (transferul din starea de RUN în starea de


WAIT) - deblocarea procesului (transferul din starea de WAIT în
starea de READY).

02.02.2021
Process Control Block (PCB)

Pentru ca sistemul de operare să poată efectua operații cu procesele,


fiecare proces este reprezentat în acesta de o structură de date. Această
structură conține informații specifice acestui proces și o vom numi PCB:
• starea procesului;
• contorul de program al procesului, adică adresa comenzii care trebuie
executată în continuare;
• conținutul registrelor procesorului;
• datele necesare pentru planificarea utilizării procesorului și gestionarea
memoriei (prioritatea procesului, dimensiunea și locația spațiului de adrese
etc.);
• informații ca numărul de identificare al procesului, utilizatorul care a inițiat
activitatea, timpul total utilizat de procesor în acest proces etc.;
• informații despre dispozitivele i/o asociate procesului (de exemplu, ce
dispozitive sunt atribuite procesului, tabelul fișierelor deschise).
02.02.2021
Operații asupra proceselor

Operații unice:

• iniţierea procesului, generează cererea de lansare în execuţie a procesului;


procesul este în starea de proces nelansat în execuţie
• completarea procesului determină trecerea lui din starea de proces activ
în starea de proces complet (finalizat)

02.02.2021
Operații asupra proceselor

Operații multiple:

• lansarea în execuţie a procesului determină trecerea lui din starea de


proces pregătit pentru activare (READY) în starea de proces activ (RUN)

• dezactivarea procesului determină revenirea lui din starea de proces activ


(RUN) în starea de proces întrerupt (READY - pregătit pentru activare)

• blocarea procesului activ determină trecerea lui din starea de proces activ
(RUN) în starea de proces în aşteptare (WAIT)

• deblocarea procesului determină trecerea lui din starea de proces blocat


(WAIT) în starea de proces pregătit pentru activare (READY)

02.02.2021
Comutarea contextului

Pentru comutarea corectă a procesorului de la un proces la altul, este necesară salvarea


contextului procesului care rulează și restabilirea contextului procesului la care va comuta
procesorul. Acest proces de salvare/restabilire a stării proceselor se numește schimbare a
contextului. Timpul petrecut pentru schimbarea contextului nu este folosit de sistemul de
calcul pentru a face o muncă utilă și este o
procedură care reduce performanța sistemului.
Aceasta variază de la mașină la mașină și variază
de obicei între 1 și 1000 de microsecunde.
Modelul extins de proces, care include conceptul
de fire de execuție (threads of execution), poate
reduce semnificativ costurile neproductive
în SO moderne.

02.02.2021
Concluzii

Conceptul de proces caracterizează un anumit set de instrucțiuni executabile, resurse asociate


și momentul curent al execuției sale, care se află sub controlul SO. În orice moment procesul
este descris de contextul său. În sistemul de operare procesele sunt reprezentate de o structură
specifică de date - PCB, care conține contextul său. Procesele pot fi în cinci stări de bază:
inițiere, pregătire, execuție, așteptare, finalizare. Dintr-o stare în alta procesele trec doar sub
controlul SO, care efectuează asupra lor următoarele operații: crearea unui proces,
terminarea unui proces, lansarea unui proces, suspendarea unui proces, blocarea unui
proces, deblocarea unui proces, schimbarea priorități procesului. Conținutul PCB nu se
schimbă între operații. Activitatea unui SO multiprogramat constă în lanțuri de operații
efectuate pe diferite procese și este însoțită de proceduri de salvare/restabilire a stării
proceselor, adică de schimbarea contextului. Comutarea contextului nu are legătură cu munca
utilă efectuată de procesor, iar timpul petrecut pentru aceasta reduce timpul util al
procesorului.
02.02.2021

S-ar putea să vă placă și