Как процесс, выполняющийся в пространстве ядра, узнает о возникновении неожиданных (асинхронных) событий? - PullRequest
0 голосов
/ 11 октября 2011

У меня есть два вопроса:

1) Процесс в пространстве ядра : Когда процесс выполняется в режиме ядра, он не получает никаких сигналов.

Вместо этогопроцесс помещает себя в wait-queue, когда ожидает получения завершения любого события.Например, завершение I/O event.Процесс ничего не делает на этом этапе.После запуска события ( ядро ​​устанавливает trap? Исправить, если неправильно ) и, наконец, процесс активизируется и возобновляет выполнение.

Выше приведен случай ожидаемых событий или(синхронно).Но я хочу понять, как процесс, выполняющийся в режиме ядра, узнает о возникновении асинхронных событий?

2) Процесс в пространстве пользователя : всегда ли ядро ​​устанавливает trapограничить процесс, выполняющийся в пространстве пользователя, чтобы определить, что сигнал получен?(После установки pending-signals-mask?)

Пожалуйста, ответьте на этот вопрос относительно реализации в Linux (или его разновидностях).

...