2013-02-27 9 views
6

私が気付いたPOSIXメッセージキューを使用している間に、キューを作成していた名前のFileシステム上にいくつかのファイルが作成されていました。私の質問:メッセージキューの内容はどこに保存されていますか?

Q1。メッセージキューは、RAMではなくハードディスク上のメッセージをキューに入れますか?

Q2。もしそうなら、これはHardDiskに関連するので、実装が非常に遅いのではないでしょうか?


編集:

私は本The Linux Programming Interfaceでこれを読んで:

Linuxでは、POSIXメッセージキューは仮想 ファイルシステム内のiノード、およびメッセージキュー記述子として実装されていますオープンメッセージキュー の記述はファイル記述子として実装され、それぞれファイル の記述をオープンします。ただし、これらは実装の詳細 であり、SUSv3では必須ではなく、他の一部のUNIX の実装では当てはまりません。

VFSであっても、まだハードディスクに保存されていますか?

この情報を念頭に置いて、誰かが今すぐ2番目の質問にコメントできますか? (および/または第1も追加するより多くのものがある場合)

リンク以下
+0

私はそれがちょうどRAMに保存され、ハードディスクには保存されていないと思います。 これはRAMディスクに似ていて、ファイルシステムのように "アクセス可能"なのですが、ハードディスクには存在しません。 – Johnlcf

答えて

4

は、2番目の質問については、最初の質問 http://man7.org/linux/man-pages/man7/mq_overview.7.html

にいくつかの明確さを与える可能性があり、もちろん、ファイルベースのキューは、メモリベースよりも遅くなります1。しかし、これは最適化され、キューイングに特化して実装されているため、一部のランダムファイルアクセス操作ほど遅くない可能性があります。

+0

これは答えを得るに値する – Mawg

関連する問題