Процесс Linux – сообщения из ядра

Я узнал о различных механизмах IPC, присутствующих в Linux, для связи между процессами пользовательского пространства.

Я хочу спросить, какие различные способы в Linux для ядра взаимодействовать с процессом пользовательского пространства (вид напротив системного вызова, где пользовательское пространство инициирует запрос)? Может ли сигнал быть одним из них? Что другие?

  • Являются ли FIFO, pipe & Unix доменными сокетами одинаковыми в ядре Linux?
  • Ядро Linux, отсутствует символ «__fentry__»
  • Обновление ядра Linux, оставляя остальную систему как
  • Невозможно скомпилировать ядро ​​Linux для платы ARM
  • Как тестировать новые версии ядра?
  • Проблемы с отрицательным каналом мониторинга запугивают!
  • Какова связь между «доменами» драйверов устройств Linux?
  • sysfs альтернатива / proc / acpi / button / lid / LID / state
  • One Solution collect form web for “Процесс Linux – сообщения из ядра”

    В некоторых случаях сигнал является классической связью между процессорами. Конечно, любой процесс с соответствующим UID может использовать kill() для отправки сигнала, но сигналы, подобные SIGCHLD или SIGWINCH почти всегда поступают из ядра.

    Специфично для Linux, вы можете посмотреть системный вызов signalfd() . Обычная обработка сигналов осуществляется с помощью «upcall», но signalfd() дает процессу другой способ приема сигналов.

    Возвращаемое значение системных вызовов можно рассматривать как связь процесса взаимодействия между ядром. Это очень много, но fork() – пример. Родительский процесс возвращает ненулевой идентификатор процесса (или -1 при ошибке), а дочерний процесс возвращается к нулю.

    Системные вызовы poll() и select() имеют аргументы, в которых ядро ​​устанавливает значения в аргументах, чтобы указать, какие файловые дескрипторы имеют доступные для них события / состояния. Это больше похоже на формальный аргумент «inout», но ядро ​​устанавливает значения.

    API-интерфейс inotify позволяет взаимодействовать между ядрами через read() в специальном дескрипторе файла.

    Асинхронная система ввода-вывода POSIX, похоже, имеет несколько способов взаимодействия с пользовательским процессом, включая запуск потока при возникновении ввода-вывода, если я правильно прочитал справочную страницу. Я никогда не делал POSIX async I / O, и это выглядит сложно.

    Interesting Posts

    Распаковка некоторых архивов работает на Windows, но не на Linux

    Насколько хорошо работает grep / sed / awk на очень больших файлах?

    Как разблокировать файловую систему только для чтения на дистрибутиве Linux OpenWRT?

    перенаправить ошибку на стандартный вывод

    Не удалось установить систему Apricity на стороне Windows 10

    theharvester.py "Нет такого файла или каталога"

    Отключить права на просмотр / листинг для пользователей

    Есть остановленные задания (при выходе из bash)

    переименовать файлы mov / mts с данными exif

    Cron job – Если компьютер неактивен в течение x минут, отключите Wi-Fi

    Где мне скопировать темы курсора мыши в xfce 4.8

    Как создать полный диск VPS для полного резервного копирования VPS

    Как включить пакеты админ-пакетов vim?

    Как я могу использовать команду find для отображения всех типов файлов в каталоге и во всех подкаталогах?

    Fedora 18 – Запустите sshd при загрузке

    Linux и Unix - лучшая ОС в мире.