shm_overview(7) | Miscellaneous Information Manual | shm_overview(7) |
NUME
shm_overview - prezentare generală a memoriei partajate POSIX
DESCRIERE
API-ul de memorie partajată POSIX permite proceselor să comunice informații prin partajarea unei regiuni de memorie.
Interfețele utilizate în API sunt:
- shm_open(3)
- Creează și deschide un obiect nou sau deschide un obiect existent. Acest lucru este analog cu open(2). Apelul returnează un descriptor de fișier care poate fi utilizat de celelalte interfețe enumerate mai jos.
- ftruncate(2)
- Stabilește dimensiunea obiectului de memorie partajată (un obiect de memorie partajată nou creat are lungimea zero).
- mmap(2)
- Harta obiectului de memorie partajată în spațiul virtual de adrese al procesului apelant.
- munmap(2)
- Eliberează harta obiectului de memorie partajată din spațiul virtual de adrese al procesului apelant.
- shm_unlink(3)
- Elimină un nume de obiect de memorie partajată.
- close(2)
- Închide descriptorul de fișier alocat de shm_open(3) atunci când nu mai este necesar.
- fstat(2)
- Obține o structură stat care descrie obiectul de memorie partajată. Printre informațiile returnate de acest apel se numără dimensiunea obiectului (st_size), permisiunile (st_mode), proprietarul (st_uid) și grupul (st_gid).
- fchown(2)
- Pentru a modifica proprietatea unui obiect de memorie partajată.
- fchmod(2)
- Pentru a modifica permisiunile unui obiect de memorie partajată.
Versiuni
Memoria partajată POSIX este acceptată începând cu Linux 2.4 și glibc 2.2.
Persistența
Obiectele de memorie partajată POSIX au persistență în nucleu: un obiect de memorie partajată va exista până când sistemul este oprit sau până când toate procesele au eliberat obiectul și acesta a fost șters cu shm_unlink(3).
Vincularea
Programele care utilizează API-ul de memorie partajată POSIX trebuie să fie compilate cu cc -lrt pentru a se lega la biblioteca în timp real, librt.
Accesarea obiectelor de memorie partajată prin intermediul sistemului de fișiere
În Linux, obiectele de memorie partajată sunt create într-un sistem de fișiere virtual (tmpfs(5)), montat în mod normal sub /dev/shm. Începând cu Linux 2.6.19, Linux acceptă utilizarea listelor de control al accesului (ACL) pentru a controla permisiunile obiectelor din sistemul de fișiere virtual.
NOTE
În mod obișnuit, procesele trebuie să își sincronizeze accesul la un obiect de memorie partajată, utilizând, de exemplu, semafoare POSIX.
Memoria partajată System V (shmget(2), shmop(2) etc.) este o API de memorie partajată mai veche. Memoria partajată POSIX oferă o interfață mai simplă și mai bine concepută; pe de altă parte, memoria partajată POSIX este oarecum mai puțin disponibilă (în special pe sistemele mai vechi) decât memoria partajată System V.
CONSULTAȚI ȘI
fchmod(2), fchown(2), fstat(2), ftruncate(2), memfd_create(2), mmap(2), mprotect(2), munmap(2), shmget(2), shmop(2), shm_open(3), shm_unlink(3), sem_overview(7)
TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
2 mai 2024 | Pagini de manual de Linux 6.9.1 |