Scrigroup - Documente si articole

     

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


Procese - ierarhii de procese, starile unui proces, implementarea proceselor, tratarea intreruperilor

hardware



+ Font mai mare | - Font mai mic



Procese - ierarhii de procese, starile unui proces, implementarea proceselor, tratarea intreruperilor.

Ierarhii de procese



Atunci cand un proces creeaza un alt proces exista anumite legaturi intre procesul parinte si procesul copil.

UNIX - un proces impreuna cu descendenTii sai formeaza un grup de procese. Ex: un semnal de la tastatura este transmis tuturor membrilor grupului

de procese, asociat cu tastatura in acel moment. Fiecare proces poate intercepta, ignora semnalul sau poate fi terminat de semnal.

In Windows nu exista ierarhie, dar procesul parinte are dreptul de a controla procesul copil si poate transmite acest drept unui alt proces.

Starile unui proces

1. In execuTie (foloseste procesorul) - procesor disponibil.

2. Gata de execuTie (executabil dar oprit temporar pt. a lasa alt proces sa se execute) - procesor indisponibil.

3. Blocat (incapabil sa se execute pana cand nu apare un eveniment extern) - procesor disponibil.

Sunt posibile patru tranziTii:

Procesul se blocheaza in asteptarea datelor de intrare - ramane in starea 3.

Se trece din starea 1 in starea 2 - procesorul alege un alt proces.

Se trece din starea 2 in starea 1 in cazul in care procesorul alege acest proces.

Se trece din starea 3 in starea 2 in cazul in care datele de intrare devin disponibile.

OperaTiile se fac prin intermediul planificatorului de procese.

Categorii de procese:

executa programe create de utilizator;

se ocupa de functionarea corecta a sistemului;

Nivelul inferior este reprezentat de modulul planificator iar nivelul imediat superior de diverse alte procese. Tratarea intreruperilor, detaliile legate de crearea si

terminarea proceselor se afla in modulul planificator.

Implementarea proceselor

Pentru a implementa modelul teoretic SO foloseste un tabel de procese (process table).

Tabelul de procese este un vector de structuri cu o intrare pentru fiecare proces - bloc de control al procesului.

Intrarea conTine informaTii despre:

starea procesului

contorul program;

indicatorul de stiva;

alocarea memoriei;

starea fisierelor deschise;

alte informaTii care trebuie salvate la trecerile procesului dintr-o stare in alta.

Tratarea intreruperilor: fiecare clasa de dispozitive I/E are asociata o locaTie numita vector de intrerupere in care este memorata adresa rutinei de tratare a intreruperii.

Cand apare o intrerupere:

contorul program, cuvantul de stare a programului, unul sau mai multe registre asociate programului se salveaza pe stiva de catre hardul de intrerupere;

hardul incarca din vectorul de intrerupere contorul program al rutinei de intrerupere;

Partea de rutina scrisa in limbaj de asamblare salveaza registrele programului intrerupt;

rutina in limbaj de asamblare muta pointer-ul de stiva la o noua locaTie;

se executa partea de tratare a intreruperii scrisa intr-ul limbaj de programare (de obicei C);

se apeleaza modulul planificator care stabileste procesul care trebuie executat in continuare;

se trece din nou de la limbaj de programare la limbaj de asamblare si se iniTializeaza noul proces.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1429
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