Friday, May 18th

Last update12:13:00 PM GMT

Вы находитесь на: FreeBSD Службы ядра Исключения

Исключения

Исключения, подобно системным вызовам, происходят для процесса синхронно. Исключения обычно возникают вследствие ненамеренных ошибок, таких, как деление на ноль или ссылка через недействительный указатель. Процесс узнает о проблеме, либо перехватив сигнал, либо путем завершения. Исключения могут возникнуть также вследствие отказа страницы, в этом случае система делает страницу доступной и повторно запускает процесс, не давая ему знать о произошедшем отказе.

Обработчик исключения вызывается подобно обработчику системного вызова. Сначала сохраняется состояние процесса. Потом обработчик исключения определяет тип исключения, а затем организует посылку сигнала или загрузку страницы, в зависимости от ситуации. В заключение он проверяет наличие ожидающих сигналов или процессов с более высоким приоритетом и завершается аналогично обработчику системного вызова, за тем исключением, что возвращаемое значение отсутствует.

mba образование , по российско-швейцарской прогр.
Сейчас 65 гостей онлайн