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


Как работает виртуальная память
В этой статье мы рассмотрим, какие проблемы решает виртуальная память (далее ВМ) и как она на самом деле отображается в ОЗУ. На самом деле VM добавляет уровень косвенности между виртуальными программными адресами и физическими адресами (ОЗУ). Адреса виртуальных программ отображались бы непосредственно в ОЗУ, если бы не этот процесс. Я знаю, что это много жаргона, так что давайте посмотрим на проблемы, которые решает VM, и вы начнете видеть общую картину того, как это работает...

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

устаревшие проблемы компилятора gcc
Мы используем устаревший компилятор, основанный на gcc 2.6.0, для кросс-компиляции для старого встроенного процессора, который мы все еще используем (да, он все еще используется с 1994 года!). Инженер, создавший порт gcc для этого чипа, давно ушел....
1966 просмотров

Почему в Linux область отображения памяти увеличивается
Примите во внимание это , потому что этот регион сопоставляет файлы как динамически загружаемые библиотеки, я чувствую, что в идеале он должен расти. это можно реализовать, запустив область mmap между RLIMIT_STACK и началом кучи. какие проблемы...
1413 просмотров
schedule 11.04.2022

Разница между физической и виртуальной памятью визуально С++?
Я пытаюсь написать собственный менеджер памяти, и сейчас я выделяю глобальный массив байтов, например: char g_retail_memory[512*MB]; Когда я затем заглядываю в монитор ресурсов Windows 7, он сообщает, что выделено около 512 МБ виртуальной...
1499 просмотров
schedule 05.07.2023

Программа C для поиска виртуальной памяти, используемой процессом в HP-UX?
Этот вопрос мне задали в интервью: Напишите простую программу на C, чтобы найти виртуальную память, используемую запущенным процессом в Unix (HP-UX). Я сказал им, что я не совсем уверен, но также придумал несколько идей, таких как:...
2433 просмотров
schedule 01.05.2022

Что происходит, когда в C # заканчивается ОЗУ?
Я не специалист по компьютерам, поэтому позвольте мне поставить этот вопрос более конкретно: Я провожу научные вычисления, и иногда для хранения результатов вычислений требуется много памяти. Несколько дней назад у меня был выходной файл, который...
656 просмотров
schedule 01.10.2022

Поддерживает ли FastMM резервирование виртуальной памяти и вызовы фрагментами для увеличения массива?
Я знаю, что могу зарезервировать виртуальную память с помощью VirtualAlloc. например. Я могу потребовать 1 ГБ виртуальной памяти, а затем вызвать первый из них, чтобы поместить в него растущий массив. Когда размер массива превысит 1 МБ, я вызову...
306 просмотров
schedule 02.08.2022

Выделение памяти Win32 с большим выравниванием
Мне нужно выделить большие области памяти (мегабайты) с большими выравниваниями (также потенциально в диапазоне мегабайт). Семейство функций VirtualAlloc, похоже, не предоставляет возможностей для этого. Что я делаю в Linux, чтобы достичь этого,...
1463 просмотров

Как сообщить Linux, что страницу mmap() не нужно записывать для подкачки, если требуется резервная физическая страница?
Надеюсь, заголовок понятен. У меня есть кусок памяти, полученный через mmap(). Через некоторое время я пришел к выводу, что данные в этом диапазоне мне больше не нужны. Тем не менее, я все еще хочу сохранить этот диапазон. То есть я не хочу...
764 просмотров
schedule 29.05.2023

Linux Zero-Copy: передача страниц памяти между двумя процессами с помощью vmsplice
В настоящее время я пытаюсь понять значение splice/vmsplice. Что касается варианта использования IPC, я наткнулся на следующий ответ в stackoverflow: https://stackoverflow.com/a/1350550/1305501 Вопрос: Как перенести страницы памяти из одного...
7159 просмотров
schedule 18.11.2022

