Вопросы по теме 'page-tables'

Понимание трансляции адресов Qemu
Это моя установка: Внутри виртуальной машины в программе пользовательского пространства я храню переменную со значением «8» по адресу bf9ee1a0. Я получаю физический адрес ff9ee1a0, соответствующий адресу, когда я вызываю функцию virt_to_phys в...
447 просмотров
schedule 04.09.2022

Копирование при записи: какой статус после того, как отец и сын изменили страницу?
Когда вы разветвляете процесс, в начале отец и сын используют одну и ту же страницу памяти. Но если кто-то из них пишет на этой странице, она дублируется, чтобы на первого это изменение не повлияло. Это примерно то, что называется копированием при...
78 просмотров

Таблица 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 просмотров

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 просмотров

Расчет размера записи в таблице
У меня есть такой вопрос, и мне нужно рассчитать размер записи в таблице. 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 просмотров

Сопоставляется ли таблица страниц процесса с адресным пространством ядра?
Я занимался системным программированием Windows и задавался вопросом, могу ли я получить доступ к таблице страниц процесса на уровне исходного кода. Вот что я знаю о таблице страниц, относящейся к виртуальной памяти. Предположим, что...
1008 просмотров

Таблица страниц x86-64 Глобальный бит
Каждый PTE (запись таблицы страниц) в этом параметре имеет G-бит (G = глобальный), который управляет областью физической страницы, отображаемой этой записью. Если бит G установлен, то запись является глобальной для всех процессов, и все они могут...
2143 просмотров
schedule 24.08.2022

Вычисление размеров адресов памяти для подкачки и смещения, а также размера таблицы страниц.
Этот вопрос в основном просто для того, чтобы прояснить мое понимание. Скажем, у меня 32-разрядный компьютер с объемом виртуальной памяти 2 ^ 32 байта . Используется подкачка памяти, каждая страница занимает 2 ^ 8 байтов. Таким образом,...
1364 просмотров

Проблемы с многоуровневыми таблицами страниц?
Мне было интересно, есть ли какие-нибудь сложности при увеличении уровней для таблиц страниц. Итак, допустим, я перехожу от двухуровневой таблицы страниц к многоуровневой таблице страниц для записей таблицы страниц. Что может вызвать некоторые...
18 просмотров
schedule 24.02.2023

записи в таблице страниц и размер записи
Дано 16-битное логическое адресное пространство с размером страницы 1 КБ (2 ^ 10) и размером физической памяти 32 КБ (2 ^ 15). Какое количество записей в таблице страниц? 16-10 = 6, 2 ^ 6 записей Какого размера (в байтах) занимает запись в...
45 просмотров

Как процесс fork() помечает родительские PTE только для чтения?
Я перерыл много ресурсов, но ничего конкретного по этому поводу не нашел: Я знаю, что в некоторых Linux-системах системный вызов fork() работает с копированием при записи; то есть родительский и дочерний элементы используют одно и то же адресное...
584 просмотров

Иерархическая подкачка с 2 уровнями
Рассмотрим систему подкачки с таблицей страниц, хранящейся в памяти. Используемое логическое адресное пространство - 32 бита, а размер страницы - 8 КБ. Это приведет к очень большим таблицам страниц, и поэтому система использует иерархическое...
496 просмотров

В чем преимущество многоступенчатой ​​подкачки x86 по сравнению с одностраничной таблицей?
В качестве конкретного примера рассмотрим 32-битную схему подкачки x86. В руководстве разработчика Intel я нашел следующий рисунок, на котором показано, как 32-битный пейджинг может преобразовать линейный адрес в физический адрес. Я не...
150 просмотров
schedule 21.06.2023

Трассировка доступа к таблице страниц процесса Linux
Я пишу, чтобы узнать о возможности отслеживания доступа к таблице страниц (с точки зрения «индекса» каждого доступа к таблице страниц) обычного пользовательского приложения Linux. По сути, то, что я делаю, — это воссоздание уязвимости, упомянутой в...
101 просмотров