PAE

Поделись знанием:
Перейти к: навигация, поиск

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

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





Применение

  • PAE позволяет использовать более 4 ГБ оперативной памяти в 32-битной ОС.
  • PAE требуется для поддержки NX[3].

Проблемы

  • Из-за увеличения количества страничных уровней[4] система начинает тратить больше времени при обращении к памяти. Таким образом, если типичный объём используемый программой памяти незначительно больше 2 ГБ, то работа без PAE может быть эффективнее.
  • Некоторые драйверы[5] несовместимы с режимом PAE.
  • В 32-битной Windows режим включается автоматически, когда система поддерживает PAE (Physical Address Extension) и присутствует более 4 ГБ памяти, и, если не задать «noexecute=alwaysoff /nopae» в boot.ini, который запрещает загрузчику (NTLDR) использовать PAE-версию ядра.
  • Если пользователь включил запрет исполнения кода в страницах памяти (NX, технология DEP), то режим PAE в 32-битных версиях ОС Windows включается автоматически[6], независимо от наличия «/nopae».

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

Windows

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

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

Одним из пунктов минимальных системных требований Windows 8 является обязательная поддержка процессором PAE.

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

Обычные 32-битные версии Windows поддерживают до 4—8 ГБ ОЗУ, Datacenter до 32—64. В Starter версиях Windows XP и Vista — ограничение в 0,5—1 ГБ[12].

Linux

В ядре Linux полная поддержка PAE имеется начиная с версии 2.3.23 (1999)[13]. Оно поддерживает 36-битную физическую адресацию — до 64 ГБ ОЗУ. Для запуска ядра, собранного с поддержкой PAE (опция CONFIG_X86_PAE=y), требуется процессор с данной функцией; загрузка на более ранних процессорах, таких как Pentium Pro или Pentium M невозможна. Многие дистрибутивы поставляются либо с дополнительным пакетом PAE-ядра, либо используют такое ядро по умолчанию. Например, с 2009 Fedora перешла на PAE-ядро[14] В 2012 году некоторые дистрибутивы, например RHEL 6 и Ubuntu 12.10, прекратили поставку ядер без поддержки PAE[15][16]. Fedora и Debian продолжают распространение как PAE так и не PAE версий ядра[17][18].

Включение PAE необходимо для поддержки функциональности NX (доступна с ядер 2.6.8)[19][20].

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. Однако драйверы сторонних разработчиков могут работать некорректно.

См. также

Напишите отзыв о статье "PAE"

