Lt304888.ru

Туристические услуги

PAE

02-07-2023

Physical Address Extension (PAE) — режим работы встроенного блока управления памятью x86-совместимых процессоров, в котором используются 64-битные элементы таблиц страниц (из которых для адресации используются только 36 бит), c помощью которых процессор может адресовать 64 ГБ физической памяти (вместо 4 ГБ, адресуемых при использовании 32-разрядных таблиц), хотя каждая задача (программа) всё равно может адресовать максимум до 4 ГБ виртуальной памяти[1]. Также, в новых моделях процессоров в PAE-режиме старший бит элемента таблицы страниц отвечает за запрет исполнения кода в странице, что затрудняет атаку по методу переполнения буфера.

Впервые расширение появилось в процессоре Pentium Pro. Для использования 36-разрядной адресации памяти необходима поддержка расширения физических адресов на аппаратном уровне (можно определить по команде CPUID) и программное включение режима PAE в ОС.

Содержание

Варианты применения

  • PAE позволяет использовать более 4GB оперативной памяти в 32-битной ОС
  • выделить память урезанную 32-битной ОС - стандартным резервированием адресного пространства под драйверные аппаратные адреса - под RAM drive, обычно это от 0.5 до 0.9 GB из установленных 4GB(не говоря уже больше) - в зависимости от ОС и её версии
  • задействуя замену драйвера ОС кэширования файлов, выделить вышеуказанный потерянный объём памяти под ОС файл кэш

Проблемы

  • Из-за увеличения количества страничных уровней[2], система начинает тратить больше времени при обращении к памяти. Таким образом, если типичный объем используемый программой памяти незначительно больше 2GB, то работа без PAE может быть эффективнее.
  • Некоторые драйверы [3] несовместимы с режимом PAE
  • - кроме некоторых версий Linux, начиная с ядра ~2.6.2, где это стоит вручную выключать для задания нормальной скорости работы ПК.
  • В 32-битной windows режим включается автоматически когда система поддерживает PAE (Physical Address Extensions) и присутствует более 4 Гб памяти, и если не задать "/nopae" в boot.ini который запрещает загрузчику (NTLDR) использовать PAE-версию ядра.
  • Включение режима PAE необходимо для использования технологии DEP в 32-хбитных версиях ОС windows. Т.е. этот режим включается автоматически независимо от наличия "/nopae" - если пользователь включил запрет исполнения кода в страницах памяти (NX)

Поддержка PAE в различных ОС

Windows

Начиная с Windows XP Service Pack 2, по умолчанию, на процессорах с поддержкой технологий no-execute (NX) или execute-disable (XD) система использует PAE для возможности использования NX[4]

В 32-битных клиентах Microsoft Windows (начиная с Windows XP SP2) использование 36-битного PAE включается ключом /PAE в файле boot.ini, однако, максимальный физический адрес доступного операционной системе ОЗУ ограничен программно на уровне ядра[5]. В Windows XP это ограничение составляет 4 ГБ, 32-разрядный Windows Server 2003 Enterprise Edition поддерживает до 64 ГБ. Существуют программы, позволяющие обойти ограничение на доступную память, но их использование является нарушением лицензионного соглашения Microsoft. В случае 4 ГБ ОЗУ, память можно использовать в Windows XP почти полностью, переместив системные области адресного пространства выше 4 ГБ, такую функцию поддерживают некоторые версии BIOS. Тем не менее, согласно заявлениям Microsoft, введение 4 ГБ ограничения адресного пространства связано с отсутствующей или плохой поддержкой 36-битного адресного пространства некоторыми драйверами устройств.

Другой возможностью для использования более чем 4 гигабайт памяти является интерфейс Address Windowing Extensions.

Linux

В ядре Linux поддержка PAE имеется начиная с версии 2.3.23. Оно поддерживает до 64 Гб ОЗУ, но требует от процессора поддержки PAE. Также для включения PAE необходимо пересобрать ядро с параметром PAE. Поскольку это не всегда удобно, большинство дистрибутивов включили в свои репозитории готовые ядра с этим параметром. Также последние версии некоторых дистрибутивов поставляются с ядром с уже включенной поддержкой PAE.

FreeBSD

FreeBSD поддерживает PAE: в линейке 4.x версий — начиная с 4.9, в линейке 5.x версий — начиная с 5.1, все 6.x и более поздние. Не все драйверы поддерживают более 4 Гб ОЗУ и поэтому могут работать некорректно.

Mac OS X

В Mac OS X режим PAE включён по умолчанию при использовании 32-разрядного ядра.

Solaris

Solaris поддерживает PAE, начиная с версии 7. Однако драйверы сторонних разработчиков могут работать некорректно.

См. также

Примечания

  1. [1]
  2. Physical Address Extension
  3. Например, драйвер Microsoft Device Emulator
  4. The RAM reported by the System Properties dialog box and the System Information tool is less than you expect in Windows Vista or in Windows XP Service Pack 2 or later version
  5. Licensed Memory in Windows Vista (англ.)

Ссылки

  • Physical Address Extension — PAE Memory and Windows  (англ.)
  • Physical Address Extension
  • Поддержка памяти большого размера в Windows Server 2003 и Windows 2000
  • PAE в Ubuntu  (англ.)

PAE.

© 2020–2023 lt304888.ru, Россия, Волжский, ул. Больничная 49, +7 (8443) 85-29-01