Аппаратная поддержка вложенных таблиц страниц

Высокая стоимость обработки теневых таблиц страниц заставила разработчиков микросхем добавить аппаратную поддержку для вложенных таблиц страниц. Термин вложенные таблицы страниц (nested page tables) использовался компанией AMD.
А Intel называет их расширенными таблицами страниц (Extended Page Tables (EPT)). Они похожи друг на друга и нацелены на удаление основной части издержек путем полностью аппаратной дополнительной манипуляции с таблицами страниц, и все это без каких-либо системных прерываний. Интересно, что первое виртуализационное расширение в процессорах x86 компании Intel вообще не включало поддержки виртуализации памяти. Хотя процессоры с VT-расширениями позволили избавиться от многих узких мест, связанных с виртуализацией центрального процессора, ковыряние в таблицах страниц обходилось дороже, чем когда-либо. У AMD и Intel ушло несколько лет на то, чтобы произвести оборудование для эффективной виртуализации памяти.

Вспомним, что даже без виртуализации операционная система поддерживает отображение виртуальных страниц на физическую страницу. Оборудование «обходит» таблицы страниц в поисках физического адреса, соответствующего виртуальному адресу. Добавление дополнительных виртуальных машин приводит просто к добавлению дополнительного отображения. В качестве примера представим, что нам нужно преобразовать виртуальный адрес Linux-процесса на гипервизоре первого типа вроде Xen или VMware ESX-сервера в физический адрес. В добавление к гостевым виртуальным адресам (guest virtual addresses) у нас теперь есть гостевые физические адреса (guest physical addresses) и, соответственно, основные физические адреса (host physical addresses), которые иногда называют машинными физическими адресами (machine physical addresses). Мы видели, что без EPT гипервизор отвечал за поддержку теневых таблиц страниц явным образом. С использованием EPT гипервизор по-прежнему имеет дополнительный набор таблиц страниц, но теперь центральный процессор способен обрабатывать основную часть промежуточных уровней также и в оборудовании.

В нашем примере сначала оборудование обходит обычные таблицы страниц, чтобы преоб-

разовать гостевой виртуальный адрес в гостевой физический адрес, точно так же, как он делал бы это без виртуализации. Разница в том, что он также обходит расширенные (или вложенные) таблицы страниц, чтобы найти основной физический адрес без вмешательства программного обеспечения, и ему нужно делать это при каждом обращении к гостевому физическому адресу. Преобразование показано на рис. 7.6.

К сожалению, оборудованию может понадобиться более частый обход вложенных таблиц страниц, чем вы можете себе представить. Давайте предположим, что гостевой виртуальный адрес не был кэширован и требует полного поиска в таблицах страниц. Каждый уровень в страничной иерархии подвергается поиску во вложенных таблицах страниц. Иными словами, количество ссылок на память возрастает в соответствии с глубиной иерархии в квадратичной зависимости. Но даже при этом EPT существенно сокращает количество VM-выходов. Гипервизорам больше не нужно помечать гостевую таблицу страниц предназначенной только для чтения, и они могут устраниться от обработки теневых таблиц страниц. Что еще лучше, при переключении виртуальных машин гипервизор просто изменяет это отображение точно так же, как операционная система изменяет отображение при переключении процессов.

Рис. 7.6. Расширенные (вложенные) таблицы страниц, включая обращение к каждому уровню гостевых таблиц страниц, подвергаются обходу при каждом обращении к гостевой

физической странице


7.6.2.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Аппаратная поддержка вложенных таблиц страниц:

  1. ТРУД ВЛОЖЕННЫЙ
  2. Первая страница
  3. Таблица 2 Таблица баллов лучей мандалы
  4. В.Д.СИДОРОВ, Н.В.СТРУМП. АППАРАТНОЕ ОБЕСПЕЧЕНИЕ ЭВМ, 2014
  5. Н.В.СТРУМПЭ, В.Д.СИДОРОВ. АППАРАТНОЕ ОБЕСПЕЧЕНИЕ ЭВМ, 2014
  6. ТАБЛИЦА ИЗОХРОМАТИЧЕСКАЯ
  7. Таблица. Иерархия функций
  8. Таблица типов
  9. 5.2.3. Группа поддержки
  10. Таблица 5. Диапазоны излучений патогенных микрооганизмов
  11. таблица болезней и их причин
  12. Периодическая таблица переживаний
  13. Таблица 3.1. Виды нарушений в когнитивном процессе
  14. Таблица №1 На что мы тратим свое время?
  15. ВВЕДЕНИЕ: ТАБЛИЦА РЕЗУЛЬТАТОВ НАБЛЮДЕНИЯ ЗА ЛЮДЬМИ
  16. ВВЕДЕНИЕ: ТАБЛИЦА РЕЗУЛЬТАТОВ НАБЛЮДЕНИЯ ЗА ЛЮДЬМИ
  17. Моральная поддержка окружения
  18. Поддержка
  19. Поддержка
  20. ПРАВИЛО ПОДДЕРЖКИ МЕНЬШИНСТВА