|
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 34
|
||||||
Работа с разделяемой памятью30.11.2012, 21:01. Показов 43854. Ответов 13
задание Написать две программы, осуществляющие взаимодействие через разделяемую память. Первая программа должна создавать сегмент разделяемой памяти и копировать туда свой собственный исходный текст, вторая программа должна брать оттуда этот текст, печатать его на экране и удалять сегмент разделяемой памяти из системы.
вот прога для записи
0
|
||||||
| 30.11.2012, 21:01 | |
|
Ответы с готовыми решениями:
13
Работа с разделяемой памятью Работа с разделяемой памятью Работа двух процессов с разделяемой памятью |
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||
| 01.12.2012, 09:51 | ||
|
0
|
||
|
1264 / 978 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
|
|
| 01.12.2012, 17:26 | |
|
А зачем по-очереди запускаете?
Общая память на то и общая, что ее используют запущенные приложения для взаимодействия. Полагаю, что система ПОДЧИСТИЛА всю использованную память, в том числе и shared-сегменты, когда приложение write отработало. Поэтому запуская read, вы ничего не получаете. Не знаю, запустите их в потоке что ли, или одну из другой вызовите, но чтобы write и read были оба в запущенном состоянии, тогда по ключу должны получить один и тот же сегмент памяти.
0
|
|
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
|
| 01.12.2012, 18:45 | |
|
1
|
|
|
1264 / 978 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
|
|
| 05.12.2012, 16:50 | |
|
Спасибо! Действительно, жестко протупил.
0
|
|
| 06.12.2012, 10:53 | |
|
Не по теме: Кстати, может в одном из соседних топиков о SHM, хотели услышать о persistence (как это св-во правильно обозвать по русски?) как главном достоинстве???
0
|
|
|
8 / 8 / 2
Регистрация: 16.03.2011
Сообщений: 257
|
||||||
| 30.09.2013, 20:18 | ||||||
|
Знаю что тема давно закрыта, но так получилось что я сегодня сдавал эту же лабу и мне задали вопрос по этой строчке кода:
Выручите плиз, завтра отчитываться(
0
|
||||||
|
40 / 37 / 15
Регистрация: 25.10.2012
Сообщений: 112
|
|||
| 01.10.2013, 21:23 | |||
|
1
|
|||
|
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 8
|
|||||||||||
| 07.06.2014, 21:00 | |||||||||||
|
Здравствуйте, подниму тему, так как срочно нужна помощь по аналогичной проблеме.
Первый процесс создает область разделяемой памяти и специализированный объект «семафор», после чего начинает принимать строки со стандартного ввода и записывать их в разделяемую память. Второй процесс должен корректно определить область данных разделяемой памяти и считать оттуда строки, записанные первым процессом. Есть код: Первый процесс:
в строке : shmaddr=shmat(shmid,NULL,0); Не могу понять, что не так. Помогите, пожалуйста, разобраться.
0
|
|||||||||||
|
1264 / 978 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
|
|
| 08.06.2014, 15:31 | |
|
Почему key разные? Два процесса должны синхронизироваться "одинаковыми" объектами синхронизации.
0
|
|
|
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 8
|
|||||||||||
| 09.06.2014, 08:32 | |||||||||||
|
Исправила ключи и избавилась от выдаваемой ошибки:
Процесс 1
0
|
|||||||||||
|
1264 / 978 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
|
|||||||||||
| 12.06.2014, 05:28 | |||||||||||
|
Во-первых, добавьте в оба файла #include <sys/shm.h>
Не знаю, что она у вас компилирует, но явно не хватает. Во-вторых, что-то вы переборщили с операциями над семафорами. Процесс 2 по сути зависим от процесса 1 и должен ждать от него некоего сигнала, что пора читать из буфера новые данные. Таким сигналом может быть процстое "дерганье" семафора в положительное значение. Не обязательно каждый раз синхронизировать процесс 1, так как он и так зависает в ожидании данных от пользователя. Процесс 1
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 8
|
|
| 12.06.2014, 08:43 | |
|
Спасибо. Но главный вопрос теперь, как запустить оба процесса. Или их надо запускать поочереди?
0
|
|
|
1264 / 978 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
|
|
| 12.06.2014, 13:44 | |
|
сначала 1, потом 2
1
|
|
| 12.06.2014, 13:44 | |
|
Помогаю со студенческими работами здесь
14
Два процесса с разделяемой памятью Написать скрипты для работы с разделяемой памятью и семаформаи Организовать общение между двумя компьютерами с помощью нитей или разделяемой памятью Работа с памятью на низком уровне Метод прогонки с разделяемой памятью на CUDA Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|