как определиться с многоуровневыми таблицами страниц
У меня есть некоторые сомнения относительно того, как решить, сколько уровней таблицы страниц следует использовать в виртуальном адресном пространстве, если у нас есть 32-битное логическое адресное пространство, а размер страницы составляет 4 КБ??...
998 просмотров
schedule 18.06.2022

Формат записи таблицы страниц ARM Linux неиспользуемые биты?
Мне нужно использовать два бита PTE для хранения пользовательского значения «состояния», которое мой модуль ядра будет использовать при перехвате ошибок защиты страницы. Я разрабатываю Galaxy Nexus с ARM Cortex A9 (я полагаю, ARM v7). Ядро Linux...
2383 просмотров
schedule 26.06.2022

Как преодолеть OutOfMemoryError, когда виртуальная машина заполнена в приложении для Android?
Проверьте этот ПРОЕКТ моего приложения: ПРОБЛЕМА: Если я нажму кнопку ВТОРАЯ СТРАНИЦА с ПЕРВОЙ СТРАНИЦЫ, откроется новое намерение ВТОРОЙ СТРАНИЦЫ. потом Я нажимаю кнопку ТРЕТЬЯ СТРАНИЦА со ВТОРОЙ СТРАНИЦЫ, затем она переходит...
579 просмотров

Общие сведения о файлах с отображением в память
Я начал читать о вводе-выводе с отображением памяти, и у меня возникли некоторые трудности с пониманием концепций Вот что я понял до сих пор: У каждого процесса есть виртуальное адресное пространство. Файлам с отображением памяти выделяется...
2832 просмотров
schedule 09.04.2023

имитация кеша и ошибки страниц
Надеюсь, это не дубликат. Вопрос по симуляции кеша и виртуальной памяти: предположим, блокирующий кеш (блокирующий кеш — это кеш, который ожидает завершения передачи из памяти в кеш перед доставкой данных в ЦП) Что произойдет, если:...
229 просмотров
schedule 01.04.2023

Виртуально индексированный кэш с физическими тегами. Многоуровневые таблицы страниц - иерархическая разбивка на страницы.
Компьютер использует 46-битный виртуальный адрес, 32-битный физический адрес и трехуровневую организацию страничной таблицы страниц. Базовый регистр таблицы страниц хранит базовый адрес таблицы первого уровня (T1), которая занимает ровно одну...
2997 просмотров

Содержит ли оперативная память не только переменные, но и программную память запущенного процесса?
У меня есть вопрос относительно оперативной памяти, когда я изучал виртуальную память. Когда мы компилируем программу в микроконтроллере, код программы записывается во флэш-память, а переменные сохраняются в ОЗУ, верно? На наших десктопах так же? Я...
100 просмотров

Как процесс может попытаться получить доступ к памяти другого процесса в системе виртуальной памяти Linux
Просто запутался, когда изучаю систему виртуальной памяти в Linux. Поскольку каждый процесс имеет свое собственное виртуальное адресное пространство и свою собственную таблицу страниц, преобразующую свой виртуальный адрес в физический адрес...
5304 просмотров
schedule 28.02.2023

Расчет размера таблицы страниц
Рассмотрим машину с 64 МБ физической памяти и 32-битным виртуальным адресным пространством. Если размер страницы 4 КБ, каков примерный размер таблицы страниц? Мое решение: Number of pages in physical memory = (size of physical memory)/(size of...
7586 просмотров
schedule 01.07.2022

Списки рассеяния ядра непрерывны по виртуальному адресу?
Я хотел бы спросить/проверить, является ли массив struct scatterlist , который был сопоставлен с blk_rq_map_sg , непрерывным, по крайней мере, в домене виртуального адреса. Ну, мы все знаем, что списки рассеяния в первую очередь предназначены для...
516 просмотров

64-битные таблицы страниц слишком велики?
64-битный виртуальный адрес занимает 18446744073709551616 байт. со страницей размером 4 КБ нам потребуется 4503599627370496 записей в таблице страниц, где каждая запись имеет размер 8 байт. поэтому у нас будет: (4503599627370496 * 8) =...
277 просмотров
schedule 20.01.2024