Вопросы по теме 'virtual-address-space'
Как многоуровневая подкачка экономит память?
Меня смущает концепция многоуровневой схемы подкачки.
Пусть 32-битный виртуальный адрес и одна страница размером 4 КиБ, тогда у меня будет 2 20 страниц / записей таблицы страниц. Пусть одна запись таблицы страниц будет иметь размер 4 байта,...
1967 просмотров
schedule
12.09.2021
Преобразование виртуального адресного пространства в физическое адресное пространство
Эта тема в некоторой степени освещалась в других сообщениях, но в моем примере мне нужно найти больше, чем показано в других примерах, и мне трудно четко понять, что именно происходит.
Предположим, у меня есть следующие системные свойства (и...
132 просмотров
schedule
01.11.2021
Как отображаются виртуальные адреса, соответствующие стеку ядра?
Виртуальное адресное пространство каждого процесса состоит из пространства пользователя и пространства ядра. Как указывается во многих статьях, пространство ядра всех процессов отображается на один и тот же физический адрес в памяти, то есть в...
135 просмотров
schedule
30.11.2021
использование файла отображения памяти в виртуальном адресном пространстве
Что ж. Я довольно сильно запутался с концепцией memory mapped file , используемой в virtual address spaces .
По следующей ссылке я погуглил.
http://en.wikipedia.org/wiki/Виртуальное_адресное_пространство
Я нашел раздел...
1100 просмотров
schedule
14.03.2022
Тема песочницы
Я хочу создать поток или процесс, который будет иметь собственное виртуальное адресное пространство (вероятно, это должен быть отдельный процесс) без системных библиотек в адресном пространстве. Моя цель — создать среду выполнения для кода...
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 просмотров
schedule
04.10.2022
Почему 32-разрядная ОС поддерживает 4 ГБ ОЗУ?
Просто прочитав несколько заметок в лекции Purdue об ОС , и он говорит:
Программа видит память как массив байтов, который идет от адреса 0 до 2^32-1 (от 0 до 4 ГБ-1).
Почему 4 ГБ?
52449 просмотров
schedule
05.06.2023
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 просмотров
schedule
26.05.2023
Как получить физический адрес для любого адреса в 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 просмотров
schedule
05.03.2024