Прерывания
Прерывания
Прерывания неизбежны. Это естественная часть нашей работы, и от нас зависит, насколько хорошо мы с ними справляемся.
Работать под управлением прерываний означает выполнять задания по мере их поступления, а не в соответствии с какой-то системой приоритетов, установленной в интересах дела. Конечно, интересы дела часто требуют именно обработки поступающих прерываний. Однако уверяю вас, что по мере вашего профессионального роста вы будете отвлекаться на прерывания все меньше и меньше. Рассмотрим организационную структуру магазина. Продавец, стоящий за прилавком, работает под управлением прерываний: к нему подходят покупатели, и он отпускает товар, отвечает на вопросы и т. д. Зато работа менеджера магазина подчиняется определенному распорядку: он открывает магазин, заказывает товары, дает распоряжения продавцам и т. д. Да, его деятельность тоже подвержена прерываниям (вопросы от персонала, непосредственные ситуации), но они составляют лишь небольшую часть работы.
Работая под управлением прерываний, мы фактически позволяем им распоряжаться нашим временем. Мы передаем управление нашим рабочим процессом в чужие руки. Естественно, я за то, чтобы вы внимательно относились к клиентам, но ваши приоритеты известны только вам. Управляя своим рабочим процессом, вы можете разумно сгруппировать задачи, чтобы сэкономить время. Например, можно выделить задачи, которые решаются в одной части здания, чтобы сократить время ходьбы по коридорам и с этажа на этаж. В главе 8 показано, что реагирование на запросы клиентов в порядке поступления может оказаться неоптимальным решением, и предложен ряд стратегий по расстановке приоритетов, позволяющих сэкономить ваше время.
Конечно, самый быстрый способ разобраться с прерыванием — крикнуть клиенту «Пошел вон!» и захлопнуть дверь. Но этот метод я рекомендую лишь тем, кто хочет лишиться рабочего места. Я встречал системных администраторов, советующих коллегам быть с клиентами погрубее, чтобы отпугнуть их. Думаю, не стоит следовать этим рекомендациям.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Прерывания
Прерывания Прерывания позволяют аппаратным устройствам взаимодействовать с процессором. Например, при наборе на клавиатуре контроллер клавиатуры (или другое устройство, которое обслуживает клавиатуру) генерирует прерывание, чтобы объявить операционной системе о том,
Регистрация обработчика прерывания
Регистрация обработчика прерывания Ответственность за обработчики прерываний лежит на драйверах устройств, которые управляют определенным типом аппаратного обеспечения. С каждым устройством связан драйвер, и если устройство использует прерывания (а большинство
Освобождение обработчика прерывания
Освобождение обработчика прерывания Для освобождения линии прерывания необходимо вызвать функциюvoid free_irq(unsigned int irq, void *dev_id);Если указанная линия не является совместно используемой, то эта функция удаляет обработчик и запрещает линию прерывания. Если линия запроса на
Контекст прерывания
Контекст прерывания При выполнении обработчика прерывания или обработчика нижней половины, ядро находится в контексте прерывания. Вспомним, что контекст процесса — это режим, в котором работает ядро, выполняя работу от имени процесса, например выполнение системного
Прерывания
Прерывания В этой главе вы научитесь писать обработчики прерываний для QNX/Neutrino и узнаете, как обработчики прерываний влияют на диспетчеризацию
QNX/Neutrino и прерывания
QNX/Neutrino и прерывания В данной главе мы рассмотрим прерывания, как с ними работать в QNX/Neutrino, их воздействие на диспетчеризацию и режим реального времени, а также некоторые стратегии их использования.Первый вопрос, который приходит на ум: «А что такое прерывание?»Прерывание
Подпрограмма обработки прерывания
Подпрограмма обработки прерывания Обработчик прерывания (ISR) представляет собой фрагмент кода, ответственный за очистку источника прерывания.Это ключевой момент, особенно с учетом того, что прерывание имеет приоритет выше, чем приоритет любой программы. Это означает,
Отключение обработчика прерывания
Отключение обработчика прерывания Когда вы закончили с обработчиком прерывания, вы можете пожелать уничтожить связь между ним и вектором:int InterruptDetach(int id);Я сказал «можете», потому что обрабатывающие прерывания потоки, как правило, используются в серверах, а серверы
Обработчик прерывания
Обработчик прерывания Давайте рассмотрим собственно обработчик прерывания. В первом примере применим InterruptAttach(), а затем рассмотрим аналогичный случай, только с применением функции InterruptAttachEvent().Применение функции InterruptAttach()В продолжение примера приведем функцию intHandler()
Исключения, события и прерывания
Исключения, события и прерывания Если нечто не соответствует общему правилу, то его обычно называют исключением из правила. В вычислительных системах также имеются исключения из общих правил обработки. В этом разделе мы рассмотрим обработку исключений, событий и
1.5.1 Прерывания и особые ситуации
1.5.1 Прерывания и особые ситуации Система UNIX позволяет таким устройства, как внешние устройства ввода-вывода и системные часы, асинхронно прерывать работу центрального процессора. По получении сигнала прерывания ядро операционной системы сохраняет свой текущий
1.5.2 Уровни прерывания процессора
1.5.2 Уровни прерывания процессора Ядро иногда обязано предупреждать возникновение прерываний во время критических действий, могущих в случае прерывания запортить информацию. Например, во время обработки списка с указателями возникновение прерывания от диска для ядра
6.4.1 Прерывания и особые ситуации
6.4.1 Прерывания и особые ситуации Система отвечает за обработку всех прерываний, поступили ли они от аппаратуры (например, от таймера или от периферийных устройств), от программ (в связи с выполнением инструкций, вызывающих возникновение «программных прерываний») или