Я создаю демона в Unix, который будет иметь эксклюзивный доступ к последовательному порту "/dev/tty01". Я планирую создать парадигму процесса Master-Slave, в которой есть один master (демон) и несколько slave. Я думал о структуре в «Общей памяти», к которой ведомые могут получить доступ, и есть только один писатель в памяти, поэтому мне, скорее всего, не понадобится семафор. Данные будут обновляться довольно медленно, например, раз в минуту. Я искал, как лучше всего это сделать, а также, если у меня есть структура в общей памяти, как я могу гарантировать, что структура будет непрерывной в памяти? Это требование, которое я должен иметь.
Основная программа будет иметь свою собственную внутреннюю структуру данных, которая обновляется через последовательный порт, а затем она будет изменять данные и отправлять их в глобальную структуру, которая находится в общей памяти для использования клиентами.
У меня нет большого опыта в Unix IPC, но как проще всего это сделать? Кстати, все клиенты будут разными процессами, запущенными другими пользователями локально в системе.
Он должен использовать разделяемую память, это требование проекта. Кроме того, можно ли скопировать одну структуру в другую, если вторая структура имеет разные типы данных?