Linux pae что такое

Linux pae что такое

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 Extension) и присутствует более 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 для возможности использования DEP [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-битного адресного пространства некоторыми драйверами устройств.

Читайте также:  Агент ключей ssh linux mint

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

Другой возможностью для использования более чем 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. часть адресного пространства, обычно от 0.9 до 2 ГБ резервируется под нужды ОС и недоступны приложению, см en:3 GB barrier, [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 (англ.)

Ссылки

Wikimedia Foundation . 2010 .

Полезное

Смотреть что такое «PAE» в других словарях:

  • PAE — or PAE may refer to: Contents 1 Science and technology 2 People 3 Places … Wikipedia
  • PAE — ist die Abkürzung für: Flughafen Everett (Paine Field) im US Bundesstaat Washington (IATA Code) Physical Address Extension ist eine technische Erweiterung aus dem Gebiet der Rechnerarchitektur Personal Accidents and Effects bei Autovermietungen… … Deutsch Wikipedia
  • Pae — ist die Abkürzung für: Flughafen Everett (Paine Field) im US Bundesstaat Washington (IATA Code) Physical Address Extension ist eine technische Erweiterung aus dem Gebiet der Rechnerarchitektur Personal Accidents and Effects bei Autovermietungen… … Deutsch Wikipedia
  • PAE — es un acrónimo que puede significar: Pequeño Aparato Electrodoméstico Píldora Anticonceptiva de Emergencia Proceso de Atención de Enfermería Producción Agroalimentaria Ecológica Portal de Administración Electrónica Prueba de Aptitud Escolar… … Wikipedia Español
  • pae|an — «PEE uhn», noun. 1. a song of praise, thanksgiving, joy, or triumph: »Loud paeans chanted through the valley announced the approach of the victors (Herman Melville). He ended with a fervent paean to the country he had served so long (Newsweek).… … Useful english dictionary
  • pae|o|ny — «PEE uh nee», noun, plural nies. Especially British. peony … Useful english dictionary
  • pae|on — «PEE uhn», noun. (in Greek and Latin verse) a foot of four syllables, one long and three short. The long syllable may come anywhere in the foot. ╂[< Latin paeon < Greek pei , pai paean] … Useful english dictionary
  • pae — gym·no·pae·dia; hy·pae·thral; pae·dog·a·mous; pae·dog·a·my; pae·do·genesis; pae·do·ge·net·ic; pae·do·mor·phic; pae·do·mor·phism; pae·do·mor·pho·sis; pae·do·mor·phy; pae·do·tribe; pae·nu·la; pae·on; pae·o·nia; pae·o·ni·a·ce·ae; pae·o·ny; pae·pae;… … English syllables
  • PAE — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sigles d’une seule lettre Sigles de deux lettres > Sigles de trois lettres Sigles de quatre lettres … Wikipédia en Français
  • PAE — abbr. Physical Address Extension (Intel, Pentium, PAE) … United dictionary of abbreviations and acronyms
Читайте также:  Команды для форматирования linux

Источник

What is Kernel-PAE in Linux ?

The Physical Address Extension (PAE) is a feature implemented in modern x86 processors. PAE extends memory addressing capabilities, allowing more than 4 GB of random access memory (RAM) to be used.

NOTE: All the Linux machine with kernel version above 2.3.23 supports PAE kernel.

From Wiki
With PAE, IA-32 architecture is augmented with additional address lines used to select the additional memory, so physical address size increases from 32 bits to 36 bits. This increases the physical memory addressable by the system from 4 GB to 64 GB. The 32-bit size of the virtual address is not changed, so regular application software continues to use instructions with 32-bit addresses and (in a flat memory model) is limited to 4 gigabytes of virtual address space. Operating systems supporting this mode use page tables to map the regular 4 GB address space into the physical memory, which depending on the operating system may be as big as 64 GB. The mapping is typically applied separately for each process, so that the extra memory is useful even though no single regular application can access it all simultaneously.

You can verify whether your processor supports PAE using the below command
$ cat /proc/cpuinfo | grep flags | grep pae

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm
If you don’t see an output it means PAE kernel is not supported by your processor. As you need to look for » pae «under flags.

Источник

Kernel/PAE

Внимание! Настоящая статья устарела и описывает положение вещей примерно на 2009 год (с правками форматирования текста до 2015 года). Такого флейвора ядра у нас больше нет.

PAE (Intel Physical Address Extension)

Что такое PAE и почему им не следует пользоваться?

Это очередной аппаратный хак, который позволяет 32-битным процессорам работать с памятью за пределами 32-битного адресного пространства.

Читайте также:  Linux ubuntu driver wifi

В ALT Linux 4.0+ поддержка PAE включена в некоторых 32-битных (i586) ядрах; на весну 2008 основное из них — std-pae.

Мнения специалистов

Repeat after me: virtual space needs to be bigger than physical space. Not "as big". Not "smaller". It needs to be bigger, by a factor of at least two, and that's quite frankly pushing it, and you're much better off having a factor of ten or more. [. ] So you could allocate user pages in it, but you had huge problems with things like internal kernel data structures, which can be the bulk of your memory needs under some (not that unusual) loads. Directory caches, inodes, etc couldn't use it, and in general it meant that under Linux, if you had more than 4GB of physical memory, you generally ran into problems (since only 25% of memory was availble for normal kernel stuff - the rest had to be addressed through small holes in the tiny virtual address space). [. ] So no, PAE does not mean that you can use more than 4GB of RAM. Even before PAE, the practical limit was around 1GB, and PAE didn't move that post a fraction of an inch!
Ядра std-smp и std-pae отличаются только одной опцией конфигурации: в std-smp используется HIGHMEM4G, а в std-pae - HIGHMEM64G. (Дифф между конфигами больше одной строки, поскольку там показываются и зависимые опции, которые устанавливаются автоматически.) Необходимость сборки двух вариантов ядра для i586 вызвана тем, что ядро, собранное с HIGHMEM4G, не может использовать более 4GB RAM, зато работает на всех процессорах >= i586, в то время как ядро, собранное с HIGHMEM64G, может использовать до 64GB RAM, но не работает на процессорах, не поддерживающих режим PAE (поддержка PAE появилась начиная с Pentium Pro, кроме того, первые варианты Pentium M также не поддерживают PAE). На самом деле пакеты ядер std-pae должны были бы иметь архитектуру i686, а не i586, но я не знаю, есть ли способ заставить incoming пересобирать пакеты именно таким образом. Для архитектуры x86_64 всё это неактуально, поэтому вариант std-pae существует только на i586.
Вообще ядро std-pae действительно нужно использовать только при наличии как минимум 4G RAM; в остальных случаях устанавливать его обычно не имеет смысла (разве что очень хочется использовать в 32-разрядном ядре имеющуюся в процессоре поддержку NX (запрет исполнения кода на уровне страниц) - эта возможность поддерживается только при использовании PAE). К сожалению, именно на этом ядре swsusp работать не может - реализация swsusp в 2.6.18 на i386 несовместима с PAE. Для использования swsusp придётся установить вариант ядра std-smp (релизы std-smp и std-pae с одинаковыми номерами отличаются только конфигурацией - в std-pae включена опция HIGHMEM64G, в std-smp - HIGHMEM4G).

Ссылки

Источник

Оцените статью
Adblock
detector