Я не могу ответить с правами здесь, но я могу дать связанную информацию, которая может помочь.
Мьютексы могут создаваться в общей памяти и / или создаваться как перекрестные процессы. У Pthread есть специальный флаг создания, я не могу вспомнить, использует ли он разделяемую память, или вы затем делите дескриптор. Linux "futex" может напрямую использовать разделяемую память (обратите внимание, что адрес пользователя может отличаться, но реальный адрес должен быть тем же)
Аппаратная атомика работает с памятью, а не с переменными процесса. То есть вашей микросхеме все равно, какие программы изменяют переменные, поэтому атомы самого низкого уровня, естественно, будут кросс-процессными. То же относится и к заборам.
C ++ 11 не может определить атомарность между процессами. Однако, если они свободны от блокировки (установите флажок), трудно понять, как компилятор мог бы реализовать их так, чтобы кросс-процесс не работал. Но вы сильно поверите в свою цепочку инструментов и конечную платформу.
Зависимость процессора гарантирует также отслеживание адресов реальной памяти, поэтому до тех пор, пока ваша программа будет правильной в многопоточном формате, она также должна быть правильной в многопроцессной форме (с точки зрения видимости).
Kerrek верен, абстрактная машина на самом деле не упоминает несколько процессов. Тем не менее, его детали синхронизации написаны таким образом, что они в равной степени применимы к межпроцессным, как и к многопоточности. Это относится к # 3: компилятору было бы трудно облажаться.
Краткий ответ, не существует стандартов, способных это сделать. Однако, опираясь на то, как стандарт определяет многопоточность, вы можете сделать много предположений для качественного компилятора.
Самый большой вопрос - можно ли просто выделить атомик в общей памяти (размещение нового) и работать. Очевидно, это будет работать только в том случае, если это настоящий аппаратный атом. Однако я предполагаю, что с качественным компилятором / библиотекой атомарность C ++ должна работать в общей памяти.
Весело проверяйте поведение. :)