|
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 34
|
||||||
Работа с разделяемой памятью30.11.2012, 21:01. Показов 43761. Ответов 13
задание Написать две программы, осуществляющие взаимодействие через разделяемую память. Первая программа должна создавать сегмент разделяемой памяти и копировать туда свой собственный исходный текст, вторая программа должна брать оттуда этот текст, печатать его на экране и удалять сегмент разделяемой памяти из системы.
вот прога для записи
0
|
||||||
| 30.11.2012, 21:01 | |
|
Ответы с готовыми решениями:
13
Работа с разделяемой памятью Работа с разделяемой памятью Работа двух процессов с разделяемой памятью |
|
1259 / 650 / 44
Регистрация: 06.02.2011
Сообщений: 1,654
|
||
| 01.12.2012, 09:51 | ||
|
0
|
||
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
|
|
| 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
|
|
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
|
|
| 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
|
|||||||||||
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
|
|
| 08.06.2014, 15:31 | |
|
Почему key разные? Два процесса должны синхронизироваться "одинаковыми" объектами синхронизации.
0
|
|
|
0 / 0 / 0
Регистрация: 07.06.2014
Сообщений: 8
|
|||||||||||
| 09.06.2014, 08:32 | |||||||||||
|
Исправила ключи и избавилась от выдаваемой ошибки:
Процесс 1
0
|
|||||||||||
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
|
|||||||||||
| 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
|
|
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,020
|
|
| 12.06.2014, 13:44 | |
|
сначала 1, потом 2
1
|
|
| 12.06.2014, 13:44 | |
|
Помогаю со студенческими работами здесь
14
Два процесса с разделяемой памятью Написать скрипты для работы с разделяемой памятью и семаформаи Организовать общение между двумя компьютерами с помощью нитей или разделяемой памятью Работа с памятью на низком уровне Метод прогонки с разделяемой памятью на CUDA Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|