Описание тега shared-memory

Память, к которой могут одновременно обращаться несколько программ

Общая память - это память, к которой могут одновременно обращаться несколько программ с целью обеспечить связь между ними или избежать дублирования копий. В зависимости от контекста программы могут работать на одном процессоре или на нескольких отдельных процессорах.

Общая память - это дополнительная часть памяти, которая прикрепляется к некоторым адресным пространствам для их владельцев. В результате все эти процессы используют один и тот же сегмент памяти и имеют к нему доступ. Следовательно, могут возникнуть состояния гонки, если доступ к памяти не обрабатывается должным образом. На следующем рисунке показаны два процесса и их адресные пространства. Желтый прямоугольник - это общая память, подключенная к обоим адресным пространствам, и процесс 1 и процесс 2 могут иметь доступ к этой общей памяти, как если бы общая память является частью своего собственного адресного пространства. В некотором смысле исходные адресные пространства "расширяются" путем присоединения этой разделяемой памяти.