532 vizualizari | Fii primul care comenteaza
Firele de executie sunt adesea numite procese usoare. Firele de executie sunt foarte asemanatoare cu procesele din UNIX. Pentru a intelege diferenta trebuie sa examinam relatia dintre procesele UNIX si firele de executie si sarcinile de pe Mach.
In UNIX, un proces contine in acelasi timp un program executabil si o colectie de resurse, asa cum ar fi o tabela descriptor de fisier si spatiul de adrese.
Pe Mach, o sarcina contine doar colectia de resurse; firele de executie controleaza toate activitatile legate de executie. O sarcina de pe Mach poate avea oricate fire de executie asociate si toate firele de executie trebuie sa fie asociate cu o sarcina. Toate firele de executie asociate cu o anumita sarcina impart resursele sarcinii. Astfel, un fir de executie este in esenta un contor, o stiva, si o multime de registri. Un proces din UNIX este modelat pe Mach ca o sarcina cu un singur fir de executie.
Daca la orice moment o singura instructiune a procesului poate fi executata de catre procesor, se spune ca procesul respectiv are un singur fir de executie (eng. thread). Firele de executie transpun conceptul de executie paralela la nivelul procesului: firele partajeaza resursele procesului; procesele partajeaza resursele sistemului de calcul.
La ce foloseste un fir de executie?
Din moment ce firele de executie sunt foarte mici ca marime in comparatie cu procesele, crearea de fire de executie ocupa foarte putine resurse ale procesorului.
Adauga o cerere pentru cursul sau referatul de care ai nevoie iar noi te anuntam de indata ce cererea ta a primit un raspuns. Daca dimpotriva, esti un student silitor si vrei sa raspunzi unei cereri, vei castiga mult mai multi gold coins!
Participa acum!