Точно так же, как сказал jspcl.Именованные семафоры используются для синхронизации между процессами.Между двумя процессами один и тот же адрес не может быть общим (так как в некоторых встроенных ОС есть некоторые исключения, такие как целостность, qnx и т. Д.). Потому что у каждого процесса есть разные адресные пространства, где адресные страницы различны.
Так называемые семафоры используются для доступа к общей памяти между процессами.
Например, для именованных семафоров в Linux используется вызов posx shmget ().В этом вызове у вас есть имя семафора, которое имеет char * вместе с правами чтения и записи памяти для процесса.Он вернет файловый дескриптор для этого семафора, связанного с разделяемой памятью. После этого вам нужно вызвать mmap, чтобы получить адрес разделяемой памяти.С помощью которого вы можете читать и записывать в общую память.
Примером из реальной жизни является аэронавтика, в которой используется несколько процессоров.Один процесс взаимодействует с другими электронными компонентами и отправляет информацию другому процессору.Следовательно в другом процессоре должен быть процесс, который может читать данные из последовательного порта и затем отправлять другому процессу.Так что здесь для многопроцессорной связи используется имя семафора