PAE
Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od
verze recenzované 15. května 2022; ověření vyžaduje
1 úpravu .
PAE ( Physical Address Extension ) je režim provozu vestavěné jednotky správy paměti procesorů kompatibilních s x86 , který používá 64bitové položky tabulky stránek (z nichž pouze 36 bitů se používá pro adresování), se kterými může procesor adresa 64 GB fyzické paměti (místo 4 GB adresovatelných při použití 32bitových tabulek), i když každá úloha (program) může stále adresovat maximálně 4 GB virtuální paměti [1] . V nových modelech procesorů v režimu PAE je také vysoký bit prvku tabulky stránek zodpovědný za zablokování provádění kódu na stránce, což ztěžuje útok metodou přetečení vyrovnávací paměti .
Rozšíření se poprvé objevilo v procesoru Pentium Pro . Pro použití 36bitového adresování paměti je nutné podporovat rozšíření fyzických adres na softwarové úrovni (povolení režimu PAE v OS ) a hardwaru: je vyžadována podpora ze strany procesoru i základní desky (lze určit podle CPUID příkaz). Základní desky s podporou PAE byly obecně drahé a určené pro servery. [2] .
Aplikace
- PAE umožňuje používat více než 4 GB RAM v 32bitovém OS.
- PAE je vyžadován pro podporu NX [3] na 32bitovém systému.
Problémy
- Kvůli nárůstu počtu úrovní stránek [4] začíná systém trávit více času přístupem do paměti. Pokud je tedy typické množství paměti používané programem o něco více než 2 GB, může být práce bez PAE efektivnější.
- Některé ovladače [5] nejsou kompatibilní s režimem PAE.
- V 32bitovém systému Windows je režim povolen automaticky, když systém podporuje PAE (Physical Address Extension) a je k dispozici více než 4 GB paměti a pokud v boot.ini není nastaveno "noexecute=alwaysoff /nopae", což zabraňuje bootloader (NTLDR) z použití PAE -kernel verze.
- Pokud uživatel povolil zákaz spouštění kódu na stránkách paměti ( NX , technologie DEP ), pak se režim PAE v 32bitových verzích OS Windows povolí automaticky [6] , bez ohledu na přítomnost „/nopae“.
Počínaje Windows XP Service Pack 2, ve výchozím nastavení na procesorech bez spuštění (NX) nebo spouštění se zákazem spuštění (XD) systém používá PAE, aby bylo možné použít funkci DEP [7] .
V 32bitových klientech Microsoft Windows (počínaje Windows XP SP2) je použití 36bitového PAE povoleno klíčem /PAE v souboru boot.ini , nicméně maximální fyzická adresa paměti RAM dostupná operačnímu systému je uměle omezena na úrovni jádra z marketingových důvodů [8] . V systému Windows XP je tento limit 4 GB, 32bitový systém Windows Server 2003 Enterprise Edition podporuje až 64 GB. Existují programy, které umožňují obejít limit dostupné paměti [9] , ale jejich použití je porušením licenční smlouvy Microsoftu [10] . V případě 4 GB RAM lze paměť v systému Windows XP téměř úplně využít přesunem oblastí adresního prostoru systému nad 4 GB, což je funkce podporovaná některými verzemi systému BIOS. Podle Microsoftu je však zavedení limitu 4GB adresního prostoru způsobeno nedostatkem nebo špatnou podporou 36bitového adresního prostoru některými ovladači zařízení [11] .
Jedním z minimálních systémových požadavků pro Windows 8 je, že procesor musí podporovat PAE.
Další možností využití více než 4 GB paměti je rozhraní Address Windowing Extensions .
Běžné 32bitové verze Windows podporují až 4-8 GB RAM, Datacenter - až 32-64. Ve verzích Starter Windows XP a Vista je limit 0,5–1 GB [12] .
Také pro 32bitové aplikace ve Windows můžete použít speciální patcher , který odstraní limit 2 GB RAM, aniž byste jej museli znovu kompilovat. Použitelné pro 32bitové aplikace v 64bitovém prostředí Windows s podobným účelem. To je potřeba hlavně pro zvětšení adresního prostoru 32bitových aplikací, protože ty jsou omezeny na výše zmíněné 2 GB na proces [13] . Stojí za zmínku, že tato metoda ne vždy funguje a aplikace se může přestat spouštět. V některých případech může takto záplatovaná aplikace zvýšit svůj výkon, například rychlost spouštění úrovně v některých hrách.
Linuxové jádro má plnou podporu pro PAE od verze 2.3.23 (1999) [ 14] . Podporuje 36bitové fyzické adresování – až 64 GB RAM . Chcete-li spustit jádro sestavené s podporou PAE (volba CONFIG_X86_PAE=y ), je vyžadován procesor s touto funkcí; bootování na dřívějších procesorech, jako je Pentium Pro nebo Pentium M, není možné. Mnoho distribucí se buď dodává s volitelným balíčkem jádra PAE, nebo jej používá ve výchozím nastavení. Například od roku 2009 Fedora přešla na jádro PAE [15] V roce 2012 některé distribuce, jako RHEL 6 a Ubuntu 12.10, přestaly dodávat jádra, která nejsou PAE [16] [17] . Fedora a Debian pokračují v distribuci jak PAE, tak non-PAE verzí jádra [18] [19] .
Pro podporu funkčnosti NX (dostupné od jader 2.6.8) je vyžadováno povolení PAE [20] [21] .
FreeBSD podporuje PAE: v řadě 4.x od 4.9, v řadě 5.x od 5.1, všechny 6.xa novější. Ne všechny ovladače podporují více než 4 GB RAM , a proto nemusí fungovat správně.
V systému Mac OS X je režim PAE při použití 32bitového jádra standardně povolen.
Solaris podporuje PAE od verze 7. Ovladače třetích stran však nemusí fungovat správně.
Viz také
Poznámky
- ↑ část adresního prostoru, obvykle od 0,9 do 2 GB, je vyhrazena pro potřeby operačního systému a není pro aplikaci dostupná, viz bariéra 3 GB , [1] Archivováno 6. ledna 2014 na Wayback Machine
- ↑ Intel Corporation. Čipová sada Intel 4 GB Podpora systémové paměti (pdf). Pentium Pro Family Developer's Manual 7 (únor 2005). - "V jednoprocesorových systémech pro mobilní zařízení, stolní počítače, pracovní stanice a servery základní úrovně mohou být čipové sady omezeny na 4 GB maximální paměti. V dnešních dvouprocesorových serverových čipsetech a pracovních stanicích Intel může být maximální velikost systémové paměti až 16 GB.". Archivováno z originálu 28. října 2014. (neurčitý)
- ↑ Jamie Adams. Ochrana Linuxu proti přetečení Exploits (anglicky) (downlink) . infosec (23. září 2010). - "Většina linuxových distribucí obsahuje podporu NX s jádrem s povoleným PAE (kernel-PAE). Někteří lidé však jádro rozšíření fyzické adresy (PAE) neinstalují, protože si myslí, že jde pouze o podporu fyzické paměti nad 4 GB.". Získáno 27. listopadu 2013. Archivováno z originálu 3. prosince 2013.
- ↑ Rozšíření fyzické adresy . Získáno 1. listopadu 2011. Archivováno z originálu 28. října 2011. (neurčitý)
- ↑ Například ovladač Microsoft Device Emulator
- ↑ Rozšíření fyzické adresy – Paměť PAE a Windows . Datum přístupu: 23. prosince 2013. Archivováno z originálu 24. prosince 2013. (neurčitý)
- ↑ RAM hlášená v dialogovém okně Vlastnosti systému a nástrojem Systémové informace je menší, než byste očekávali ve Windows Vista nebo Windows XP Service Pack 2 nebo novější verzi . Získáno 2. prosince 2009. Archivováno z originálu dne 4. června 2011. (neurčitý)
- ↑ Licencovaná paměť ve Windows Vista archivována 12. dubna 2022 na Wayback Machine // Geoff Chappell, 2012
- ↑ Jak používat plnou 4GB RAM ve Windows 7 32 Bit (Gavotte RAMDisk ve Windows 7) | Domovská stránka Jense Schefflera . Datum přístupu: 26. prosince 2013. Archivováno z originálu 6. února 2014. (neurčitý)
- ↑ Geoff Chappell – softwarový analytik. Licencovaná paměť v 32bitovém systému Windows Vista . — „Že 32bitové edice Windows počínaje Windows Vista jsou omezeny na 4 GB...Všechny 32bitové edice Windows Vista a Windows 7 obsahují kód pro použití fyzické paměti nad 4 GB. Microsoft vám prostě nelicencuje tento kód používat." Datum přístupu: 26. prosince 2013. Archivováno z originálu 10. prosince 2013.
- ↑ Ještě jednou o Windows a čtyřech gigabajtech Archivní kopie z 24. prosince 2013 na Wayback Machine // IXBT 8. srpna 2012 Igor Petrovič Leiko
- ↑ Omezení paměti pro verze Windows . Microsoft (25. března 2010). Získáno 5. dubna 2010. Archivováno z originálu 20. června 2009. (neurčitý)
- ↑ Breaking the Limits of Windows: Virtual Memory (anglicky) , Mark Russinovich v ruštině . Archivováno z originálu 30. listopadu 2018. Staženo 29. listopadu 2018.
- ↑ 2.3.23-pre4 x86 64 GB RAM změny [HIGHMEM patch] trochu vysvětleny . Získáno 27. listopadu 2013. Archivováno z originálu 10. ledna 2014. (neurčitý)
- ↑ Specifika x86 pro Fedoru 11 . Získáno 27. listopadu 2013. Archivováno z originálu 10. května 2013. (neurčitý)
- ↑ Povolení PAE . Získáno 28. dubna 2013. Archivováno z originálu 13. března 2011. (neurčitý)
- ↑ Poznámky k vydání RHEL 6, 12.6. Obecné aktualizace jádra 12.6.1. Rozšíření fyzické adresy (PAE) . červená čepice. - "Výchozí jádro dodávané s architekturou x86 verze Red Hat Enterprise Linux 6 má povoleno PAE. Procesor s podporou PAE je minimálním požadavkem pro x86 variantu Red Hat Enterprise Linux 6.". Získáno 27. listopadu 2013. Archivováno z originálu 3. prosince 2013. (neurčitý)
- ↑ Features/ArchitectureSupport Archived 3. prosince 2013 na Wayback Machine // Fedora
- ↑ Kapitola 29. Ruční aktualizace jádra Archivována 3. června 2014 na Wayback Machine // Dokumentace Fedory 12: "29.1. Přehled balíčků jádra»
- ↑ Professional Linux Kernel Architecture Archived 5. prosince 2013 na Wayback Machine , Obrázek 3.16 Tok kódu pro paging_init , „Execute Disable Protection je také povolena, pokud je podporována procesorem a pokud bylo jádro zkompilováno s podporou PAE; Jinak tato funkce bohužel není dostupná.“
- ↑ korbet . Podpora x86 NX , LWN (2. června 2004). Archivováno z originálu 2. prosince 2013. Staženo 27. listopadu 2013.
Odkazy