Исключения, подобно системным вызовам, происходят для процесса синхронно. Исключения обычно возникают вследствие ненамеренных ошибок, таких, как деление на ноль или ссылка через недействительный указатель. Процесс узнает о проблеме, либо перехватив сигнал, либо путем завершения. Исключения могут возникнуть также вследствие отказа страницы, в этом случае система делает страницу доступной и повторно запускает процесс, не давая ему знать о произошедшем отказе.
Обработчик исключения вызывается подобно обработчику системного вызова. Сначала сохраняется состояние процесса. Потом обработчик исключения определяет тип исключения, а затем организует посылку сигнала или загрузку страницы, в зависимости от ситуации. В заключение он проверяет наличие ожидающих сигналов или процессов с более высоким приоритетом и завершается аналогично обработчику системного вызова, за тем исключением, что возвращаемое значение отсутствует.
- 04/07/2010 23:01 - Тайм-ауты
- 04/07/2010 21:47 - Статистика и планирование процессов
- 02/07/2010 05:18 - Прерывания от часов
- 26/06/2010 01:52 - Программные прерывания
- 24/06/2010 12:26 - Прерывания от устройств ввода/вывода
- 15/06/2010 08:13 - Состояние процесса
- 15/06/2010 01:16 - Использование ресурсов
- 11/06/2010 15:57 - Возвращение из системного вызова
- 01/06/2010 19:17 - Обработка результатов
- 01/06/2010 01:09 - Системные вызовы