я изучил, что для того, чтобы процессы могли общаться друг с другом, им нужно сохранять свои критическая область в разделяемой памяти, чтобы другой процесс, которому необходим доступ, мог использовать его, используя разные переменные для взаимного исключения, такие как семафор и блокировка.
но где находится эта общая память, это та же общая память / dev / shm что мы видим, когда делаем df -h. Иногда / dev / shm использует некоторое пространство, иногда нет. Почему это так.
Вы можете создать общую память несколькими способами. Вы можете отобразить в памяти один и тот же файл, который используется в обоих процессах. Или вы можете использовать разделяемую память sysv с shm_open
.