Вопросы по теме 'page-tables'
Понимание трансляции адресов Qemu
Это моя установка:
Внутри виртуальной машины в программе пользовательского пространства я храню переменную со значением «8» по адресу bf9ee1a0.
Я получаю физический адрес ff9ee1a0, соответствующий адресу, когда я вызываю функцию virt_to_phys в...
447 просмотров
schedule
04.09.2022
Копирование при записи: какой статус после того, как отец и сын изменили страницу?
Когда вы разветвляете процесс, в начале отец и сын используют одну и ту же страницу памяти. Но если кто-то из них пишет на этой странице, она дублируется, чтобы на первого это изменение не повлияло. Это примерно то, что называется копированием при...
78 просмотров
schedule
15.06.2022
Таблица Intel EPT представляет собой 4-уровневую таблицу страниц?
Рисунок взят из здесь .
Q1. Кажется, что таблица EPT содержит полную копию таблицы гостевых страниц, что делает ее 4-уровневой таблицей страниц. Это правильно?
Q2. Разве это не пустая трата места?
Q3. Что именно нарушает EPT?...
1901 просмотров
schedule
31.05.2024
Виртуальная память - подсчитать количество страниц в таблице страниц
Виртуальное адресное пространство составляет 64 бита.
Размер страницы 64 КБ
Размер слова 4 байта
Сколько страниц в таблице страниц?
Сначала я подумал:
размер страницы = 64 КБ = 2 ^ 16 байт, поэтому смещение использует 16 бит из 64....
1000 просмотров
schedule
29.10.2022
Адресация / индексирование таблицы страниц
Я знаю, что мы можем использовать виртуальный адрес в качестве индекса для поиска в таблице страниц и получения физического адреса (точнее, номера страницы) из соответствующей записи. А расположение таблицы страниц в памяти обеспечивается базовым...
758 просмотров
schedule
29.01.2023
copy_to_user не работает с таблицами страниц ядра Linux
Я пишу системный вызов в ядре Linux, который дает виртуальный адрес и длинный указатель без знака, находит соответствующую запись таблицы страниц и затем копирует ее содержимое в длинный указатель без знака. Вот системный вызов:...
740 просмотров
schedule
16.09.2022
подкачка linux с использованием большого количества каталогов таблицы страниц
Я читал книгу Мела Гормана о виртуальной памяти Linux. Я читал, что Linux поддерживает 3 уровня таблиц страниц: PGD, PMD и PTE. Если я не ошибаюсь, в более новой версии ядра есть четыре уровня таблиц страниц: PUD, но это не имеет значения. У меня...
69 просмотров
schedule
19.07.2023
ARM Linux: PTE не доступен для записи, но грязный
Я знаю, что архитектура ARM эмулирует молодые и грязные флаги Linux, устанавливая их в обработчиках ошибок страниц, как обсуждалось здесь . Но недавно для небольшого бинарного файла я заметил, что PTE Linux в одном из анонимных сегментов был...
436 просмотров
schedule
04.12.2022
Расчет размера записи в таблице
У меня есть такой вопрос, и мне нужно рассчитать размер записи в таблице.
Microsoft Windows 98 использовала 32-битное адресное пространство памяти, а размер страницы по умолчанию составлял 4 КБ. Если у него физическая память 256 МБ
i) Каков...
167 просмотров
schedule
06.03.2023
ARM Linux действительность PTE
Я знаю, что в MMU процессора ARM некоторые биты, такие как ссылочный бит или грязные биты, не предоставляются в PTE. В результате в этих системах предоставляются две таблицы страниц: собственные таблицы страниц процессора, без битов, на которые...
109 просмотров
schedule
22.09.2022
Как страница становится недействительной при глобальной замене страницы?
Допустим, есть два процесса A и B. B нужно вставить новый фрейм в свою таблицу страниц. поскольку свободных кадров нет, мы должны заменить один кадр и загрузить кадр B с диска. Предположим, операционная система следует глобальной схеме замены...
48 просмотров
schedule
10.07.2022
Сопоставляется ли таблица страниц процесса с адресным пространством ядра?
Я занимался системным программированием Windows и задавался вопросом, могу ли я получить доступ к таблице страниц процесса на уровне исходного кода.
Вот что я знаю о таблице страниц, относящейся к виртуальной памяти.
Предположим, что...
1008 просмотров
schedule
27.05.2023
Таблица страниц x86-64 Глобальный бит
Каждый PTE (запись таблицы страниц) в этом параметре имеет G-бит (G = глобальный), который управляет областью физической страницы, отображаемой этой записью.
Если бит G установлен, то запись является глобальной для всех процессов, и все они могут...
2143 просмотров
schedule
24.08.2022
Вычисление размеров адресов памяти для подкачки и смещения, а также размера таблицы страниц.
Этот вопрос в основном просто для того, чтобы прояснить мое понимание.
Скажем, у меня 32-разрядный компьютер с объемом виртуальной памяти 2 ^ 32 байта .
Используется подкачка памяти, каждая страница занимает 2 ^ 8 байтов.
Таким образом,...
1364 просмотров
schedule
07.07.2022
Проблемы с многоуровневыми таблицами страниц?
Мне было интересно, есть ли какие-нибудь сложности при увеличении уровней для таблиц страниц. Итак, допустим, я перехожу от двухуровневой таблицы страниц к многоуровневой таблице страниц для записей таблицы страниц. Что может вызвать некоторые...
18 просмотров
schedule
24.02.2023
записи в таблице страниц и размер записи
Дано 16-битное логическое адресное пространство с размером страницы 1 КБ (2 ^ 10) и размером физической памяти 32 КБ (2 ^ 15).
Какое количество записей в таблице страниц? 16-10 = 6, 2 ^ 6 записей
Какого размера (в байтах) занимает запись в...
45 просмотров
schedule
27.10.2022
Как процесс fork() помечает родительские PTE только для чтения?
Я перерыл много ресурсов, но ничего конкретного по этому поводу не нашел:
Я знаю, что в некоторых Linux-системах системный вызов fork() работает с копированием при записи; то есть родительский и дочерний элементы используют одно и то же адресное...
584 просмотров
schedule
14.01.2023
Иерархическая подкачка с 2 уровнями
Рассмотрим систему подкачки с таблицей страниц, хранящейся в памяти. Используемое логическое адресное пространство - 32 бита, а размер страницы - 8 КБ. Это приведет к очень большим таблицам страниц, и поэтому система использует иерархическое...
496 просмотров
schedule
13.03.2023
В чем преимущество многоступенчатой подкачки x86 по сравнению с одностраничной таблицей?
В качестве конкретного примера рассмотрим 32-битную схему подкачки x86. В руководстве разработчика Intel я нашел следующий рисунок, на котором показано, как 32-битный пейджинг может преобразовать линейный адрес в физический адрес.
Я не...
150 просмотров
schedule
21.06.2023
Трассировка доступа к таблице страниц процесса Linux
Я пишу, чтобы узнать о возможности отслеживания доступа к таблице страниц (с точки зрения «индекса» каждого доступа к таблице страниц) обычного пользовательского приложения Linux. По сути, то, что я делаю, — это воссоздание уязвимости, упомянутой в...
101 просмотров
schedule
10.02.2023