Professional Documents
Culture Documents
05-Dretve - v1 1
05-Dretve - v1 1
2008
Dretve
Dretve
Općenito
Višedretveni modeli
Izdavanja dretvi
POSIX dretve
Dretve u Solarisu
Dretve u WIN 2000
Dretve u Linuxu
Dretve u Javi
Operacijski sustavi I 1
Veleučilište Velika Gorica 5.2.2008
Općenito
Svaki proces ima adresni prostor i jednu kontrolnu dretvu (Thread).
Česte su situacije kad je poželjno pojedine zadatke dijeliti na više
podzadataka koji se odvijaju unutar jednog procesa. U suvremene
operacijske sustave uvedeni su mehanizmi koji podržavaju izvođenje
procesa s više dretvi
Dretve istog procesa koriste isti adresni prostor i rade kvazi
paralelno kao da su odvojeni procesi.
Princip rada više dretvi koje se izvršavaju unutar jednog procesa je
analogan radu više istovremenih procesa na jednom računalu.
Dretve imaju neke osobine procesa, te se često nazivaju laki
(lightweight) procesi.
Dretve nisu toliko međusobno nezavisne kao procesi.
Sve dretve (unutar nekog procesa) dijele isti skup otvorenih
datoteka, procesa djece, alarma i signala itd.
Operacijski sustavi I 2
Veleučilište Velika Gorica 5.2.2008
Zašto dretve?
Operacijski sustavi I 3
Veleučilište Velika Gorica 5.2.2008
Operacijski sustavi I 4
Veleučilište Velika Gorica 5.2.2008
10
Operacijski sustavi I 5
Veleučilište Velika Gorica 5.2.2008
11
12
Operacijski sustavi I 6
Veleučilište Velika Gorica 5.2.2008
Blokirane dretve
13
14
Operacijski sustavi I 7
Veleučilište Velika Gorica 5.2.2008
Prednosti višedretvenosti
Prepoznatljivost po funkciji
Podjela resursa
Ekonomičnost
Povećanje funkcionalnosti u višeprocesorskim
sustavima
15
radna dretva A B C D E
izlazna dretva A B C D E
16
Operacijski sustavi I 8
Veleučilište Velika Gorica 5.2.2008
17
Implementacija dretvi
Hibridna implementacija
18
Operacijski sustavi I 9
Veleučilište Velika Gorica 5.2.2008
Korisničke dretve
Implementacija na nivou korisnika (dretvene biblioteke):
Prednosti:
jezgra ne zna ništa o njima što znači da mogu biti implementirane na
sustavu koji ne podržava višedretvenost
brzo raspoređivanje
mogući su različiti algoritmi raspoređivanja
Mane:
raspoređuju se procesi tako da se dvije dretve u istom procesu ne mogu
izvršavati na dva različita procesora
blokiranje jedne dretve na sistemskom pozivu blokira cijeli proces
dretva mora dobrovoljno prepustiti izvršavanje
Primjeri:
POSIX p-dretve
Solaris dretve
19
20
Operacijski sustavi I 10
Veleučilište Velika Gorica 5.2.2008
Jezgrene dretve
Implementacija unutar jezgre (sistemski pozivi)
Prednosti:
nema potrebe za neblokirajućim pozivima
dvije dretve iz istog procesa mogu raditi na različitim procesorima
Mane:
svi pozivi koji blokiraju dretvu su implementirani kao sistemski pozivi što
povećava vremenske troškove
'skuplje' kreiranje i uništavanje dretvi (zbog toga neki sustavi 'recikliraju' dretve)
Primjeri:
Windows 95/98/NT/2k/XP
Solaris
Tru64 UNIX
BeOS
Linux
21
22
Operacijski sustavi I 11
Veleučilište Velika Gorica 5.2.2008
Hibridna implementacija
23
24
Operacijski sustavi I 12
Veleučilište Velika Gorica 5.2.2008
25
Operacijski sustavi I 13
Veleučilište Velika Gorica 5.2.2008
Višedretveni modeli
27
28
Operacijski sustavi I 14
Veleučilište Velika Gorica 5.2.2008
29
30
Operacijski sustavi I 15
Veleučilište Velika Gorica 5.2.2008
31
P-dretve
32
Operacijski sustavi I 16
Veleučilište Velika Gorica 5.2.2008
Solaris 2 dretve
33
Procesi u Solarisu
34
Operacijski sustavi I 17
Veleučilište Velika Gorica 5.2.2008
35
Linux dretve
36
Operacijski sustavi I 18
Veleučilište Velika Gorica 5.2.2008
Dretve u Javi
37
38
Operacijski sustavi I 19