Здравствуй ALL!
В QNX 4.25 при создании именованой Shared Memory в одном процессе, и открытии в другом процессе возращают указатели на один и тот же адрес памяти. Этой памятью можно пользоваться для межпроцессного обмена данными и созданием семафоров(!).
В Линухе я заметил, что процессы возвращают указатели на разные участки памяти(!), но обмен данными между процессами идёт. А вот с семафорами атас - не работают.
Насколько я понимаю процессы в Линуховом ядре работают с физически РАЗНЫМИ shared memory, но ядро скрыто от них занимается копированием данных из одной памяти в другую.
Я прав или ошибаюсь?
Если прав, то от чего это зависит? (старая версия ядра и т.д.)
Можно ли процессы заставить пользоваться физически одной и той же shared nmemory ?
Можно ли заставить процессы нормально работать с семафорами через shared memory?
Работают ли именованая память и семафоры в ядре 2.6 как положено?
Вопросы возникают в связи с портированием кода из QNX 4.25 в Линух.