Допустим имеется системная функция ядра в виде прерывания и некая задача, которая ее вызывает и передает ей (функции) параметры через регистры (как в Линуксе, вроде). Если параметры будут неверные (например, указатель на несуществующую память), то накроется ядро (исключение, перезагрузка и т.д.). Как сделать так, чтобы в случае ошибки выполнялся необходимый обработчик? (Ядро в ring0, задача - ring3).
если ты пишешь ОС, то ты и должен продумать ее архитектуру в частности компонент управления памятью а дальше опираться на него для проверки валидности адреса
извини, я за тебя ничего придумывать не буду раз уж взялся за это дело, будь добр сначала прочитать разные умные книги, а потом с конкретными вопросами обращаться сюда "Как оно должно работать?" звучит слишком абстрактно на это можно ответить только "хорошо"