Примечания

  1. часть адресного пространства, обычно от 0,9 до 2 ГБ резервируется под нужды ОС и недоступны приложению, см 3 GB barrier, [msdn.microsoft.com/en-us/library/windows/desktop/aa366778(v=vs.85).aspx]
  2. Intel Corporation. [web.archive.org/web/20141028225318/dlsvr01.asus.com/pub/ASUS/mb/4GB_Rev1.pdf Intel Chipset 4 GB System Memory Support] (pdf). Pentium Pro Family Developer’s Manual (February 2005). — «In uni-processor based systems for mobile, desktop, workstation, and entry level servers, chipsets may be limited to 4 GB of maximum memory. In today’s dual processor Intel server chipsets and workstations, maximum system memory size can be upwards of 16 GB.»
  3. Jamie Adams. [www.infosecisland.com/blogview/8211-Protecting-Linux-Against-Overflow-Exploits.html Protecting Linux Against Overflow Exploits] (англ.). infosec (September 23, 2010). — «Most Linux distributions bundle NX support with a PAE-enabled kernel (kernel-PAE). However, some people don't install the Physical Address Extension (PAE) kernel because they think it is just to provide support for physical memory above 4GB.»  Проверено 27 ноября 2013.
  4. [msdn.microsoft.com/en-us/library/windows/desktop/aa366796(v=vs.85).aspx Physical Address Extension]
  5. Например, драйвер Microsoft Device Emulator
  6. [msdn.microsoft.com/en-us/windows/hardware/gg487503.aspx Physical Address Extension — PAE Memory and Windows]
  7. [support.microsoft.com/kb/888137 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]
  8. [www.geoffchappell.com/viewer.htm?doc=notes/windows/license/memory.htm Licensed Memory in Windows Vista] // Geoff Chappell, 2012  (англ.)
  9. [www.jensscheffler.de/using-gavotte-ramdisk-in-windows-7 How to use full 4GB RAM in Windows 7 32 Bit (Gavotte RAMDisk in Windows 7) | Homepage of Jens Scheffler]
  10. Geoff Chappell - Software Analyst. [www.geoffchappell.com/notes/windows/license/memory.htm Licensed Memory in 32-Bit Windows Vista] (англ.). — «That 32-bit editions of Windows starting with Windows Vista are limited to 4GB ...The 32-bit editions of Windows Vista and Windows 7 all contain code for using physical memory above 4GB. Microsoft just doesn’t license you to use that code.»  Проверено 26 декабря 2013.
  11. [www.ixbt.com/soft/windows-4gb-2.shtml Еще раз про Windows и четыре гигабайта] // IXBT 8 августа 2012 г. Игорь Петрович Лейко
  12. [msdn.microsoft.com/en-us/library/aa366778.aspx Memory Limits for Windows Releases]. Microsoft (March 25, 2010). Проверено 5 апреля 2010.
  13. [lkml.indiana.edu/hypermail/linux/kernel/9910.2/0542.html 2.3.23-pre4 x86 64 GB RAM changes [HIGHMEM patch] explained a bit].
  14. [docs.fedoraproject.org/en-US/Fedora/11/html/Release_Notes/sect-Release_Notes-Architecture_Specific_Notes.html#sect-Release_Notes-x86_Specifics_for_Fedora x86 Specifics for Fedora 11].
  15. [help.ubuntu.com/community/EnablingPAE EnablingPAE]. Проверено 28 апреля 2013.
  16. [access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/6.0_Release_Notes/kernel.html RHEL 6 Release Notes, 12.6. General Kernel Updates 12.6.1. Physical Address Extension (PAE)]. RedHat. — «The default kernel shipped with the x86 architecture version of Red Hat Enterprise Linux 6 is PAE enabled. A PAE enabled processor is a minimum requirement for the x86 variant of Red Hat Enterprise Linux 6.»  Проверено 27 ноября 2013.
  17. [fedoraproject.org/wiki/Features/ArchitectureSupport Features/ArchitectureSupport] // Fedora
  18. [docs.fedoraproject.org/en-US/Fedora/12/html/Deployment_Guide/ch-kernel.html Chapter 29. Manually Upgrading the Kernel] // Fedora 12 Documentation: «29.1. Overview of Kernel Packages»
  19. [books.google.ru/books?id=-6zvRFEfQ24C Professional Linux Kernel Architecture], Figure 3.16 Code flow for paging_init, «Execute Disable Protection is also enabled if supported by processor and if the kernel was compiled with PAE support; unfortunately, the feature is otherwise not available.»
  20. corbet. [lwn.net/Articles/87814/ x86 NX support], LWN (June 2, 2004). Проверено 27 ноября 2013.

Ссылки

  • [www.microsoft.com/whdc/system/platform/server/PAE/PAEdrv.mspx Physical Address Extension — PAE Memory and Windows]  (англ.)
  • [msdn.microsoft.com/en-us/library/windows/desktop/aa366796(v=vs.85).aspx Physical Address Extension]
  • [support.microsoft.com/kb/283037/ru Поддержка памяти большого размера в Windows Server 2003 и Windows 2000]
  • [help.ubuntu.com/community/EnablingPAE PAE в Ubuntu]  (англ.)

Отрывок, характеризующий PAE

– Боже мой! Что это? Зачем он здесь? – сказал себе князь Андрей.
В несчастном, рыдающем, обессилевшем человеке, которому только что отняли ногу, он узнал Анатоля Курагина. Анатоля держали на руках и предлагали ему воду в стакане, края которого он не мог поймать дрожащими, распухшими губами. Анатоль тяжело всхлипывал. «Да, это он; да, этот человек чем то близко и тяжело связан со мною, – думал князь Андрей, не понимая еще ясно того, что было перед ним. – В чем состоит связь этого человека с моим детством, с моею жизнью? – спрашивал он себя, не находя ответа. И вдруг новое, неожиданное воспоминание из мира детского, чистого и любовного, представилось князю Андрею. Он вспомнил Наташу такою, какою он видел ее в первый раз на бале 1810 года, с тонкой шеей и тонкими рукамис готовым на восторг, испуганным, счастливым лицом, и любовь и нежность к ней, еще живее и сильнее, чем когда либо, проснулись в его душе. Он вспомнил теперь ту связь, которая существовала между им и этим человеком, сквозь слезы, наполнявшие распухшие глаза, мутно смотревшим на него. Князь Андрей вспомнил все, и восторженная жалость и любовь к этому человеку наполнили его счастливое сердце.
Князь Андрей не мог удерживаться более и заплакал нежными, любовными слезами над людьми, над собой и над их и своими заблуждениями.
«Сострадание, любовь к братьям, к любящим, любовь к ненавидящим нас, любовь к врагам – да, та любовь, которую проповедовал бог на земле, которой меня учила княжна Марья и которой я не понимал; вот отчего мне жалко было жизни, вот оно то, что еще оставалось мне, ежели бы я был жив. Но теперь уже поздно. Я знаю это!»


Страшный вид поля сражения, покрытого трупами и ранеными, в соединении с тяжестью головы и с известиями об убитых и раненых двадцати знакомых генералах и с сознанием бессильности своей прежде сильной руки произвели неожиданное впечатление на Наполеона, который обыкновенно любил рассматривать убитых и раненых, испытывая тем свою душевную силу (как он думал). В этот день ужасный вид поля сражения победил ту душевную силу, в которой он полагал свою заслугу и величие. Он поспешно уехал с поля сражения и возвратился к Шевардинскому кургану. Желтый, опухлый, тяжелый, с мутными глазами, красным носом и охриплым голосом, он сидел на складном стуле, невольно прислушиваясь к звукам пальбы и не поднимая глаз. Он с болезненной тоской ожидал конца того дела, которого он считал себя причиной, но которого он не мог остановить. Личное человеческое чувство на короткое мгновение взяло верх над тем искусственным призраком жизни, которому он служил так долго. Он на себя переносил те страдания и ту смерть, которые он видел на поле сражения. Тяжесть головы и груди напоминала ему о возможности и для себя страданий и смерти. Он в эту минуту не хотел для себя ни Москвы, ни победы, ни славы. (Какой нужно было ему еще славы?) Одно, чего он желал теперь, – отдыха, спокойствия и свободы. Но когда он был на Семеновской высоте, начальник артиллерии предложил ему выставить несколько батарей на эти высоты, для того чтобы усилить огонь по столпившимся перед Князьковым русским войскам. Наполеон согласился и приказал привезти ему известие о том, какое действие произведут эти батареи.
Адъютант приехал сказать, что по приказанию императора двести орудий направлены на русских, но что русские все так же стоят.
– Наш огонь рядами вырывает их, а они стоят, – сказал адъютант.
– Ils en veulent encore!.. [Им еще хочется!..] – сказал Наполеон охриплым голосом.
– Sire? [Государь?] – повторил не расслушавший адъютант.
– Ils en veulent encore, – нахмурившись, прохрипел Наполеон осиплым голосом, – donnez leur en. [Еще хочется, ну и задайте им.]
И без его приказания делалось то, чего он хотел, и он распорядился только потому, что думал, что от него ждали приказания. И он опять перенесся в свой прежний искусственный мир призраков какого то величия, и опять (как та лошадь, ходящая на покатом колесе привода, воображает себе, что она что то делает для себя) он покорно стал исполнять ту жестокую, печальную и тяжелую, нечеловеческую роль, которая ему была предназначена.
И не на один только этот час и день были помрачены ум и совесть этого человека, тяжеле всех других участников этого дела носившего на себе всю тяжесть совершавшегося; но и никогда, до конца жизни, не мог понимать он ни добра, ни красоты, ни истины, ни значения своих поступков, которые были слишком противоположны добру и правде, слишком далеки от всего человеческого, для того чтобы он мог понимать их значение. Он не мог отречься от своих поступков, восхваляемых половиной света, и потому должен был отречься от правды и добра и всего человеческого.
Не в один только этот день, объезжая поле сражения, уложенное мертвыми и изувеченными людьми (как он думал, по его воле), он, глядя на этих людей, считал, сколько приходится русских на одного француза, и, обманывая себя, находил причины радоваться, что на одного француза приходилось пять русских. Не в один только этот день он писал в письме в Париж, что le champ de bataille a ete superbe [поле сражения было великолепно], потому что на нем было пятьдесят тысяч трупов; но и на острове Св. Елены, в тиши уединения, где он говорил, что он намерен был посвятить свои досуги изложению великих дел, которые он сделал, он писал:
«La guerre de Russie eut du etre la plus populaire des temps modernes: c'etait celle du bon sens et des vrais interets, celle du repos et de la securite de tous; elle etait purement pacifique et conservatrice.
C'etait pour la grande cause, la fin des hasards elle commencement de la securite. Un nouvel horizon, de nouveaux travaux allaient se derouler, tout plein du bien etre et de la prosperite de tous. Le systeme europeen se trouvait fonde; il n'etait plus question que de l'organiser.
Satisfait sur ces grands points et tranquille partout, j'aurais eu aussi mon congres et ma sainte alliance. Ce sont des idees qu'on m'a volees. Dans cette reunion de grands souverains, nous eussions traites de nos interets en famille et compte de clerc a maitre avec les peuples.
L'Europe n'eut bientot fait de la sorte veritablement qu'un meme peuple, et chacun, en voyageant partout, se fut trouve toujours dans la patrie commune. Il eut demande toutes les rivieres navigables pour tous, la communaute des mers, et que les grandes armees permanentes fussent reduites desormais a la seule garde des souverains.
De retour en France, au sein de la patrie, grande, forte, magnifique, tranquille, glorieuse, j'eusse proclame ses limites immuables; toute guerre future, purement defensive; tout agrandissement nouveau antinational. J'eusse associe mon fils a l'Empire; ma dictature eut fini, et son regne constitutionnel eut commence…
Paris eut ete la capitale du monde, et les Francais l'envie des nations!..
Mes loisirs ensuite et mes vieux jours eussent ete consacres, en compagnie de l'imperatrice et durant l'apprentissage royal de mon fils, a visiter lentement et en vrai couple campagnard, avec nos propres chevaux, tous les recoins de l'Empire, recevant les plaintes, redressant les torts, semant de toutes parts et partout les monuments et les bienfaits.
Русская война должна бы была быть самая популярная в новейшие времена: это была война здравого смысла и настоящих выгод, война спокойствия и безопасности всех; она была чисто миролюбивая и консервативная.