Upload
ion-stefan
View
243
Download
0
Embed Size (px)
Citation preview
7/25/2019 3. Curs USO - SM
1/20
Utilizarea SistemelorUtilizarea SistemelorUtilizarea SistemelorUtilizarea Sistemelor
de Operarede Operarede Operarede Operare
Curs 3
2012 - 2016
SL. dr. ing. Stefan Mocanu
SL. dr. ing. Mihnea Moisescu
CuprinsCuprinsCuprinsCuprins
1. Descrierea si starea proceselor
. rearea procese or
3. Identificarea si atributele proceselor
4. Gestiunea proceselor
7/25/2019 3. Curs USO - SM
2/20
Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor
Ce esteun
proces
?
Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor
7/25/2019 3. Curs USO - SM
3/20
Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor
Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor
Definitii
=
= imaginea dinamica a unui program;
In cazul in care exista mai multe procese asociate cu un acelasiprogram, acestea se vor numi instante.
Un program devine proces atunci cand este incarcat in memoriein vederea executarii propriu-zise.
7/25/2019 3. Curs USO - SM
4/20
Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor
In timpul executiei orice proces poate fi caracterizat prin:
Identificator: unic atribuit fiecarui proces
Stare
Prioritate: prioritate relativa la alte procese
Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor
Program counter (contor program): adresa urmatoareiinstructiuni din program ce se va executa
Pointer de memorie: pointeri catre cod si date asociateprocesului
Date de context: date din registrele procesorului prezente lamomentul 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)
7/25/2019 3. Curs USO - SM
5/20
Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor
Proces P1
Salveaza in PCB1
Incarca din PCB2
Interrupt / system call Proces P2
ready or
waiting
executing
Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor
Non-executing
(Ready, Waiting)
Salveaza in PCB2
Incarca din PCB1
Interrupt / system call
ready orwaiting
executing
executing
7/25/2019 3. Curs USO - SM
6/20
Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor
De-a lungul vietii, un proces trece prin mai multe stari:
NEW
RUNNING
WAITING
FINISHED
ZOMBIE
Gestiunea propriu-zisa si trecerea dintr-o stare in alta sunt facute de catre
o entitate numitaplanificator de procese.
Descrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselorDescrierea si starea proceselor
running finished
new ready
waiting zombie
Diagrama starilor unui proces
7/25/2019 3. Curs USO - SM
7/20
Tipuri de proceseTipuri de proceseTipuri de proceseTipuri de procese
Procese sistem - Procese speciale: swapper, init.
Procese utilizator
Crearea proceselorCrearea proceselorCrearea proceselorCrearea proceselor
Cea mai simpla metoda de a crea un proces consta inlansarea in executie a unui program
Conditii:
disponibilitate resurse (HW si de alta natura !);
drepturi/permisiuni pentru utilizator;
utilizarea corecta a comenzii specifice.
7/25/2019 3. Curs USO - SM
8/20
Crearea proceselorCrearea proceselorCrearea proceselorCrearea proceselor
Crearea proceselorCrearea proceselorCrearea proceselorCrearea proceselor
7/25/2019 3. Curs USO - SM
9/20
Crearea proceselorCrearea proceselorCrearea proceselorCrearea proceselor
Crearea proceselorCrearea proceselorCrearea proceselorCrearea proceselor
Alta modalitate de a genera/crea procese:
din interiorul unui proces existent
rocesu curen = proces par n e sau a a.
Procesul creat = proces copil sau fiu
In mod normal procesul parinte asteapta finalizarea procesului fiu.Abaterea de la aceasta regula poate duce la generearea de procese
zombie.
MOSTENIRE !
7/25/2019 3. Curs USO - SM
10/20
Crearea proceselorCrearea proceselorCrearea proceselorCrearea proceselor
T T
fork()
T F
a. Un singur proces copil b. Mai multe procese copil
fork()
T F1 F2 Fn. . .
Crearea proceselorCrearea proceselorCrearea proceselorCrearea proceselor
T
a=5;
MOSTENIRE
fork()
T F
a=5; a=5;
a=a+1; a=5;
7/25/2019 3. Curs USO - SM
11/20
Crearea proceselorCrearea proceselorCrearea proceselorCrearea proceselor
Pentru gestionarea proceselor este necesara identificarea acestora
in mod unic !
Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor
PID, PPID
Memorie ocupata
Procesor ocupat
Prioritate
Durata executie Terminal asociat
etc.
specifice proceselor:
De cine credeti ca esteconditionat ?
3 categorii:
Identificarea proceselor
Informatii de stare
Informatii de control
7/25/2019 3. Curs USO - SM
12/20
Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor
Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor
7/25/2019 3. Curs USO - SM
13/20
Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor
Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor
7/25/2019 3. Curs USO - SM
14/20
Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor
Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor
Proces de prim plan (foreground)
7/25/2019 3. Curs USO - SM
15/20
Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor
Proces de prim plan (foreground)
Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor
7/25/2019 3. Curs USO - SM
16/20
Identificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselorIdentificarea si atributele proceselor
Proces de fundal (background)
Gestiunea proceselorGestiunea proceselorGestiunea proceselorGestiunea proceselor
Pornirea proceselor (subiect deja discutat) (SO, utilizator)
nc erea procese or , u za or
Schimbarea prioritatii (utilizator)
Suspendarea/revenirea din starea de suspendare (SO)
Sincronizare/comunicare (SO, utilizator)
7/25/2019 3. Curs USO - SM
17/20
Gestiunea proceselorGestiunea proceselorGestiunea proceselorGestiunea proceselor
Pornirea proceselor
Resurse necesare:
memorie
procesor
ID I/O
Gestiunea proceselorGestiunea proceselorGestiunea proceselorGestiunea proceselor
Inchiderea proceselor
Conditii de inchidere:
Iesire normala
Iesire cu eroare
Eroare fatala
Terminare de catre alt proces
7/25/2019 3. Curs USO - SM
18/20
Gestiunea proceselorGestiunea proceselorGestiunea proceselorGestiunea proceselor
Gestiunea proceselorGestiunea proceselorGestiunea proceselorGestiunea proceselor
7/25/2019 3. Curs USO - SM
19/20
Gestiunea proceselorGestiunea proceselorGestiunea proceselorGestiunea proceselor
Gestiunea proceselorGestiunea proceselorGestiunea proceselorGestiunea proceselor
Linux:
* nice
Schimbarea prioritatii proceselor
* renice
Windows :
Set priority:
7/25/2019 3. Curs USO - SM
20/20
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 p: e oo rowse.com opera ng-sys em-concep s-s ersc a z-ga v n-
gagne-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