Описание тега page-tables

Таблица страниц - это структура данных, используемая виртуальной памятью в операционной системе для хранения сопоставления между виртуальными адресами и физическими адресами.
1 ответ

Виртуальная память - подсчитать количество страниц в таблице страниц

Виртуальное адресное пространство составляет 64 бита Размер страницы составляет 64 КБ Размер слова составляет 4 байта Сколько страниц в таблице страниц? Сначала я подумал: размер страницы = 64 КБ = 2^16 байт, поэтому смещение использует 16 бит из 64…
11 авг '15 в 12:55
1 ответ

Виртуальные адреса и пейджинг

Рассмотрим процессор XYZ с адресной шиной и 24-битной шиной данных. XYZ обеспечивает поддержку виртуальной памяти и пейджинг по требованию. Для преобразования логического в физический адрес первые 12 старших значащих битов адреса соответствуют номер…
1 ответ

linux paging, использующий много каталогов таблиц страниц

Я прочитал книгу Мел Гормана о виртуальной памяти Linux. Я прочитал, что Linux поддерживает 3 уровня таблиц страниц: PGD,PMD и PTE. Если я не ошибаюсь в более новой версии ядра, есть четыре уровня таблиц страниц: PUD, но это не имеет значения. У мен…
20 дек '15 в 18:43
0 ответов

ARM Linux действительность PTE

Я знаю, что в MMU процессора ARM некоторые биты, такие как ссылочный бит или грязные биты, не предоставляются в PTE. В результате в этих системах создаются две таблицы страниц - таблицы страниц процессора, не содержащие ни ссылочных битов, ни грязны…
22 мар '16 в 17:06
2 ответа

Найти, какие страницы больше не доступны для копирования при записи

Скажем, у меня есть процесс в Linux, из которого я fork() другой идентичный процесс. После forkПоскольку исходный процесс начнет запись в память, механизм копирования и записи в Linux предоставит процессу уникальные страницы физической памяти, котор…
23 апр '12 в 16:11
1 ответ

Аппаратная виртуализация - запрос гипервизора

Как гипервизор будет отражать изменения всякий раз, когда происходит изменение в таблице гостевой страницы гостевой ОС. Как поддерживается соответствие между отображением гостевой страницы и отображением теневой страницы? Одним из способов является …
1 ответ

Имеет ли x86_64 эквивалент aarch64 в инструкции?

Aarch64 ARM имеет инструкцию AT (Address Translate), которая запускает виртуальный адрес через этап трансляции адреса, возвращая физический адрес в PAR_EL1 вместе со статусом, чтобы указать, существует ли трансляция. См. ARMv8 ARM, раздел C5.5. Вопр…
14 мар '16 в 05:22
1 ответ

Имеет ли размер адрес взаимосвязь с количеством записей, размером общих записей или с обоими?

Если виртуальная память имеет 32-битный адрес, есть ли 2 ^ 32 записи или размер общих записей 2 ^ 32 байта? или оба? Причина, по которой я спрашиваю, заключается в том, что я думал, что это означает только 2 ^ 32 После выполнения следующей проблемы …
1 ответ

Иерархическая таблица страниц в подкачке памяти ОС

Сейчас я изучаю управление памятью в ОС В структуре таблицы иерархических страниц, если есть 32-битный компьютер, 4KB из page-size а также 4B из page-entry размер. почему адрес разделены на биты 10-10-12 я знаю 20 - 12, 12 немного offset значение на…
05 май '17 в 04:42
1 ответ

Таблица страниц x86-64 Глобальный бит

Каждый PTE (запись таблицы страниц) в этом параметре имеет G-бит (G = Global), который контролирует область физической страницы, отображаемой этой записью. Если бит G установлен, то запись является глобальной для всех процессов, и все они могут полу…
01 фев '17 в 18:19
2 ответа

У каждого процесса есть своя собственная таблица страниц?

У каждого процесса есть своя собственная таблица страниц, или он просто добавляет свои записи страниц в одну большую таблицу страниц?
1 ответ

Пейджинг: базовый, иерархический, хэшированный и инвертированный

Что касается операционных систем и таблиц страниц, то, по-видимому, существует 4 основных метода для страниц и таблиц страниц. Basic - таблица с одной страницей, в которой хранится номер страницы и смещение Иерархическая - многоуровневая таблица, ко…
04 апр '11 в 21:12
2 ответа

Как xv6 знает, где находится последний элемент p->pgdir?

В xv6 каждый процесс имеет структуру с именем proc, в которой хранится состояние процесса. у него есть поле с именем pgdir, которое указывает на каталог его страницы. Мой вопрос заключается в следующем: он должен хранить индекс последнего элемента в…
12 янв '19 в 06:30
0 ответов

Где находится таблица страниц в оперативной памяти?

Я знаю, что таблица страниц находится в оперативной памяти, но где именно она находится в оперативной памяти? Будут ли зарезервированы определенные места для таблицы страниц? Если нет, как ОС узнает, где находится таблица страниц в оперативной памят…
11 авг '18 в 03:25
0 ответов

Как просмотреть таблицу страниц приложения пространства пользователя в Linux

Я использую Ubuntu 14.04 LTS на компьютере с архитектурой x86_64. Можно ли определить, сколько уровней таблиц страниц использует приложение пространства пользователя? а также дамп таблицы страниц с содержанием всех уровней Начальный адрес или базовы…
28 июл '18 в 17:29
1 ответ

Расчет размера таблицы страниц

У меня есть задание со следующей подсказкой: The page size for a virtual memory system is 8KB. The instruction TLB is direct-mapped with 2 sets and each block contains one translation. ^(I don't believe this is relevant for the following 3 questions…
21 апр '15 в 04:07
2 ответа

Где находится код src, где ядро ​​Linux устанавливает отображение виртуально-физического адреса?

Как я знаю, когда программа пытается получить доступ к виртуальному адресу, на котором отсутствует соответствующий PTE, ядро ​​вызовет сбой страницы, а обработчик сбоя страницы обработает его. В обработчике, если ошибка вызвана отсутствием физическо…
1 ответ

Когда нам нужна таблица уровня 3 уровня

Если у нас есть машина с 64-битным адресом, и каждая запись таблицы страниц содержит только указатель на назначенный кадр. Как рассчитать максимально возможный размер фрейма, если нам нужна трехуровневая таблица страниц? Я так запутался насчет треху…
06 апр '15 в 18:53
1 ответ

Изменяет ли mmap флаги, хранящиеся в таблице страниц?

Насколько мне известно, MMAP может использоваться для изменения защиты отображаемой области памяти. Например, если я хочу добавить исполняемый файл разрешения на одну из моих страниц стека который изначально установлен как доступное для чтения и зап…
18 май '16 в 07:12
1 ответ

Операция драйвера mmap Создание таблицы страниц

Я пытаюсь понять операцию Mmap в драйвере. Я знаю, почему мы делаем mmap. Меня смущают следующие 2 реализации mmap: int my_mmap(struct file *filp, struct vm_area_struct *vma) { vma->vm_ops = &mmap_vm_ops; vma->vm_flags |= VM_RESERVED; /* a…