Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Fire de execuTie - modelul firelor de execuTie, utilizarea firelor de execuTie

hardware



+ Font mai mare | - Font mai mic



Fire de execuTie - modelul firelor de execuTie, utilizarea firelor de execuTie.

Fire de execuTie

Modelul firelor de execuTie



Un proces grupeaza anumite resurse si executa instrucTiuni.

Partea unui proces care Tine de execuTie se numeste fir de execuTie (thread).

Un fir de execuTie are:

un contor de program care Tine evidenTa urmatoarei instrucTiuni de executat;

registre care reTin variabilele curente de lucru;

o stiva in care este reTinuta istoria execuTiei.

Firul de execuTie ruleaza intr-un proces.

Pot exista mai multe fire de execuTie care ruleaza in cadrul aceluiasi proces.

Ele impart spaTiul de adrese, fisierele deschise si alte resurse.

Nu sunt la fel de independente unele faTa de altele cum sunt procesele.

Un fir poate citi, sterge si scrie intreaga stiva a unui alt fir.

Ca si in cazul proceselor, procesorul comuta rapid intre diferitele firele de execuTie.

Sunt create mai multe fire care ruleaza in acelasi proces si partajeaza o mulTime de resurse pt. A coopera.

Ca si procesele se pot afla in una din starile:

in execuTie;

gata de execuTie;

blocat.

Au loc aceleasi tranziTii ca in cazul proceselor.

Un fir de execuTie are propria stiva in care este memorata fiecare procedura apelata din care nu s-a revenit inca. Sunt memorate variabilele locale si adresa de revenire.

In cazul proceselor cu fire de execuTie multiple

Procesul porneste de obicei cu un fir de execuTie care are capacitatea de a crea alte fire de execuTie apeland o procedura biblioteca (ex: thread_create).

In general nu sunt ierarhizate, dar firul parinte primeste un identificator pt. firul fiu.

Terminarea unui fir de execuTie se face tot printrun apel de procedura biblioteca (ex: thread_exit). Dupa aceasta firul dispare si nu mai este planificabil.

In cazul anumitor sisteme cu fire de execuTie multiple, un fir poate astepta terminarea altui fir apelandu-se o procedura (ex: thread_wait).

Nu exista o intrerupere de ceas care sa asigure divizarea timpului, un fir trebuie sa renunTe voluntar la deTinerea procesorului apeland de ex.

thread_yield.

Utilizarea firelor de execuTie

In multe aplicaTii se desfasoara mai multe activitaTi in acelasi timp.

Modelul de programare devine mai simplu daca o astfel de aplicaTie este descompusa in mai multe fire de execuTie care ruleaza pseudo-paralel.

Spre deosebire de procese firele de execuTie partajeaza acelasi spaTiu de adrese.

Sunt mai usor de creat si de distrus decat procesele pt. ca nu au resurse atasate.

In cazul existenTei mai multor operaTii de calcule pe procesor si mai multor operaTii de I/E, firele permit suprapunerea acestora marind viteza de execuTie a aplicaTiei.

Exemplu - procesor de texte:

Presupunem ca utilizatorul scrie o carte. Pentru a gestiona schimbarile eficient se foloseste un singur fisier.

Presupunem ca sterge doua randuri de pe prima pagina si vrea sa vada imediat pagina n.

Un singur fir de execuTie intarzieri din cauza reformatarii textului.

Daca procesorul de texte este un program cu doua fire de execuTie:

un fir interacTioneaza cu utilizatorul;

celalalt se ocupa de reformatare in fundal;

imediat ce propoziTia a fost stearsa de pe prima pagina firul de execuTie interactiv comunica firului de formatare sa reformateze intreaga carte;

intre timp firul interactiv continua sa astepte evenimente de la tastatura si mouse si raspunde comenzilor simple;

firul de formatare lucreaza in fundal.

Se poate introduce si un al treilea fir care salveaza fisierul automat pe disc la un interval de cateva minute.

Un singur fir: asteptare pana cand este salvat fisierul sau intreruperi.

Sunt alese trei fire de execuTie si nu trei procese distincte pentru ca se fac operaTii asupra aceluiasi document.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1016
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved