шпаргалка

d.Gestiun semn

[ Назад ]
Nucleul descarcг imaginea procesului din memorie pentru semnalele care sugereazг cг ceva este gre?it оn proces, cum ar fi faptul cг procesul executг o instrucюiune ilegalг sau cвnd acesta acceseazг o adresг оn afara spaюiului sгu virtual de adrese. Dar nucleul nu descarcг core-ul pentru semnale care nu implicг o eroare program. Cвnd un proces recepюioneazг un semnal pe care anterior a decis sг-l ignore, acesta continuг ca ?i cвnd semnalul nu ar fi apгrut. Deoarece nucleul nu reseteazг cвmpul din u area care aratг cг semnalul este ignorat, procesul va ignora semnalul ?i la apariюia ulterioarг a acestuia. Dacг un proces recepюioneazг un semnal pe care acesta se decisese anterior sг-l intercepteze, acesta executг funcюia de tratare a semnalului specificatг de utilizator imediat cum se оntoarce оn modul utilizator, dupг ce nucleul parcurge urmгtorii pa?i:
1.Nucleul acceseazг contextul regi?trilor salvaюi al utilizatorului, gгsind numгrгtorul programului (PC) ?i pointerul stivei (SP) pe care acesta оi salvase pentru оntoarcerea оn procesul utilizator.
2.Acesta ?terge cвmpul semnalului tratat din u area, setвndu-l la starea implicitг.
3.Nucleul creazг un nivel de stivei оn stiva utilizator, scriind оn aceasta valorile pentru PC ?i SP pe care acesta le restabile?te din contextul regi?trilor salvaюi al utilizatorului ?i alocг spaюiu nou, dacг este necesar. Stiva utilizator arгtг ca ?i cum procesul apelase o funcюie la nivel utilizator (interceptorul de semnale) оn punctul unde acesta fгcuse apelul sistem sau nucleul оl оntrerupsese (оnainte de recunoa?terea semnalului).
4.Nucleul schimbг contextul regi?trilor salvaюi al utilizatorului: acesta reseteazг valorile pentru PC la adresa funcюiei de interceptare a semnalului ?i seteazг valoarea pentru SP pentru a юine evidenюa cre?terii stivei utilizatorului.
Dupг оntoarcerea din nucleu оn modul user, procesul va executa funcюia de tratare a semnalului; cвnd acesta terminг funcюia de tratare a semnalului, se оntoarce оn locul din codul utilizator unde a fost gгsit apelul sistem sau s-a produs оntreruperea, imitвnd o оntoarcere din apelul sistem sau оntrerupere.

КАТЕГОРИИ:

Network | английский | архитектура эвм | астрономия | аудит | биология | вычислительная математика | география | Гражданское право | демография | дискретная математика | законодательство | история | квантовая физика | компиляторы | КСЕ - Концепция современного естествознания | культурология | линейная алгебра | литература | математическая статистика | математический анализ | Международный стандарт финансовой отчетности МСФО | менеджмент | метрология | механика | немецкий | неорганическая химия | ОБЖ | общая физика | операционные системы | оптимизация в сапр | органическая химия | педагогика | политология | правоведение | прочие дисциплины | психология (методы) | радиоэлектроника | религия | русский | сертификация | сопромат | социология | теория вероятностей | управление в технических системах | физкультура | философия | фотография | французский | школьная математика | экология | экономика | экономика (словарь) | язык Assembler | язык Basic, VB | язык Pascal | язык Си, Си++ |