Когда нужно использовать нижние половины
Когда нужно использовать нижние половины
Часто не просто понять, зачем нужно откладывать работу и когда именно ее нужно откладывать. Вам необходимо ограничить количество работы, которая выполняется в обработчике прерывания, потому что обработчик прерывания выполняется при запрещенной текущей линии прерывания. Хуже того, обработчики, зарегистрированные с указанием флага SA_INTERRUPT, выполняются при всех запрещенных линиях прерываний на локальном процессоре (плюс текущая линия прерывания запрещена глобально). Минимизировать время, в течение которого прерывания запрещены, важно для уменьшения времени реакции и увеличения производительности системы. Если к этому добавить, что обработчики прерываний выполняются асинхронно по отношению к другому коду, и даже по отношению к другим обработчикам прерываний, то становится ясно, что нужно минимизировать время выполнения обработчика прерывания. Решение — отложить некоторую часть работы на более поздний срок.
Но что имеется в виду под более поздним сроком? Важно понять, что позже означает не сейчас. Основной момент в обработке нижних половин — это не отложить работу до определенного момента времени в будущем, а отложить работу до некоторого неопределенного момента времени в будущем, когда система будет не так загружена и все прерывания снова будут разрешены.
Не только в операционной системе Linux, но и в других операционных системах обработка аппаратных прерываний разделяется на две части. Верхняя половина выполняется быстро, когда все или некоторые прерывания запрещены. Нижняя половина (если она реализована) выполняется позже, когда все прерывания разрешены. Это решение позволяет поддерживать малое время реакции системы, благодаря тому что работа при запрещенных прерываниях выполняется в течение возможно малого периода времени.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Нижние половины
Нижние половины Задача обработки нижних половин — это выполнить всю связанную с прерываниями работу, которую не выполнил обработчик прерывания. В идеальной ситуации — это почти вся работа, так как необходимо, чтобы обработчик прерывания выполнил по возможности меньшую
Когда лучше использовать данные, связанные с процессорами
Когда лучше использовать данные, связанные с процессорами Использование данных, связанных с процессорами, позволяет получить ряд преимуществ. Во-первых, это ослабление требований по использованию блокировок. В зависимости от семантики доступа к данным, которые связаны
7.3 Когда не нужно посылать сообщение ICMP
7.3 Когда не нужно посылать сообщение ICMP Напомним, что ICMP-сообщение об ошибке посылается, когда в сети не все благополучно. Важно обеспечить, чтобы трафик ICMP не перегружал сети, делая ситуацию еще хуже. Для этого протокола, требуется ввести несколько очевидных ограничений.
Когда использовать невидимый Интернет
Когда использовать невидимый Интернет Итак, мы можем констатировать, что при поиске узкоспециальной информации после просмотра того, что будет предложено поисковиками, следует непременно обратиться к специализированным ресурсам. Особенно когда задача заключается не в
Что такое базовая станция и когда ее лучше использовать
Что такое базовая станция и когда ее лучше использовать В большинстве случаев базовая станция вам не понадобится. С помощью программы Roger Wilco вы запросто сможете создать канал для общения или подключиться к уже работающему каналу, где бы он ни находился: в Интернете или
2.7. Когда нужно создавать несколько сайтов?
2.7. Когда нужно создавать несколько сайтов? Для большинства компаний все коммуникации объединяются на одном сайте, их достаточно разнести по разным разделам, однако бывает так, что компании нужно несколько разных сайтов, иногда даже никак не связанных между собой.
Когда использовать комментарии
Когда использовать комментарии Не скупитесь на комментарии. Приучите себя добавлять хотя бы краткие объяснения по поводу каждой отдельной строки программного кода и описывать подробно функциональное назначение групп операторов, При объявлении переменной добавьте
Когда использовать логические переменные
Когда использовать логические переменные Переменные типа Boolean могут хранить только два значения: True (в числовом представлении это 1) или False (0). Используйте переменные типа Boolean, когда нужно выяснить, какое из двух альтернативных условий имеет место в данный момент.
10.4.3. Когда использовать переменные окружения
10.4.3. Когда использовать переменные окружения Общим для пользовательских и системных переменных окружения является то обстоятельство, что в них содержатся данные, хранение которых в большом количестве конфигурационных файлов было бы утомительным. И крайне утомительным
10.4.3. Когда использовать переменные окружения
10.4.3. Когда использовать переменные окружения Общим для пользовательских и системных переменных окружения является то обстоятельство, что в них содержатся данные, хранение которых в большом количестве конфигурационных файлов было бы утомительным. И крайне утомительным
12.6. Когда нельзя использовать обобщенные алгоритмы
12.6. Когда нельзя использовать обобщенные алгоритмы Ассоциативные контейнеры (отображения и множества) поддерживают определенный порядок элементов для быстрого поиска и извлечения. Поэтому к ним не разрешается применять обобщенные алгоритмы, меняющие порядок, такие,
13.3.1. Когда использовать встроенные функции-члены
13.3.1. Когда использовать встроенные функции-члены Обратите внимание, что определения функций home(), get(), height() и width() приведены прямо в теле класса. Такие функции называются встроенными. (Мы говорили об этом в разделе 7.6.)Функции-члены можно объявить в теле класса встроенными и
Когда использовать типы BLOB
Когда использовать типы BLOB BLOB более предпочтительны, чем символьные типы, для хранения текстовых данных неопределенно большой длины. Поскольку он преобразуется в "бессмысленные фрагменты", к нему не относится ограничение размера строк в 32 Кбайта, пока клиентское
Когда использовать тип массива
Когда использовать тип массива Использование массивов является подходящим, когда:* элементы данных естественно принимают вид множества данных одного типа;* весь набор элементов данных в одном столбце базы данных должен быть представлен и должен управляться как одно
Глава 25. Когда не следует использовать ХР
Глава 25. Когда не следует использовать ХР Точные пределы использования ХР еще не до конца исследованы. Однако есть известный набор факторов, который делает применение ХР невозможным, – слишком большие команды, недоверчивые заказчики, технология, которая не позволяет