Я изучаю общую память IPC. У меня есть некоторые сомнения.Как два не связанных процесса знают один и тот же ключ для выделения той же общей памяти
Q1. Общая память используется для связанных и не связанных процессов. И процесс распределяет общую память с помощью функции shemget
. Первым параметром этой функции является ключ. Как два не связанных процесса знают один и тот же ключ для распределения одной и той же общей памяти.
Q2. Мы используем функцию shmget and shmat
, новую или существующую (в использовании IPC_CREAT | IPC_EXCL) память создаем и сопоставляем пространство памяти процесса. Каковы разделы памяти памяти процесса (например, кучи, bss), которые отображаются. И в функции shmat, если мы передадим shmaddr, который уже используется, как система будет себя вести.
Q3. Что такое использование случае для предоставления фиксированной памяти addredd
в shmat.
Как сохранить semid в файл. И оба процесса могут прочитать этот идентификатор. –
Да, но есть много возможностей для достижения того или иного подхода. @Abhiteshkhatri – alk