Публикации по теме 'memory-mapping'


Подводные камни, которых следует избегать при использовании np.memmap
нулевая версия: 1.22.4 Введение При работе с очень большими массивами numpy могут возникнуть проблемы с ограничениями памяти. Чтобы справиться с этим, numpy предоставляет удобную функцию np.memmap(); memmap = memory mapped . Вместо того, чтобы читать все данные за один раз, он лениво считывает данные, поэтому потребляет мало оперативной памяти. Цитирование википедии Файл с отображением памяти — это сегмент виртуальной памяти [1] , которому назначена прямая..

Вопросы по теме 'memory-mapping'

Управление шириной доступа для чтения и записи в отображенные в память регистры в C
Я использую ядро ​​на базе x86 для управления 32-битным регистром отображения памяти. Мое оборудование работает правильно только в том случае, если ЦП генерирует 32-битные операции чтения и записи в этот регистр. Регистр выровнен по 32-битному...
1508 просмотров

Что означают разрешения ---p в /proc/self/maps?
Я понимаю значение битов rwxps. r-xp для .text. rw-p для .data/.bss/heap/stack. Какая польза от ---p страниц? Например, посмотрите этот вывод cat /proc/self/maps 00400000-0040b000 r-xp 00000000 08:03 827490...
5201 просмотров

Дальнейший вопрос с интерфейсом с отображением памяти
У меня все еще есть некоторые проблемы с моим кодом C, который имеет дело с устройством с отображением памяти. На данный момент я объявляю адресное пространство для регистров, которые я записываю, как изменчивый указатель, и я записываю в них данные,...
522 просмотров
schedule 28.02.2023

Почему сегменты данных и стека исполняемые?
Я только что заметил, что моя простая программа имеет исполняемые сегменты данных и стека. Я видел это в /proc/[pid]/maps, и простой код подтвердил это. Например: ; prog.asm section .data code: db 0xCC ;int3 section .text global...
2384 просмотров
schedule 26.09.2022

Проблемы с использованием общей памяти с CreateFileMapping и MapViewofFile
У меня есть 2 вопроса по поводу использования общей памяти. Я использую CreateFileMapping для создания общей области памяти между двумя процессами. 1) Я понимаю, что мне нужно вызывать CloseHandle для каждого дескриптора, возвращенного из вызова...
1980 просмотров

Простое сопоставление памяти загрузчика процессов
Я пишу очень простой загрузчик процессов для Linux. Исполняемые файлы, которые я загружаю, уже скомпилированы, и я знаю, где каждый из них ожидает найти в памяти. Первый подход, который я пробовал, заключался в использовании mmap() для ручного...
531 просмотров

Совместное использование объекта между двумя процессами в C #
Я ищу способ разделить объект между двумя процессами. Первый процесс должен создать объект, а второй должен только скопировать его, не внося никаких изменений в оригинал. Кто-нибудь знает, как это сделать?
2331 просмотров
schedule 17.10.2022

Mmap не использует данный адрес
Хотя запрошенный адрес сопоставления является началом страницы, он будет использовать адрес, сдвинутый на несколько страниц. Я пытаюсь сделать что-то вроде этого: char *mapped = mmap(base, page_size, PROT_NONE, MAP_SHARED,...
1324 просмотров
schedule 12.10.2022

Доступ к базе данных SQLite из MMF
Я использую System.Data.SQLite lib для доступа к моей базе данных SQLite. Я хочу загрузить файл db в память и использовать MMF (файлы с отображением памяти) для доступа к базе данных. Возможно ли это с помощью библиотеки SQLite по умолчанию?...
1166 просмотров

Linux — отображение памяти пользовательского пространства в коде ядра
Я пишу фрагмент кода, который должен хранить 10 КБ памяти, расположенной по определенному физическому адресу, до того, как SOC отключится. Моя проблема в том, что этот физический адрес не является частью пространства ядра, поэтому мне нужно создать...
5330 просмотров

Тика не могла удалить временные файлы
В нашем приложении мы обрабатываем файлы с помощью Apache Tika. Но есть некоторые файлы (например, *.mov, *.mp4), которые Tika не может обработать и оставляет соответствующий файл *.tmp в папке Temp пользователя. После некоторых исследований я...
2980 просмотров

2D-массив с отображением памяти с использованием повышения
Я пытаюсь использовать boost для сопоставления файла с памятью, имеющей 3 числа с плавающей запятой в строке (координаты точек x, y, z). Я пытаюсь сохранить данные в типе cl_float3 (для openCL), но, похоже, это не работает. Это мой код:...
405 просмотров
schedule 11.06.2022

Отображение памяти, виртуальная и физическая память в C++
Я пытаюсь решить следующую проблему: имея пользовательский контейнер данных, который управляет универсальным типом, мне нужно разрешить другим компонентам приложения извлекать внутренний указатель контейнера и использовать его, как если бы это была...
681 просмотров
schedule 16.03.2023

Память инструкций/данных карты памяти в VHDL.
Я разрабатываю процессор на основе MIPS, и мне поручено создать память инструкций и память данных с отображенной ниже памятью. Ваша память инструкций должна быть реализована с компонентом «altsyncram», 32-битной шиной вывода, 8-битной адресной...
2380 просмотров
schedule 16.09.2022

ядро linux предварительно выделенная не отображенная виртуальная память
У меня следующий сценарий: qemu-kvm (гость) --- имеет виртуальную память, получить физическую ---> virtio (отправить физический адрес на хост) --- сопоставить физическую виртуальную память хоста - -> host Предварительно выделена физическая...
342 просмотров

Почему эта строка сборки является «недопустимым использованием регистра»?
Я просматриваю некоторые руководства по разработке ОС и постоянно вижу следующий раздел кода: .intel_syntax noprefix do_e820: xor ebx, ebx # ebx must be 0 to start xor bp, bp # keep an entry count in bp mov edx,...
1633 просмотров
schedule 18.10.2022

Файлы данных отображения памяти в коде ядра Linux
Вот мой вопрос: я хочу отобразить часть файла данных из кода, работающего в пространстве ядра Linux. Я хочу позже отменить ту же карту памяти, также из кода, работающего в пространстве ядра Linux. Как мне это сделать и чем они отличаются от...
1470 просмотров
schedule 04.09.2022

Не найден /proc/self/maps для платформы QNX
У нас есть код, написанный для Linux, где мы анализируем файл карт, используя std::ifstream ifs("/proc/self/maps");. Я переношу этот код для платформы QNX, где я вижу, что папка /proc/self/ доступна, но файл карт недоступен. Кто создает файл...
206 просмотров

Почему FileChannel работает лучше, чем MemoryMappedBuffer?
Я читаю файл размером 50 ГБ (только для чтения), используя несколько потоков, при этом каждый поток читает последовательный сегмент из файла. Я попробовал два подхода Использование файлового канала Использование MemoryMappedBuffer, полученного...
46 просмотров
schedule 12.05.2023

Vulkan: одновременная запись хоста и чтение устройства в отдельные части одного и того же VkMemory
Чтобы передать свои статические данные в графический процессор, я думаю о том, чтобы иметь один промежуточный объект VkMemory (приблизительный размер 64 МБ) и использовать его как вращающуюся очередь. Однако у меня есть несколько потоков, создающих...
190 просмотров