Lexique informatique › Programmation › Mémoire partagée

Mémoire partagée

Programmation Svenska → Mis à jour: 2026-09-25

La forme la plus rapide de communication inter-processus : deux processus mappent les mêmes pages de mémoire physique et lisent les données de l'autre sans rien copier.

Les alternatives — tubes, sockets, files de messages — passent par le noyau et copient au moins une fois. La mémoire partagée ne coûte qu'un mapping, après quoi l'accès est aussi rapide que pour des variables ordinaires. Le prix à payer : il faut se synchroniser soi-même. Aucun appel noyau ne vous protège, donc mutex ou sémaphores doivent vivre dans la région partagée, et les data races deviennent votre problème. Sur les systèmes POSIX, on utilise shm_open puis mmap ; sous Linux, aussi /dev/shm comme fichiers ordinaires. Utilisée par les bases de données (PostgreSQL y garde tout son buffer pool), les piles graphiques et les caches partagés. L'ancienne variante System V avec shmget survit, mais sa gestion du cycle de vie est plus maladroite.

← Retour au lexique