Где хранится содержимое очереди сообщений?

При использовании очередей сообщений POSIX я заметил, что в файловой системе создавалось несколько файлов с именем, которым я создавал очереди. Мои вопросы:

Q1. Очереди сообщений ставят в очередь сообщения на жестком диске, а не в ОЗУ?

Q2. Если так, разве это не должно быть очень медленным в реализации, поскольку это включает HardDisk?


Редактировать:

Я читал это в книге "Интерфейс программирования Linux":

В Linux очереди сообщений POSIX реализованы как i-узлы в виртуальной файловой системе, а дескрипторы очередей сообщений и описания открытых очередей сообщений реализованы как дескрипторы файлов и описания открытых файлов соответственно. Тем не менее, это детали реализации, которые не требуются SUSv3 и не применяются в некоторых других реализациях UNIX.

Даже если это VFS, он все еще хранится на жестком диске, верно?

Имея в виду эту информацию, может ли кто-нибудь прокомментировать второй вопрос сейчас? (и / или Первый также, если есть что добавить)

1 ответ

Ниже ссылка может дать некоторую ясность по первому вопросу http://man7.org/linux/man-pages/man7/mq_overview.7.html

Что касается второго вопроса, конечно, очередь на основе файлов будет медленнее, чем на основе памяти. Но это может быть не так медленно, как некоторые операции с произвольным доступом к файлам, поскольку оно оптимизировано и реализовано специально для очередей.

Другие вопросы по тегам