curs03_procese si fire de executie

23
1 Curs 3 1. Procese 2. Fire de execu ție (Threads)

Upload: nicolae-stan

Post on 03-Apr-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 1/23

1

Curs 3

1. Procese2. Fire de execuție (Threads)

Page 2: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 2/23

2

1.1. Modelul procesului

Bucătarul  ≡ UCP

Rețeta  ≡ Programul 

Ingredientele ≡ Date de intrare 

Citirea rețetei

Adăugarea ingredientelor ≡ Procesul Coacerea tortului

Un proces are un program, date de intrare, date de ieșire și o

stare. 

Page 3: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 3/23

3

1.2. Crearea unui proces

Principalele evenimente care duc la creareaunui proces sunt:

1. Inițializarea sistemului 2. Execuția unui apel de sistem

3. Cererea unui utilizator 

4. La execuția unor prelucrări pe loturi 

Page 4: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 4/23

4

1.3. Finalizarea execuției unui

 procesSe realizează în următoarele condiții:

1. Normal exit (voluntar)

2. Error exit (voluntar)

3. Fatal error (involuntar)

4. Prin apelul de sistem kill (involuntar)

Page 5: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 5/23

5

1.4. Ierarhii de procese

• Un proces părinte creează proprii săi fii carela rândul lor pot crea alte procese.

• În UNIX ierarhia formată se numește grupde procese. Un proces părinte nu poatedezmoșteni procesul fiu. 

• În Windows nu există ierarhie de procese.Un proces părinte dezmoștenește procesulfiu prin pasarea handler-ului cu carecontrolează procesul fiu, unui alt proces. 

Page 6: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 6/23

6

1.5. Starea procesului

Page 7: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 7/237

1.6.1. Implementarea unui proces

Câmpurile tabelei de proces

Page 8: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 8/238

1.6.2. Implementarea unui proces

Page 9: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 9/239

2.1. Fire de execuție-Thread

(a) Trei procese, fiecare deține propriul thread (b) Un proces cu trei thread-uri

Page 10: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 10/2310

2.2.1. Modelul unui thread

• Proprietăți deținute de toate thread-urile unui proces• Proprietăți individuale ale fiecărui thread 

Page 11: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 11/2311

2.2.2. Modelul unui thread

Fiecare thread deține propria lui stivă 

Page 12: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 12/2312

2.3.1.Utilizarea thread-urilor 

Un procesor word cu trei thread-uri

Page 13: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 13/2313

2.3.2.Utilizarea thread-urilor 

A multithreaded Web server 

Page 14: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 14/23

14

2.3.3.Utilizarea thread-urilor 

Trei modalități de dezvoltare a unui server web 

Page 15: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 15/23

15

2.4. ULT

Page 16: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 16/23

16

2.5. KLT

Page 17: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 17/23

17

Implementări hibride 

Multiplexarea ULT peKLT

Page 18: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 18/23

18

Thread-uri Pop-Up

Page 19: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 19/23

19

De știut... • Definiți procesul.• Cum se creează un proces. • Cum se încheie execuția unui proces. • Caracterizați ierarhia de procese. • Descrieți starea procesului. • Cum se realizează implementarea unui proces. • Ce reprezintă un thread. • Ce înseamnă multithreading. 

• Descrieți modelul unui thread. • Justificați necesitatea thread-urilor.• Dați exemplu de utilizare a thread-urilor.• Ce reprezintă o mașină cu stări finite? • Care sunt avantajele și dezavantajele thread-urilor?

• Descrieți ULT, KLT. • Care sunt avantajele și dezavantajele ULT, KLT? • Caracterizați implementările hibride ale thread-urilor.• Descrieți thread-urile pop-up.

Page 20: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 20/23

20

Întrebare

Care din următoarele NU este un avantaj al

folosirii thread-urilor?

a) timp de comutare mai rapid b)  partajare facilă a informației c) eliminarea completă a apelurilor de sistem d)  planificare avantajoasă pe sisteme

multiprocesor 

Page 21: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 21/23

21

Întrebare

Care din următoarele nu este un tip de model

de thread-uri?

a) one-to-one b) one-to-many

c) many-to-one

d) many-to-many

Page 22: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 22/23

22

Întrebare

Care din următoarele este partajată între

thread-uri?

a) Stiva b) Registrele

c) Handler de semnal

d) Variabilele globale

Page 23: Curs03_Procese Si Fire de Executie

7/28/2019 Curs03_Procese Si Fire de Executie

http://slidepdf.com/reader/full/curs03procese-si-fire-de-executie 23/23

23

Bibliografie

• A. Tanembaum, Modern Operating Systems, Prentice Hall2001, pag 70-97.

• A. Silberschatz, P. Galvin, Operating System Concepts,

John Wiley and Sons Inc., 2005, pag 81-143(capitolul 3 si4 f ără cap 3.4).

• A. Tanembaum, Modern Operating Systems, Prentice Hall,2007, pag 83-117. 

• http://elf.cs.pub.ro/so/wiki/cursuri/curs-08 • Gh. Dodescu, Sisteme de operare, Ed. Economică, 2003, pag 37-65.