nogroup
аналог группы к nobody
пользователь. Это используется для непривилегированных процессов так, чтобы, даже если что-то идет не так, как надо, процесс не имел полномочий нанести любой серьезный ущерб важному пользователю или группе.
Ядро Linux повторно используемо (как все UNIX), который просто означает, что несколько процессов могут быть выполнены ЦП. Он не должен ожидать, пока чтение доступа к диску не обрабатывается смертельным медленным контроллером жесткого диска, ЦП может обработать некоторый другой материал, пока доступ к диску не закончен (который сам инициирует прерывание раз так).
Обычно прерывание может быть прервано другим прерыванием (вытеснение), это называют 'Вложенным Выполнением'. В зависимости от архитектуры существуют все еще некоторые критические функции, которые должны работать без прерывания (неупреждающего) путем завершенного отключения прерываний. На x86 они проходят некоторое время соответствующие функции (time.c
, hpet.c
) и некоторые xen
материал.
Существует только два приоритетных уровня относительно прерываний: 'включите все прерывания', или 'отключают все прерывания', таким образом, я предполагаю, что Ваше "высокоприоритетное прерывание" является вторым. Это - единственное поведение, ядро Linux знает касающиеся приоритеты прерывания и не имеет никакого отношения к расширениям в реальном времени.
Если прерываемое прерывание (Ваше "низкоприоритетное прерывание") прервано другим прерыванием ("высоко" или "низко"), ядро сохраняет старый код выполнения прерванного прерывания и начинает обрабатывать новое прерывание. Это "вложение" может произойти многократно и таким образом может создать несколько уровней прерванных прерываний. Впоследствии, ядро перезагружает сохраненный код от старого прерывания и попыток закончить старую.
Невыгружаемый означает, что те обработчики не могут быть прерваны другим прерыванием.
Для non-preemtible обработчиков повторная входимость не, выходят, так как Вы не можете прервать их во-первых.
Относительно того, что ядро делает, просто проверьте ответ взмаха, я не могу прокомментировать как, он делает по этой теме.
fast interrupts (those that were requested with the SA_INTERRUPT flag) are executed with all other interrupts disabled on the current processor
– Justin Ethier
09.02.2011, 19:38