Вы находитесь на странице: 1из 20

Utilizarea Sistemelor

de Operare

2012 - 2016
SL. dr. ing. Stefan Mocanu
SL. dr. ing. Mihnea Moisescu

Curs 3

Cuprins
1. Descrierea si starea proceselor
2. Crearea proceselor
3. Identificarea si atributele proceselor
4. Gestiunea proceselor

Descrierea si starea proceselor

Ce este
un
proces
?

Descrierea si starea proceselor

Descrierea si starea proceselor

Descrierea si starea proceselor


Definitii
Proces = cod binar (program) aflat in executie;
= imaginea dinamica a unui program;
Un program devine proces atunci cand este incarcat in memorie
in vederea executarii propriu-zise.
In cazul in care exista mai multe procese asociate cu un acelasi
program, acestea se vor numi instante.

Descrierea si starea proceselor

Descrierea si starea proceselor




In timpul executiei orice proces poate fi caracterizat prin:


 Identificator: unic atribuit fiecarui proces
 Stare
 Prioritate: prioritate relativa la alte procese
 Program counter (contor program): adresa urmatoarei
instructiuni din program ce se va executa
 Pointer de memorie: pointeri catre cod si date asociate
procesului
 Date de context: date din registrele procesorului prezente la
momentul executiei procesului
 Stare I/O: intrari, iesiri folosite de proces
 Informatii gestiune: timp folosit, constrangeri de timp, etc


Caracteristici stocate in Blocul de control proces


(Process Control Block)

Descrierea si starea proceselor

Descrierea si starea proceselor


Proces P1
executing

Interrupt / system call


Salveaza in PCB1

Proces P2
ready or
waiting

Incarca din PCB2

Non-executing
(Ready, Waiting)

Interrupt / system call

executing

Salveaza in PCB2
Incarca din PCB1
ready or
waiting
executing

10

Descrierea si starea proceselor


De-a lungul vietii, un proces trece prin mai multe stari:


NEW

READY

RUNNING

WAITING

FINISHED

ZOMBIE

Gestiunea propriu-zisa si trecerea dintr-o stare in alta sunt facute de catre


o entitate numita planificator de procese.

Descrierea si starea proceselor

new

running

finished

waiting

zombie

ready

Diagrama starilor unui proces

Tipuri de procese

Procese sistem - Procese speciale: swapper, init.

Procese utilizator

Crearea proceselor
Cea mai simpla metoda de a crea un proces consta in
lansarea in executie a unui program

Conditii:




disponibilitate resurse (HW si de alta natura !);


drepturi/permisiuni pentru utilizator;
utilizarea corecta a comenzii specifice.

Crearea proceselor

Crearea proceselor

Crearea proceselor

Crearea proceselor
Alta modalitate de a genera/crea procese:
 din interiorul unui proces existent
Procesul curent = proces parinte sau tata.
Procesul creat = proces copil sau fiu

MOSTENIRE !
In mod normal procesul parinte asteapta finalizarea procesului fiu.
Abaterea de la aceasta regula poate duce la generearea de procese
zombie.

Crearea proceselor

fork()

fork()

a. Un singur proces copil

F1

F2

...

Fn

b. Mai multe procese copil

Crearea proceselor
a=5;
MOSTENIRE
T

fork()

a=5;

a=5;

a=a+1;

a=5;

Crearea proceselor

Identificarea si atributele proceselor


Pentru gestionarea proceselor este necesara identificarea acestora
in mod unic !
Exista o serie de atribute
specifice proceselor:








PID, PPID
Memorie ocupata
Procesor ocupat
Prioritate
Durata executie
Terminal asociat
etc.

3 categorii:
 Identificarea proceselor
 Informatii de stare
 Informatii de control

De cine credeti ca este


conditionat ?

Identificarea si atributele proceselor

Identificarea si atributele proceselor

Identificarea si atributele proceselor

Identificarea si atributele proceselor

Identificarea si atributele proceselor

Identificarea si atributele proceselor

Proces de prim plan (foreground)

Identificarea si atributele proceselor

Proces de prim plan (foreground)

Identificarea si atributele proceselor

Identificarea si atributele proceselor

Proces de fundal (background)

Gestiunea proceselor

Pornirea proceselor (subiect deja discutat) (SO, utilizator)


Inchiderea proceselor (SO, utilizator)
Schimbarea prioritatii (utilizator)
Suspendarea/revenirea din starea de suspendare (SO)
Sincronizare/comunicare (SO, utilizator)

Gestiunea proceselor

Pornirea proceselor
Resurse necesare:
 memorie
 procesor
 ID
 I/O

Gestiunea proceselor
Inchiderea proceselor
SO este responsabil cu eliberarea si redarea resurselor
Conditii de inchidere:
 Iesire normala
 Iesire cu eroare
 Eroare fatala
 Terminare de catre alt proces

Gestiunea proceselor

Gestiunea proceselor

Gestiunea proceselor

Gestiunea proceselor
Schimbarea prioritatii proceselor
Linux:
* nice
* renice
Windows :
Set priority:

Bibliografie


Stefan Mocanu, Daniela Saru, "Comunicare si sincronizare ntre procese


utilizator in sistemul de operare QNX", Editura Printech, Bucuresti, 2010
A.Tanenbaum & A.Woodhull, Operating Systems Design and
Implementation, 2nd edition, Prentice Hall, 2003
http://ebookbrowse.com/operating-system-concepts-silberschatz-galvingagne-7th-ed-pdf-d276634357
Abraham Silberschatz, Peter B. Galvin, Greg Gagne, Operating Systems
Concepts, Ed. Wiley, diverse editii
http://tille.garrels.be/training/tldp/ch04.html#sect_04_01

Вам также может понравиться