Korisnik:Tarpe Popovic
NITI OPERATIVNOG SISTEMA
NITI Tradicionalni pristup podrazumeva da procesi imaju svoj memorijski prostor, resurse i da imaju samo jednu jedinicu izvršavanja, tj. da se svi poslovi procesa izvršavaju se po redu. Savremeni operativni sistemi obično podržavaju koncept niti (threads) koje predstavljaju osnovne jedinice za izvršavanje u okviru procesa.
ŠTA SU NITI?
Niti su delovi jednog procesa i izvršavaju se korišćenjem resursa koji su njemu pridruženi. Osim resursa procesa kojem pripadaju, niti imaju i sopstvene resurse. Svaka nit poseduje svoje registre, programski brojač i stek, a razlikuje ih i jedinstveni identifikator (thread ID – TID). Kod segment, segment podataka, podaci o otvorenim fajlovima itd. zajednički su za niti jednog procesa.
NITI
S obzirom da niti imaju sve karakteristike procesa, pri čemu neke resurse dele s drugim nitima, često se nazivaju i lakim procesima. PODELA NITI
U zavisnosti od toga da li se nitima upravlja sa korisničkog ili sistemskog nivoa, niti se nazivaju korisničke ili niti jezgra.
PODELA PRESLIKAVANjA NITI
Pristup procesoru i priliku da se izvršavaju imaju samo niti jezgra, tako da je potrebno napraviti odgovarajuću vezu između korisničkih i niti jezgra. Ovo se postiže preslikavanjem (mapiranjem) korisničkih u niti jezgra. Najčešće podržana preslikavanja su:
Preslikavanje više u jednu; Preslikavanje jedna u jednu; Preslikavanje više u više.
PRESLIKAVANjE VIŠE U JEDNU
Preslikavanje više u jednu (many-to-one) podrazumeva da se više korisničkih niti, sve koje pripadaju jednom procesu, preslikaju u jednu nit jezgra: Broj niti jezgra je u ovom slučaju jednak broju procesa koji postoje u sistemu.
PRESLIKAVANjE JEDNA U JEDNU
Preslikavanje jedna u jednu (one-to-one) podrazumeva da se svaka korisnička nit preslika u jednu nit jezgra. Pri tome, upravljanje nitima potpuno se prepušta jezgru operativnog sistema. Niti jezgra se kreiraju sporije i ima ih manje.
PRESLIKAVANjE VIŠE U VIŠE
Preslikavanje više u više (many-to-many) je kombinacija (hibrid) prethodna dva pristupa jer podrazumeva da se, u zavisnosti od potreba procesa i mogućnosti sistema, korisničke niti jednog procesa preslikavaju u manji (ili isti u ekstremnom slučaju) broj niti jezgra.
BROJ NITI
Broj niti jezgra koje će biti kreirane zavisi od konkretnog procesa, ali često i od broja procesora u sistemu. Naime, u sistemima sa više procesora prirodno je da se korisničke niti procesa preslikaju u više niti jezgra. Ovo je najkompleksniji model za implementiranje, ali je i najkvalitetniji jer se može prilagoditi potrebama procesa kao i karakteristikama sistema.
ZAŠTO SU NITI DOBRE?
Ovakvim pristupom smanjuje se zauzeti prostor i omogućava se da više niti obavlja različite zadatke u okviru jednog procesa.Niti dele memoriju i nek eresurse koji pripadaju istom procesu tako da zauzimaju manjeprostora nego kada su u pitanjunezavisni procesi.
NITI
Na početku izvršavanja svaki proces dobija svoj memorijski prostor i kontrolnu (inicijalnu) nit. Ova nit ima zadatak da kreira ostale niti koje su potrebne za izvršavanje procesa.
PRIMER NITI
Upotreba niti može se ilustrovati na primeru veb pregledača. Oni se mogu implementirani tako da koriste bar tri niti. Jedna nit služi za prikazivanje hiperteksta u okviru prozora, druga učitava podatke sa nekog servera, dok treća služi za preuzimanje podataka preko mreže.