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

Сбросить TLB на контекстном переключателе
Это может зависеть от ОС, но в целом, насколько я понимаю, при возникновении ошибки страницы (нужной страницы нет в основной памяти) ОС дает указание ЦП прочитать страницу с диска, и мне интересно, отправляет ли ОС другую процесс во время дискового...
3339 просмотров

Когда возникает ошибка страницы, вы читаете страницу в TLB, а также в PT?
В настоящее время я изучаю виртуальную память, и я столкнулся с несколькими вопросами о промахе TLB и ошибке страницы. Мое понимание: Когда у вас есть промах TLB, вы переходите на PT. Если у PT есть совпадение, то отлично, вы копируете запись PT...
245 просмотров
schedule 12.06.2023

Как ОС обновляет соответствующую таблицу страниц при удалении страницы-жертвы?
В ОС, использующей виртуальную память, каждый процесс имеет таблицу страниц. Каждая таблица страниц сопоставляет страницы виртуальной памяти процесса со страницами физической памяти системы и указывает, действительна ли данная страница в данный...
822 просмотров

Может ли конкретный MMU работать с 32- и 64-битными виртуальными адресами?
Когда запускается новый процесс, операционная система инициализирует регистры MMU таблицей страниц процесса. При трансляции виртуального адреса MMU получает виртуальный адрес, передает его компараторам и получает физический адрес (пожалуйста,...
168 просмотров

Как сделать дамп таблицы страниц?
Я новичок в Linux, C и переполнении стека. Я пытался просмотреть таблицы страниц всех запущенных процессов. Для этого я использую dump_pagetable.c . Сначала я попытался запустить с помощью обычной компиляции gcc dump_pagetables.c -o...
1315 просмотров
schedule 28.07.2023

Почему у нас есть бит проверки для каждой записи в таблице страниц?
Я изучал управление памятью подкачки и в какой-то момент обнаружил, что с каждой записью таблицы страниц связан бит, указывающий, является ли фрейм допустимым или недопустимым фреймом, к которому должен обращаться процесс, связанный с этим таблица...
531 просмотров

Рассчитать количество виртуальных страниц на процесс
У меня 64 КБ страниц, 4 ГБ физической памяти и 64-битная машина. Я узнал, что 64-битные машины дают 256 ТБ виртуальной памяти. Если бы мне нужно было вычислить количество виртуальных страниц на процесс, это было бы просто: Общая виртуальная...
2758 просмотров

Почему у ARM большие страницы размером 64 КБ?
В руководстве пользователя ARM720T упоминаются маленькие и большие страницы. Поскольку ARM 720T требует, чтобы запись таблицы страниц размером 64 КБ дублировалась 16 раз в таблице страниц, почему бы не разместить 16 записей малых страниц (4 КБ) для...
1380 просмотров
schedule 04.06.2023

Значение бита SUP в таблицах страниц
Одним из атрибутов записи таблицы страниц является бит SUP. Я прочитал в паре документов, что: «если SUP установлен, то только процесс в режиме ядра может получить доступ к этой странице. Если же он не установлен, то процесс в пользовательском...
928 просмотров
schedule 20.08.2022

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

Размер таблиц страниц и доступные физические адреса
предположим, что у нас есть 4 ГиБ ОЗУ, и мы используем размер таблицы страниц 4 КБ с 32-битными адресами. После моих расчетов у меня получилось: мы можем адресовать не более 2 ^ 32 адресов; каждая таблица страниц имеет всего 2 ^ 20 записей;...
41 просмотров
schedule 05.11.2022

Может ли процесс изменять свои собственные записи таблицы страниц в Linux?
Возможно, имеет смысл запретить то же самое из соображений безопасности, поскольку адрес может быть сопоставлен с каким-то адресным пространством, которое не принадлежит процессу. Но может ли он изменить запись таблицы страниц для адреса, к которому...
326 просмотров
schedule 04.01.2023

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

Поддерживает ли Linux страницы размером 2 МБ во время компиляции?
Я знаю процессоры в наши дни, некоторые из них поддерживают размеры страниц 2 МБ и 1 ГБ. Можно ли скомпилировать ядро ​​​​Linux для изначальной поддержки 2 МБ, а не стандартной страницы 4 КБ? Спасибо.
589 просмотров

Ошибка страницы. Как ОС ищет страницу во вторичном хранилище?
Мой вопрос: когда происходит ошибка страницы и требуемой страницы нет в ОЗУ, после этого как ОС узнает, где искать данную страницу во всей вторичной памяти, чтобы вывести ее в ОЗУ? Так является ли логический адрес адресом хранилища вторичной памяти...
508 просмотров
schedule 10.08.2022

Как виртуально индексированный кеш с физическими тегами решает проблему омонимов?
Омонимы, когда говорят о виртуальных кэшах, - это когда один виртуальный адрес соответствует нескольким физическим адресам. Одним из известных решений проблемы омонимов в виртуальном кэше является использование физических тегов для кэша; то есть:...
427 просмотров
schedule 25.04.2022

В операционных системах, использующих таблицы страниц, всегда ли таблицы страниц пусты?
Изучая механизмы теневого пейджинга, я узнал о случае, когда таблица теневых страниц изначально пуста и заполняется только тогда, когда гостевая виртуальная машина обращается к памяти. Это заставило меня задуматься о традиционных таблицах страниц....
62 просмотров

для вычисления уровней таблицы страниц требуется поддержка x битов виртуального адреса
Я пытаюсь рассчитать количество уровней таблицы страниц, необходимых для поддержки 35-битного виртуального адреса. Ввод дает мне: Блок пейджинга использует дескрипторы страниц 16B, а размер страницы составляет 2KiB. Количество дескрипторов,...
31 просмотров