SHPORA.net :: PDA

Login:
đćăèńòđàöèÿ

Main
FAQ

ăóìàíèòàđíûć íàóêè
ćńòćńòâćííûć íàóêè
ìàòćìàòèśćńêèć íàóêè
òćőíèśćńêèć íàóêè
Search:
Title: | Body:

a.Salvarea contextului

Nucleul salvează contextul unui proces ori de câte ori el introduce în stivă un nou cadru context de nivel sistem. În particular, aceasta se întâmplă când sistemul recepționează o întrerupere, când execută un apel sistem, sau când nucleul face o schimbare de context.
Sistemul răspunde de tratarea întreruperilor, indiferent dacă ele sunt întreruperi hardware (cum ar fi de la ceas sau de la dispozitivele periferice), întreruperi programabile (execuția instrucțiunilor proiectate pentru a genera , sau excepții (cum ar fi erori de pagină).Dacă UCP lucrează la un nivel de execuție procesor mai scăzut decât nivelul întreruperii, el acceptă întreruperea înaintea decodificării instrucțiunii următoare ?i ridică nivelul de execuție al procesorului, astfel încât nici o altă întrerupere a acelui nivel nu se poate produce cât timp tratează întreruperea curentă păstrând integritatea structurilor de date ale nucleului. Nucleul tratează întreruperea cu următoarea secvență de operații: 1. Salvează contextul registru curent al procesului în execuție ?i creează un nou cadru context.
2. Determină "sursa" sau cauza întreruperii, identifică tipul întreruperii (de ceas sau de disc) ?i numărul unității care a produs întreruperea, dacă este cazul(cum ar fi driverul de disc). Când sistemul recepționează o întrerupere, aceasta prime?te un număr de la ma?ină pe care îl folose?te ca deplasament într-o tabelă, numită de obicei vector de întrerupere. De obicei conține adresa rutinei de tratare a întreruperii corespunzătoare sursei de întrerupere ?i calea de găsire a parametrilor pentru rutină. 3. Nucleul invocă rutina de tratare a întreruperii. Stiva nucleu pentru noul cadru context este din punct de vedere logic distinctă de stiva nucleu pentru cadrul context anterior.
4. După terminarea execuției rutinei de tratare a întreruperii se reia execuția proceslui curent.
Nucleul execută o secvență de instrucțiuni specifice ma?inii ?i reface context registrul ?i stiva nucleu a cadrului context anterior a?a cum erau în momentul apariției întreruperii ?i apoi reia execuția cadrului restaurat.