Может ли обработчик GP прервать другое прерывание? ))
Вопрос в следующем:
Как правильно определить какой процесс вызвал GP ?
есть таблица процессов,
адреса процессов пока записываю вручную:
pr_table:
pr_one dd proc1
pr_two dd proc2
При тике таймера в cs:ip заносится адрес первой программы pr_one, она выполняется до того момента пока таймер снова не тикнет, после тика в pr_one записывается адрес программы (выталкивается из стека) тот адрес откуда она была прервана, загружается второй процесс из pr_twо, сбрасывается заявка в контролере прерываний, передается управление программе с адреса proc2 и все повторяется ...
Задача в том что если в каком либо из процессов возникает GP, я его ловлю в обработчике GP, он выводит сообщение о том что произошла ошибка, и после этого необходимо этот процесс кильнуть.
Я могу удалить этот процесс из таблицы процессов, но вопрос такой:
А может ли какое-нибудь прерывание прервать мой обработчик GP еще ДО того как я сброшу заявку в контроллере прерываний ? (Другой процессор - (в многоядерном процессоре, прерывание от какого-либо устройства, еще что-то?))
Если нет, я тогда просто удаляю процесс из таблицы процессов и система продолжает стабильную работу.
Вопрос может глупый, но информации в инете просто нет. Может кто сталкивался? Я знаю сюда иногда заходят разработчики Kolibri
тут? Похоже камень может сам вмешиваться (и ось). Но вряд ли он это сделает так, чтобы создать конфликт. Иначе что это за защищенный режим...
А чего разрабов Kolibri OS прямо не спросите?
Может
А чего разрабов Kolibri OS прямо не спросите?
sadovoya, я прав?
низкоуровневому программированию", зацените, пока не удалили :))
Не силен я в защищенных режимах. А вот вопрос так вопрос по "
Естественно, может, если это "другое прерывание" вызвало исключение.
Цитата: Phantom-84
Естественно, может, если это "другое прерывание" вызвало исключение.
Ссылку на пруф, пожалуйста, можно увидеть?
http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
Хотя просто логически поразмыслить тоже никто не запрещает.