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

Резервирование общей памяти без поддержки файлов (Linux / Windows) (boost :: interprocess)
Как я могу зарезервировать и выделить общую память без поддержки файла? Я пытаюсь зарезервировать большой (многие десятки ГиБ) фрагмент общей памяти и использовать его в нескольких процессах как форму IPC. Однако большая часть этого фрагмента...
1686 просмотров

получить размер виртуальной памяти процесса в AIX в программе
Я пишу приложение на AIX 5.3, используя C ++. Я хочу получить текущий размер виртуальной памяти процесса. Я использую функцию getprocs64 , но с этими данными я не могу получить результат, как показывает svmon . Помогите, пожалуйста. Спасибо.
1008 просмотров
schedule 11.09.2021

x86 - какой цели служит сегментация в защищенном режиме?
Я читал о сегментации памяти x86 и думаю, что мне чего-то не хватает, линейный (виртуальный) адрес строится путем взятия 32-битного значения из записи GDT (базового адреса), взятия 32-битного из адреса смещения и суммируйте их, чтобы получить...
283 просмотров

Как таблицы страниц хранятся в основной памяти?
Я знаю, что таблицы страниц хранятся в памяти, и каждый процесс имеет свою собственную таблицу, но каждая таблица имеет записи как количество виртуальных страниц в виртуальной памяти, поэтому как каждый процесс может иметь таблицу, и каждая таблица...
10471 просмотров
schedule 03.12.2021

Понимание отрицательной нагрузки на виртуальную память
Я перечитывал статью Пола-Хеннинга Кампа под названием «Вы делаете это неправильно» и одна из диаграмм меня смутила. Ось x на рисунке 1 обозначена как «давление виртуальной машины в мегабайтах». Автор поясняет, что ось x «измеряется объемом...
423 просмотров
schedule 23.09.2021

Получите максимальное доступное пространство памяти в системе Win32
Есть ли способ в системах Win32 программно получить полный размер адресуемой памяти ОС, используя Win32 API (или любую доступную DLL, которая будет установлена ​​в системе> = XP). Я знаю о GetPerformanceInfo и GlobalMemoryStatusEx , но первый,...
156 просмотров
schedule 17.11.2021

Как многоуровневая таблица страниц экономит место в памяти?
Я пытаюсь понять, как многоуровневая таблица страниц экономит память. Насколько я понимаю, многоуровневая таблица страниц в целом потребляет больше памяти, чем одноуровневая таблица страниц. Пример: рассмотрим систему памяти с размером страницы 64...
51681 просмотров

Как заставить Visual Studio оставаться в пределах 4 ГБ виртуального адресного пространства
Процесс devenv.exe в Visual Studio является 32-разрядным ( даже при запуске в 64-разрядной ОС ), поэтому он не может использовать больше чем 4 ГБ виртуальной памяти. К сожалению, когда я отлаживаю свое приложение C ++ с помощью Visual Studio, мне...
2498 просмотров
schedule 27.10.2021

Сохранение результата .dvalloc в переменной
Можно ли сохранить результат .dvalloc в переменной? Я имею в виду начальный адрес выделенной памяти
236 просмотров
schedule 10.10.2021

Какой API-интерфейс Alloc может вызывать VirtualAlloc / зарезервировать память внутри?
Я отлаживаю потенциальную проблему утечки памяти в отладочной DLL. Дело в том, что процесс запускает субтест, который динамически загружает / выгружает DLL, во время теста зарезервировано и зафиксировано много памяти (1,3 ГБ). После завершения...
655 просмотров
schedule 19.10.2021

Виртуальные страницы находятся только в хранилище? А что такое виртуальная память без хранилища?
Принципы виртуальной памяти На этом рисунке показаны страницы, хранящиеся на диске, и страничные фреймы в оперативной памяти. Если бы области подкачки не было, то не было бы страниц, а были бы только страничные фреймы. При отсутствии...
660 просмотров

Почему в виртуальном адресном пространстве процесса есть дыры
В моем учебнике говорится, что в виртуальном адресном пространстве процесса есть большие дыры, которые не отображаются на какие-либо значимые данные. Но когда мы создаем исполняемый объектный файл, все определяется, например, .text, .data, общие...
942 просмотров

Почему я не могу выделить больше памяти, чем доступно в ОЗУ?
Я пытался выполнить предложение malloc, подобное следующему: TYPODATO *prof=(TYPODATO *)malloc((size_t)H*V*B2*sizeof(TYPODATO)); при этом H*V*B2*sizeof(TYPODATO) равно 13037160840 B = 13,04 ГБ. Если я выполню команду free -m в консоли,...
79 просмотров
schedule 29.11.2021

Как можно закодировать операционную систему на языках высокого уровня?
Я только начал погружаться в мир операционных систем и узнал, что у процессов есть определенное пространство памяти, которое они могут адресовать, которое обрабатывается операционной системой. Я не совсем понимаю, как операционная система, написанная...
304 просмотров

Какова цель перемещения при использовании витруальной памяти?
Я понимаю, что такое релокация и виртуальная память. Однако я не могу понять, почему современные операционные системы не могут загрузить программу по ее предпочтительному адресу, если предпочтительным адресом является виртуальная память. Разве...
30 просмотров

Почему Linux предпочитает сопоставления 0x7f?
Запустив простой less /proc/self/maps , я вижу, что большинство сопоставлений начинаются с 55 и 7F . Я также заметил, что эти диапазоны используются при отладке любого двоичного файла. Кроме того, этот комментарий здесь предполагает, что...
417 просмотров
schedule 06.09.2021

Детали реализации указателя на C
Я хотел бы знать архитектуры, которые нарушают допущения , которые я перечислил ниже. Кроме того, я хотел бы знать, неверны ли какие-либо предположения для всех архитектур (то есть, если какое-либо из них просто полностью неверно). sizeof (int...
5689 просмотров
schedule 28.02.2022

Виртуальная память - не совсем понимаю, зачем она нам нужна помимо соображений безопасности?
В нескольких книгах и на веб-сайтах причина управления виртуальной памятью заключается в том, что она позволяет загружать в ОЗУ только часть программы и, следовательно, более эффективно использовать ОЗУ. 1) Зачем нам нужно управление виртуальной...
430 просмотров

Взаимодействие вилки и памяти пользовательского пространства, отображаемой в ядре
Рассмотрим драйвер Linux, который использует get_user_pages (или get_page ) для отображения страниц вызывающего процесса. Затем физический адрес страниц передается на аппаратное устройство. И процесс, и устройство могут читать и писать на...
2606 просмотров

Как контролировать управление виртуальной памятью в Linux?
Я пишу программу, которая использует файл mmap для хранения огромного буфера, организованного в виде массива блоков по 64 МБ. Блоки используются для агрегирования данных, полученных от разных хостов по сети. Как следствие, общий объем данных,...
345 просмотров
schedule 31.03.2022