У меня есть два вопроса:
1) Процесс ядра. Когда процесс выполняется в режиме ядра, он не получает никаких сигналов.
Вместо этого процесс ставит себя в wait-queue, когда он ожидает получить завершение любого события. Например, завершение I/O event. На этом этапе процесс не делает ничего. После запуска события (ядро устанавливает trap? Правильно, если неверно), и, наконец, процесс просыпается и возобновляется.
Выше приведен пример ожидаемых событий или (синхронный). Но я хочу понять, как процесс, выполняющийся в режиме ядра, узнает о возникновении асинхронных событий?
2)  Процесс пользовательского пространства. Является ли ядро всегда устанавливающим trap для интронизации процесса, выполняющегося в пространстве пользователя, чтобы установить, что сигнал получен? (Как только pending-signals-mask установлен?)
Пожалуйста, ответьте на этот вопрос относительно реализации в Linux (или это вкусно).
