шпаргалка

b.Salvarea context

[ Назад ]
^algoritmul inthand /* rutina detratare a ^оntreruperii */
^intrare: niciuna
^ie?ire: niciuna
{
^salveazг (introduce) stratul context curent;
^determinг sursa de оntrerupere;
^gгse?te vectorul de оntrerupere;
^apeleazг rutina de tratare a оntreruperii;
^reface (scoate din stivе) stratul context anterior;
}
Interfaюa de apel sistem a nucleului a fost descrisг ca un apel normal de funcюie. Compilatorul C folose?te o bibliotecг de funcюii predefinite (biblioteca C) care conюine denumirile apelurilor sistem.
Funcюiile de bibliotecг invocг o instrucюiune care schimbг modul de execuюie al procesului оn modul nucleu ?i determinг nucleul sг оnceapг execuюia codului pentru apelurile sistem.Aceastг instrucюiune este numitг "trap" ?i este vгzutг ca o excepюie. Rutinele de bibliotecг sunt executate оn modul utilizator, dar interfaюa de apel sistem este un caz special de rutina de tratare a оntreruperii.
^algoritmul syscal /* algoritmul pentru invocarea unui apel sistem */
^ intrare: numгrul apelului sistem
^ ie?ire: rezultatul apelului sistem
{
gгse?te intrarea оn tabela de apeluri sistem corespunzгtoare numгrului de apel sistem;
^determinг numгrul de parametri pentru apelul sistem;
^copie parametrii din spaюiul de adrese utilizator оn u area;
^salveazг contextul curent pentru оntoarcerea forюatг );
^invocг codul apelului sistem in nucleu;
^if (apare eroare оn timpul execuюiei apelului sistem)
{
seteazг registrul 0 din registrul context salvat utilizator cu numгrul erorii;
^оntoarce bitul de transport оn registrul PS din contextul registrului salvat utilizator;
}
^else
^seteazг registrul 0, 1 din registrul context salvat utilizator ca valori de retur din apelul sistem;
}

КАТЕГОРИИ:

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