PDA

Просмотреть полную версию : Вопрос по разделяемой памяти


oiv_1968
06.02.2017, 17:17
Доброго времени суток!
Столкнулся с рядом примеров применения разделяемой памяти. В одном из них нет упоминания (и реализации - применения) чего либо в /dev/shm. Где-то не знаю где в озу применяется и семафор и собственно данные для двух разных процессов. В другом как и у контроллера в /dev/shm формитуются и используются файллы данных и семафора. Сгласно приведённым примерам от вас (segnetics) это как раз второй пример.
Собственно вопрос состоит в том, как в лоджике указываются имена файлов данных и семафора. Найти к сожалению не смог. Описание структур данных (типы и т.п. довольно понятно приведены в примерах с вашего сервера) Как поступить для решения этой проблемы
И ещё... данные в /dev/shm находятся не в флеш памяти? А в RAM?... у меня параноидальные сомнения возникают по поводу срока службы FALASH(ROM).
С Глубоким уважением!
Заранее спасибо!

Arsie
06.02.2017, 18:07
Собственно вопрос состоит в том, как в лоджике указываются имена файлов данных и семафора. Найти к сожалению не смог. Описание структур данных (типы и т.п. довольно понятно приведены в примерах с вашего сервера) Как поступить для решения этой проблемы


Вам нужно проанализировать работу "заводской" библиотеки работы с разделяемой памятью.




И ещё... данные в /dev/shm находятся не в флеш памяти? А в RAM?... у меня параноидальные сомнения возникают по поводу срока службы FALASH(ROM).


Естественно RAM.

oiv_1968
06.02.2017, 22:47
Вам нужно проанализировать работу "заводской" библиотеки работы с разделяемой памятью.





Естественно RAM.

Вам нужно проанализировать работу "заводской" библиотеки работы с разделяемой памятью.
Простите, вы хотите сказать, что имя файла для этого:

//это из main.cpp - во всех примерах
Shm mymem("./load_files.srv");//Инициализация переменных разделяемой памяти
//и это из shm.cpp
shm = new rlSharedMemory("/dev/shm/wsi", size);

Этот участок совпадает во всех файлах (main.cpp) примеров. Это и есть заводские библиотеки (по ссылке http://dl.segnetics.com/PRODUCTS/SMH2Gi/C/Examples/)
Как я понимаю лоджик будет производить работу именно с этим файлом /dev/shm/load_files.srv или всётаки с /dev/shm/wsi
Вопросы конечно задаю... поставили устройство уже в работу(создав проект в лоджике)... не дали пощупать (я очень долго был на больничном). Возможно будь иначе не надоедал бы Вам.
Про RAM спросил... будучи не уверенным, хотя по логике вещей в /dev есть и блочные устройства в том числе и FLASH, а с разделяемой памятью до этого дел не имел. Но механизм мне очень понравился.
Таковы были вопросы с самого начала... Но теперь простите меня за невнимательность. В директории DOC есть PDF файлы с подробным описанием применения примеров. Вообще если можете простите за невнимательность.