PAE
Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită pe 15 mai 2022; verificarea necesită
1 editare .
Physical Address Extension (PAE) este un mod de operare al unității de gestionare a memoriei încorporate a procesoarelor compatibile x86 , care utilizează intrări de tabel de pagină de 64 de biți (din care doar 36 de biți sunt utilizați pentru adresare), cu care procesorul poate adresează 64 GB de memorie fizică (în loc de 4 GB adresabili atunci când se utilizează tabele pe 32 de biți), deși fiecare sarcină (program) poate adresa în continuare maxim 4 GB de memorie virtuală [1] . De asemenea, în modelele noi de procesoare în modul PAE, bitul înalt al elementului tabelului de pagină este responsabil pentru interzicerea execuției codului în pagină, ceea ce face dificilă atacul prin metoda buffer overflow .
Extensia a apărut pentru prima dată în procesorul Pentium Pro . Pentru a utiliza adresarea memoriei pe 36 de biți, este necesar să se susțină extinderea adreselor fizice la nivel de software (activând modul PAE în sistemul de operare ) și hardware: suportul este necesar atât de la procesor, cât și de la placa de bază (poate fi determinat de CPUID-ul) comanda). Plăcile de bază cu suport PAE erau în general scumpe și destinate serverelor. [2] .
Aplicație
- PAE vă permite să utilizați mai mult de 4 GB de RAM într-un sistem de operare pe 32 de biți.
- PAE este necesar pentru a suporta NX [3] pe un sistem pe 32 de biți.
Probleme
- Datorită creșterii numărului de niveluri de pagină [4] , sistemul începe să petreacă mai mult timp accesând memorie. Astfel, dacă cantitatea obișnuită de memorie utilizată de program este puțin mai mare de 2 GB, atunci lucrul fără PAE poate fi mai eficient.
- Unele drivere [5] nu sunt compatibile cu modul PAE.
- Pe Windows pe 32 de biți, modul este activat automat atunci când sistemul acceptă PAE (Physical Address Extension) și este prezentă mai mult de 4 GB de memorie și dacă „noexecute=alwaysoff /nopae” nu este setat în boot.ini, ceea ce împiedică bootloader-ul (NTLDR) să utilizeze versiunea PAE -kernel.
- Dacă utilizatorul a activat interzicerea executării codului în paginile de memorie ( NX , tehnologie DEP ), atunci modul PAE în versiunile pe 32 de biți ale sistemului de operare Windows este activat automat [6] , indiferent de prezența „/nopae”.
Începând cu Windows XP Service Pack 2, în mod implicit, pe procesoarele fără execuție (NX) sau cu dezactivare execuție (XD), sistemul utilizează PAE pentru a putea folosi DEP [7] .
În clienții Microsoft Windows pe 32 de biți (începând cu Windows XP SP2), utilizarea PAE pe 36 de biți este activată de cheia /PAE din fișierul boot.ini , cu toate acestea, adresa fizică maximă a RAM disponibilă pentru sistemul de operare este limitată artificial la nivelul nucleului din motive de marketing [8] . În Windows XP, această limită este de 4 GB, Windows Server 2003 Enterprise Edition pe 32 de biți acceptă până la 64 GB. Există programe care vă permit să ocoliți limita de memorie disponibilă [9] , dar utilizarea lor reprezintă o încălcare a acordului de licență Microsoft [10] . În cazul a 4 GB de RAM, memoria poate fi utilizată aproape complet în Windows XP prin mutarea zonelor de spațiu de adrese ale sistemului de peste 4 GB, o caracteristică acceptată de unele versiuni de BIOS. Cu toate acestea, conform Microsoft, introducerea limitei de spațiu de adrese de 4 GB se datorează lipsei sau suportului slab pentru spațiul de adrese de 36 de biți de către unele drivere de dispozitiv [11] .
Una dintre cerințele minime de sistem pentru Windows 8 este că procesorul trebuie să accepte PAE.
O altă posibilitate de utilizare a mai mult de 4 gigaocteți de memorie este interfața Address Windowing Extensions .
Versiunile obișnuite de Windows pe 32 de biți acceptă până la 4-8 GB de RAM, Datacenter - până la 32-64. În versiunile Starter ale Windows XP și Vista, limita este de 0,5–1 GB [12] .
De asemenea, pentru aplicațiile pe 32 de biți din Windows, puteți folosi un patcher special care elimină limita de 2 GB RAM fără a fi nevoie să o recompilați. Aplicabil pentru aplicații pe 32 de biți într-un mediu Windows pe 64 de biți cu un scop similar. Acest lucru este necesar în principal pentru a mări spațiul de adrese al aplicațiilor pe 32 de biți, deoarece acestea sunt limitate la cei 2 GB menționați mai sus per proces [13] . Este demn de remarcat faptul că această metodă nu funcționează întotdeauna și aplicația poate înceta să pornească. În unele cazuri, o aplicație corectată în acest fel își poate crește performanța, cum ar fi viteza cu care începe un nivel în unele jocuri.
Nucleul Linux are suport complet pentru PAE începând cu versiunea 2.3.23 (1999) [ 14] . Acceptă adresarea fizică pe 36 de biți - până la 64 GB de RAM . Pentru a rula un nucleu construit cu suport PAE (opțiunea CONFIG_X86_PAE=y ), este necesar un procesor cu această caracteristică; pornirea pe procesoare anterioare, cum ar fi Pentium Pro sau Pentium M, nu este posibilă. Multe distribuții fie vin cu un pachet opțional de nucleu PAE, fie folosesc unul implicit. De exemplu, din 2009 Fedora a trecut la un nucleu PAE [15] În 2012, unele distribuții, cum ar fi RHEL 6 și Ubuntu 12.10, au oprit livrarea nucleelor non-PAE [16] [17] . Fedora și Debian continuă să distribuie atât versiuni PAE, cât și non-PAE ale nucleului [18] [19] .
Activarea PAE este necesară pentru a suporta funcționalitatea NX (disponibilă începând cu nucleele 2.6.8) [20] [21] .
FreeBSD acceptă PAE: în linia 4.x de la 4.9, în linia 5.x de la 5.1, toate 6.x și mai târziu. Nu toate driverele acceptă mai mult de 4 GB de RAM și, prin urmare, este posibil să nu funcționeze corect.
Pe Mac OS X , modul PAE este activat în mod implicit când se utilizează nucleul pe 32 de biți.
Solaris acceptă PAE încă din versiunea 7. Cu toate acestea, este posibil ca driverele terțe părți să nu funcționeze corect.
Vezi și
Note
- ↑ o parte din spațiul de adrese, de obicei de la 0,9 la 2 GB este rezervată pentru nevoile sistemului de operare și nu este disponibilă pentru aplicație, vezi bariera de 3 GB , [1] Arhivat 6 ianuarie 2014 la Wayback Machine
- ↑ Intel Corporation. Suport pentru memorie de sistem Intel Chipset 4 GB (pdf). Manualul pentru dezvoltatori Pentium Pro Family 7 (februarie 2005). - „În sistemele bazate pe un singur procesor pentru servere mobile, desktop, stații de lucru și entry level, chipset-urile pot fi limitate la 4 GB de memorie maximă. În chipset-urile și stațiile de lucru Intel cu procesor dublu de astăzi, dimensiunea maximă a memoriei de sistem poate fi de peste 16 GB.”. Arhivat din original pe 28 octombrie 2014. (nedefinit)
- ↑ Jamie Adams. Protecting Linux Against Overflow Exploits (engleză) (downlink) . infosec (23 septembrie 2010). - „Majoritatea distribuțiilor Linux oferă suport NX cu un nucleu activat pentru PAE (kernel-PAE). Cu toate acestea, unii oameni nu instalează nucleul Physical Address Extension (PAE), deoarece cred că este doar pentru a oferi suport pentru memoria fizică de peste 4 GB.”. Consultat la 27 noiembrie 2013. Arhivat din original pe 3 decembrie 2013.
- ↑ Extensie de adresă fizică . Consultat la 1 noiembrie 2011. Arhivat din original pe 28 octombrie 2011. (nedefinit)
- ↑ De exemplu, driverul Microsoft Device Emulator
- ↑ Physical Address Extension - PAE Memory și Windows . Data accesului: 23 decembrie 2013. Arhivat din original pe 24 decembrie 2013. (nedefinit)
- ↑ RAM raportată de caseta de dialog System Properties și de instrumentul System Information este mai mică decât vă așteptați în Windows Vista sau în Windows XP Service Pack 2 sau versiunea ulterioară . Preluat la 2 decembrie 2009. Arhivat din original la 4 iunie 2011. (nedefinit)
- ↑ Memorie cu licență în Windows Vista Arhivat 12 aprilie 2022 la Wayback Machine // Geoff Chappell, 2012
- ↑ Cum să utilizați 4 GB RAM complet în Windows 7 32 de biți (Gavotte RAMDisk în Windows 7) | Pagina de pornire a lui Jens Scheffler . Data accesului: 26 decembrie 2013. Arhivat din original pe 6 februarie 2014. (nedefinit)
- ↑ Geoff Chappell - Software Analyst. Memorie cu licență în Windows Vista pe 32 de biți . — „Că edițiile pe 32 de biți ale Windows care încep cu Windows Vista sunt limitate la 4 GB... Edițiile pe 32 de biți ale Windows Vista și Windows 7 conțin toate cod pentru utilizarea memoriei fizice peste 4 GB. Microsoft pur și simplu nu vă acordă licență pentru a utiliza acel cod.” Data accesului: 26 decembrie 2013. Arhivat din original la 10 decembrie 2013.
- ↑ Încă o dată despre Windows și patru gigabytes Copia de arhivă din 24 decembrie 2013 pe Wayback Machine // IXBT 8 august 2012 Igor Petrovici Leiko
- ↑ Limite de memorie pentru versiunile Windows . Microsoft (25 martie 2010). Consultat la 5 aprilie 2010. Arhivat din original pe 20 iunie 2009. (nedefinit)
- ↑ Breaking the Limits of Windows: Virtual Memory (engleză) , Mark Russinovich în rusă . Arhivat din original pe 30 noiembrie 2018. Preluat la 29 noiembrie 2018.
- ↑ 2.3.23-pre4 x86 64 GB RAM modificări [HIGHMEM patch] explicate puțin . Consultat la 27 noiembrie 2013. Arhivat din original la 10 ianuarie 2014. (nedefinit)
- ↑ Specificații x86 pentru Fedora 11 . Consultat la 27 noiembrie 2013. Arhivat din original la 10 mai 2013. (nedefinit)
- ↑ Activarea PAE . Consultat la 28 aprilie 2013. Arhivat din original pe 13 martie 2011. (nedefinit)
- ↑ Note de lansare RHEL 6, 12.6. Actualizări generale ale kernelului 12.6.1. Extensie de adresă fizică (PAE) . palarie rosie. - „Nucleul implicit livrat cu versiunea de arhitectură x86 a Red Hat Enterprise Linux 6 este PAE activat. Un procesor activat PAE este o cerință minimă pentru varianta x86 a Red Hat Enterprise Linux 6.”. Consultat la 27 noiembrie 2013. Arhivat din original pe 3 decembrie 2013. (nedefinit)
- ↑ Features/ArchitectureSupport Arhivat 3 decembrie 2013 la Wayback Machine // Fedora
- ↑ Capitolul 29. Actualizarea manuală a kernelului Arhivat 3 iunie 2014 la Wayback Machine // Documentația Fedora 12: „29.1. Prezentare generală a pachetelor Kernel»
- ↑ Professional Linux Kernel Architecture Arhivat la 5 decembrie 2013 la Wayback Machine , Figura 3.16 Flux de cod pentru paging_init , „Execute Disable Protection este, de asemenea, activat dacă este acceptat de procesor și dacă nucleul a fost compilat cu suport PAE; Din păcate, funcția nu este disponibilă altfel.”
- ↑ corbet . Suport x86 NX , LWN (2 iunie 2004). Arhivat din original pe 2 decembrie 2013. Consultat la 27 noiembrie 2013.
Link -uri