2013-02-27 14 views
6

Podczas korzystania z kolejek komunikatów POSIX Zauważyłem, że w systemie plików zostały utworzone pliki o nazwie, w której tworzyłem kolejki. Moje pytania:Gdzie jest przechowywana zawartość kolejki wiadomości?

Q1. Czy kolejki komunikatów ustawiają się w kolejce w wiadomościach na dysku twardym, a nie w pamięci RAM?

Q2. Jeśli tak, czy nie powinno to być bardzo powolne we wdrażaniu, ponieważ obejmuje HardDisk?


Edit:

czytałem to w książce The Linux Programming Interface:

na Linuksie, kolejki komunikatów POSIX są implementowane jako i-węzłów w wirtualnym systemie plików i opisów kolejek wiadomość i opisy otwartych kolejki wiadomości są implementowane odpowiednio jako deskryptory plików i otwarte pliki . Jednak są to szczegóły implementacji , które nie są wymagane przez SUSv3 i nie są prawdziwe w niektórych innych implementacjach UNIX .

Nawet jeśli jest to VFS, nadal jest przechowywany na dysku twardym, prawda?

Czy biorąc pod uwagę te informacje, czy ktoś może teraz skomentować drugie pytanie? (I/lub Pierwszy również jeśli jest coś więcej do dodania)

+0

Myślę, że po prostu jest przechowywany w pamięci RAM i nie jest przechowywany na dysku twardym. Jest to coś podobnego do dysku RAM, tak że możesz mieć do niego dostęp "jak" system plików, ale nie istnieje on na dysku twardym. – Johnlcf

Odpowiedz

4

link poniżej może dać pewną jasność na pierwsze pytanie http://man7.org/linux/man-pages/man7/mq_overview.7.html

Odnośnie drugiego pytania, oczywiście kolejka plik oparty będzie wolniejsze niż w oparciu pamięci jeden. Ale może to nie być tak powolne, jak niektóre przypadkowe operacje dostępu do plików, ponieważ jest zoptymalizowane i zaimplementowane specjalnie do kolejkowania.

+0

To zasługuje na przyznanie odpowiedzi – Mawg

Powiązane problemy