Архитектура современных операционных систем
129 При перепланировке в случае мультипроцессорной конфигурации плани- ровщик проверяет, не может ли поток вытеснить выполняющиеся потоки на любом из процессоров (рис. 4.16.). Обработка прерываний и исключений Прерывания и исключения – механизм, позволяющий системе перейти с обычного выполнения потоков к выполнению кода какой-то особой функции для обработки исключительной ситуации. Для обработки прерываний и исключений используется так называемая ло- вушка (trap), позволяющая ядру переключить управление процесса на себя и изменить режим работы с пользовательского уровня на привилегированный. Всякий раз, когда в системе происходит одно из указанных на схеме (рис. 4.17.) слева событий, вызывается обработчик ловушки. Он выполняет следующие основные действия: 1) сохраняет состояние процессора на момент возникновения соответствующего прерывания или исключения; 2) переводит процессор в привилегированный режим работы; 3) вызывает соответствующий компонент, отвечающий за обработку прерывания или исключения (рис. 4.17.). Рис. 4.17. Обработчик ловушки дисп. прерывания дисп. сист. вызова ISR Обработчик сист. вызова дисп. исключений Диспетчер ВП прерывание сист. вызов исключение исключение ВП
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy