Описание тега shared-memory

Память, к которой могут одновременно обращаться несколько программ
1 ответ

Когда использовать Pipes и когда использовать Shared Memory

Я читаю о различных механизмах IPC. Я пытаюсь выяснить сценарии, где мы используем общую память и где мы используем именованные каналы (FIFO). Трубы: множественный процесс может писать, однако только один процесс может читать. Операция записи являет…
14 мар '12 в 12:14
0 ответов

Проблема с отображением в mmap и нескольких процессах

В первый раз, используя mmap, у меня есть программа, которая создает файл и делится им, чтобы другая программа могла получить к нему доступ. Вот как я его инициализировал в моем основном: //Main.c file = open(FILE_PATH, O_RDWR | O_CREAT | O_TRUNC, (…
19 фев '14 в 18:59
2 ответа

Указатели в общей памяти

Я использую общую память (shm_open/mmap) для отслеживания некоторого состояния. В моей общей памяти у меня есть структура: typedef struct fim_t { uint64_t num_procs; uint64_t num_numa; int64_t *numa_nodes[MAX_FIM_NUMA]; int64_t procs[MAX_FIM_PROC]; …
01 янв '16 в 00:35
1 ответ

В R, есть ли способ разделить переменную между процессами различий R на одной машине?

Моя проблема в том, что у меня большая модель, которая медленно загружается в память. Чтобы протестировать его на многих примерах, мне нужно запустить некоторую программу на C для генерации входных функций для модели, а затем запустить скрипт R для …
03 мар '13 в 17:51
0 ответов

Общая память: сбой shm_open

Я пытаюсь создать общее пространство памяти на Linux в C, но shm_open продолжает сбой и возвращает -1. Может ли это быть потому, что я не являюсь пользователем root на этом компьютере? Вот что я пытаюсь: char *name = "name"; int shm_fd = shm_open(na…
26 окт '17 в 22:36
7 ответов

Как использовать разделяемую память с Linux в C

У меня есть небольшая проблема с одним из моих проектов. Я пытался найти хорошо документированный пример использования общей памяти с fork() но безуспешно. В основном сценарий таков: когда пользователь запускает программу, мне нужно сохранить два зн…
13 апр '11 в 22:41
2 ответа

Невозможно запустить программу с общей памятью

Я написал следующие программы в качестве примера с общей памятью. Я хочу написать некоторое сообщение из общей памяти, созданной в файле write.c, и хочу отобразить его в процессе read.c из той же памяти. Но когда я пытаюсь запустить программы, я пол…
07 июл '14 в 08:48
1 ответ

Проблемы с размером общего объекта сопоставления файлов в коде C++

Я пытаюсь записать в (общий) именованный объект сопоставления файлов следующим образом: //ENTER CRITICAL SECTION FIRST int ncbSzMapping = 0x92B8; //Size of a shared struct hFileMapping = CreateFileMapping((HANDLE)INVALID_HANDLE_VALUE, NULL, PAGE_REA…
21 янв '13 в 18:05
2 ответа

Компиляция неправильного файла?

У меня 3 файла - SwimMill.c, Fish.c, а также Pellets.c - каждый из которых компилируется в исполняемый файл. когда SwimMill работает, он использует fork() а также exec() бежать Fish а также Pellets, Однако, по какой-то причине, когда я использую тер…
30 окт '18 в 20:21
0 ответов

Python: разделить большой словарь объектов между несколькими процессами

Я читал о том, как совместно использовать большой объект в родительском процессе, для которого нужны дочерние процессы read-only доступ. Возможно, мне не хватает некоторых важных постов. Кажется, я не нахожу четкого ответа для операций, которые зави…
22 ноя '15 в 20:11
1 ответ

Ошибка записи в сегментированную память

Все, что я хочу сделать, это просто написать "эй" в моей общей памяти, но это бросается в эту строку. очень простой код следующим образом: #include <stdlib.h> #include <stdio.h> #include <string.h> #include <sys/fcntl.h> #inc…
11 май '16 в 10:12
1 ответ

Linux-C Читайте данные из общей памяти, она повреждена

Я пишу и читаю из общей памяти строку. Вот мой код: Это писатель (я опустил несвязанный код) int main() { char message[MAX_BUF]; key_t key; int sharedMemoryId; int semaphoreId; char *vc1; char *data; pid_t p3; struct sembuf operations[1]; printf("st…
04 янв '17 в 23:27
1 ответ

Android: обмен данными между собственным кодом (C) и приложением (Java)

У меня есть нативное приложение, работающее на Android 5.0, фактически звуковой эффект, который запускается в сценарии использования видеокамеры (например). У меня есть приложение, которое нуждается в извлечении некоторых данных из него, 3 целых чис…
19 фев '15 в 16:12
1 ответ

Можно ли хранить объекты Python (в частности, модели sklearn) в файлах, отображаемых в памяти?

У меня есть несколько больших объектов (моделей sklearn), которые занимают много памяти, и я хочу разделить их между несколькими процессами. Есть ли способ сделать это? Это должен быть "живой" объект, а не сериализованная версия Я знаю, что существу…
1 ответ

Ошибка шины при записи в общую память

Я пытаюсь использовать общую память POSIX в системе Linux. Но когда я пытаюсь скопировать данные на него, я получаю ошибку шины. Вот код: #include <fcntl.h> #include <sys/stat.h> #include <pthread.h> #include <sys/mman.h> #in…
20 авг '15 в 10:52
2 ответа

В чем разница между разделяемой памятью для IPC и разделяемой памятью потоков?

Давайте использовать разделяемую память POSIX, например, shmget() - общий вызов для координации межпроцессного взаимодействия. Как вызов shmget () и координация взаимодействия в сегменте разделяемой памяти отличаются от того, как Linux реализует раз…
12 ноя '12 в 14:00
1 ответ

Внезапное изменение ключа сегмента общей памяти

У меня есть приложение C++ на Linux. Приложение использует общую память, созданную без IPC_PRIVATE. Я вижу идентификатор сегмента общей памяти и ключ с помощью команды ipcs. Другие процессы также могут получить доступ к этим сегментам. К сожалению, …
11 апр '16 в 09:28
1 ответ

C++ Boost ICL контейнеры в разделяемой памяти

Я работаю с boost::icl::interval_map, который работает отлично, но я хочу, чтобы этот контейнер был сохранен в общей памяти. Обеспечивает ли boost поддержку хранения контейнеров boost:: icl в разделяемой памяти? using namespace std; using namespace …
08 июл '15 в 06:08
4 ответа

Динамическая общая память linux в разных программах

Я создаю общую память в программе A со следующими кодами: shm = shm_open("/mfs_hash_pool_container", O_CREAT|O_RDWR, 0666); size = sizeof(struct mfs_hash_pool_container); ftruncate(shm, size); mfs_hash_pool_stat_p = (struct mfs_hash_pool_container *…
23 фев '12 в 07:55
1 ответ

Неполадки при чтении из файла с отображенной памятью

Я пытаюсь реализовать файл сопоставления памяти в моем приложении (в частности, в службе Windows), а затем использовать форму C# для чтения из MMF, в которую служба записывает. К сожалению, я не могу получить форму для чтения чего-либо из MMF, более…
18 июл '12 в 18:03