Прохождение очереди сообщений POSIX пространство ядра?

Я хочу использовать очереди сообщений POSIX в однопроцессном многопоточном приложении. mqueues будут использоваться для обмена данными между потоками.

Я немного не понимаю, как они работают в ядре Linux. Все ли сообщения проходят через пространство ядра, а затем возвращаются в пространство пользователя при получении? Также из потока пользовательского пространства я выполняю mq_send, и сообщение попадает в пространство ядра, а затем при получении это еще один системный вызов для получения сообщения из пространства ядра. Если да, то разве это не очень неэффективно для часто используемых очередей сообщений?

6
задан RishiD 30 March 2011 в 14:11
поделиться