шпаргалка

c.Gestiun semn

[ Назад ]
Acюiunea implicitг este de a apela exit оn modul nucleu, dar un proces poate specifica o acюiune specialг, pe care s-o execute la recepюionarea unui anumit semnal cu ajutorul apelul sistem signal. Sintaxa apelului este :
oldfunction=signal (signum, function);
unde:
-signum este numгrul semnalului pentru care procesul specificг acюiunea;
-function este adresa funcюiei (utilizatorului) pe care procesul dore?te s-o apeleze la recepюia semnalului. Apelul оntoarce valoarea oldfunction care a fost valoarea lui function оn cel mai recent apel al lui signal cu parametrul signum.
Procesul poate apela signal cu valoarea 1 sau 0 оn loc de adresa funcюiei: procesul va ignora viitoarele apariюii ale semnalului dacг valoarea parametrului este 1 ?i se оntoarce оn nucleu dacг valoarea lui este 0 (valoarea implicitг).
^algoritmul psig /* Algoritm pentru tratarea semnalelor */
^intrгri: niciuna
^ie?iri: niciuna
{
^obюine numгrul semnalului setat оn intrarea din tabela proceselor;
^?terge numгrul semnalului din intrarea tabelei proceselor;
^if( utilizatorul apelase funcюia sistemsignal pentru ignorarea acestui semnal)return;
^if( utilizatorul a specificat funcюia care sг trateze semnalul)
{
^obюine adresa virtualг utilizator a interceptorului de semnale pгstrat оn u area;
^?terge intrarea din u area care a conюinut adresa interceptorului de semnal;
^modificг contextul nivelului utilizator:
artificial creazг structura stivei utilizator pentru a mima apelarea funcюiei de interceptare a semnalului;
^modificг contextul nivelului sistem: scrie adresa interceptorului de semnal оn cвmpul PC al ^contextului regi?trilor salvaюi;
^return;
}
^if (semnalul este de tipul care face ca sistemul sг creeze o imagine internг unui proces)
{
^creazг fi?ierul numit "core" оn directorul curent;
^scrie conюinutul contextului nivelului utilizator оn fi?ierul "core";
}
^apeleazг imediat algoritmul exit;
}
^Cвnd trateazг un semnal nucleul determinг tipul semnalului ?i ?terge bitul semnalului tratat din intrarea corespunzгtoare tabelei proceselor, setat cвnd procesul a recepюionat semnalul. Dacг funcюia de tratare a semnalului are valoarea implicitг, nucleul va descгrca imaginea din memorie a procesului pentru anumite tipuri de semnale оnainte de a face exit.

КАТЕГОРИИ:

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