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

Как многоуровневая подкачка экономит память?
Меня смущает концепция многоуровневой схемы подкачки. Пусть 32-битный виртуальный адрес и одна страница размером 4 КиБ, тогда у меня будет 2 20 страниц / записей таблицы страниц. Пусть одна запись таблицы страниц будет иметь размер 4 байта,...
1967 просмотров

Преобразование виртуального адресного пространства в физическое адресное пространство
Эта тема в некоторой степени освещалась в других сообщениях, но в моем примере мне нужно найти больше, чем показано в других примерах, и мне трудно четко понять, что именно происходит. Предположим, у меня есть следующие системные свойства (и...
132 просмотров
schedule 01.11.2021

Как отображаются виртуальные адреса, соответствующие стеку ядра?
Виртуальное адресное пространство каждого процесса состоит из пространства пользователя и пространства ядра. Как указывается во многих статьях, пространство ядра всех процессов отображается на один и тот же физический адрес в памяти, то есть в...
135 просмотров
schedule 30.11.2021

использование файла отображения памяти в виртуальном адресном пространстве
Что ж. Я довольно сильно запутался с концепцией memory mapped file , используемой в virtual address spaces . По следующей ссылке я погуглил. http://en.wikipedia.org/wiki/Виртуальное_адресное_пространство Я нашел раздел...
1100 просмотров

Тема песочницы
Я хочу создать поток или процесс, который будет иметь собственное виртуальное адресное пространство (вероятно, это должен быть отдельный процесс) без системных библиотек в адресном пространстве. Моя цель — создать среду выполнения для кода...
287 просмотров
schedule 22.03.2022

Почему виртуальный адрес точки входа выполнения ELF имеет вид 0x80xxxxx, а не 0x0?
При выполнении программа начнет работать с виртуального адреса 0x80482c0. Этот адрес указывает не на нашу main() процедуру, а на процедуру с именем _start , созданную компоновщиком. Мои исследования в Google до сих пор привели меня к некоторым...
14189 просмотров
schedule 23.05.2022

LoadLibrary() завершается с ошибкой 8 (ERROR_NOT_ENOUGH_MEMORY)
Позднее редактирование . После дополнительных исследований обновления Windows и библиотека DLL OpenGL оказались отвлекающим маневром. Причиной этих симптомов был сбой вызова LoadLibrary() с GetLastError() == ERROR_NOT_ENOUGH_MEMORY . Смотрите...
3331 просмотров

Почему 32-разрядная ОС поддерживает 4 ГБ ОЗУ?
Просто прочитав несколько заметок в лекции Purdue об ОС , и он говорит: Программа видит память как массив байтов, который идет от адреса 0 до 2^32-1 (от 0 до 4 ГБ-1). Почему 4 ГБ?
52449 просмотров

strcpy с размером больше, чем malloc
Это был вопрос из экзамена: этот код всегда работает? ответ таков: оператор if проверяет, указывает ли виртуальный адрес 'str' на начало страницы, только тогда должен выполняться strcpy, и он будет работать, потому что вся страница доступна этому...
58 просмотров
schedule 07.07.2023

Какой тип данных должен быть у буфера для ReadProcessMemory?
Во всех примерах, которые я видел, третий параметр или buffer является целым числом, но я не совсем уверен, что это значение должно представлять или как оно в любом случае полезно, поэтому я попробовал массив char и получил случайный мусор,...
1239 просмотров
schedule 26.02.2023

Почему мы можем выделить массив размером 1 ПБ (10 ^ 15) и получить доступ к последнему элементу, но не можем его освободить?
Как известно: http://linux.die.net/man/3/malloc По умолчанию Linux следует оптимистической стратегии распределения памяти. Это означает, что когда malloc () возвращает значение, отличное от NULL, нет гарантии, что память действительно...
1979 просмотров
schedule 01.11.2022

Как 32-битный процессор с 32-битным размером слова может использовать 4 ГБ ОЗУ?
Однако я видел некоторые объяснения моего вопроса в Интернете, но я все еще не чувствую, что понимаю проблему. Я понимаю, что память 32-битного ЦП будет разделена на дискретные единицы, называемые словами, каждая из которых может хранить до 32 бит...
174 просмотров
schedule 27.11.2022

След GDB, содержащий похожие адреса, но разные исходные строки
Я пытался отладить inkscape и поставить точку останова по адресу в его основной разделяемой библиотеке (т. е. /usr/lib/inkscape/libinkscape_base.so ). Когда выполнение достигло этой точки останова, обратная трассировка выглядела следующим образом:...
97 просмотров

Как получить физический адрес для любого адреса в FreeBSD из пользовательского пространства?
Для некоторых исследований мне нужно узнать физический адрес указателя на FreeBSD 12. В Linux я бы сделал это с помощью /proc/self/pagemap , но во FreeBSD я не нашел способа сделать это. Итак, есть ли способ получить физический адрес любого...
114 просмотров
schedule 05.12.2022

Вычислить биты таблицы страниц уровня 2 и записи таблицы страниц для каждого
Таблица страниц уровня 1 занимает ровно одну страницу памяти. 32-битный виртуальный адрес Размер страницы 8кб PTE 4 байта Сколько битов для каждого из полей? Сколько записей в таблице уровня 1? Сколько записей в таблице уровня 2?...
230 просмотров
schedule 29.12.2023

Используется ли физическая или виртуальная адресация в процессорах x86 / x86_64 для кеширования в L1, L2 и L3?
Какая адресация используется в процессорах x86 / x86_64 для кэширования в L1, L2 и L3 (LLC) - физическая или виртуальная (с использованием PT / PTE и TLB ) и каким-то образом выполняет PAT (таблица атрибутов страницы) повлиять на это? И есть ли...
11489 просмотров