Jádro vidí fyzickou paměť a poskytuje pohled na procesy. Pokud jste někdy přemýšleli, jak může mít proces 4 GB paměti, když celý váš stroj má pouze 512 MB RAM, tak to je důvod. Každý proces má svůj vlastní virtuální paměťový prostor. Adresy v tomto adresním prostoru jsou mapovány buď na fyzické stránky, nebo na odkládací prostor. Pokud chcete vyměnit místo, bude nutné je vrátit zpět do fyzické paměti, než bude mít váš proces přístup ke stránce, aby ji mohl upravit.
Příklad od Torvaldse v odpovědi XQYZ (DOS highmem) není příliš přitažený za vlasy, i když nesouhlasím s jeho závěrem, že PAE je obecně špatná věc. Řešil konkrétní problémy a má své opodstatnění – ale to vše je argumentační. Například implementátor knihovny nemusí vnímat implementaci jako snadnou, zatímco uživatel této knihovny může tuto knihovnu vnímat jako velmi užitečnou a snadno použitelnou. Torvalds je implementátor, takže je povinen říci, co prohlášení říká. Pro koncového uživatele to řeší problém a to je to, co koncového uživatele zajímá.
Pro jeden PAE pomáhá vyřešit další starší problém na 32bitových počítačích. Umožňuje jádru namapovat celé 4 GB paměti a obejít paměťovou díru v BIOSu, která existuje na mnoha počítačích, a způsobí, že čisté 32bitové jádro bez PAE „vidí“ pouze 3,1 nebo 3,2 GB paměti, navzdory fyzickým 4 GB.
Každopádně pro 64bitové jádro je to symetrický vztah mezi fyzickou stránkou a virtuálními stránkami (swap space a další detaily ponecháme stranou). Jádro PAE však mapuje mezi 32bitovým ukazatelem v adresním prostoru procesu a 36bitovou adresou ve fyzické paměti. Zde je potřeba více účetnictví. Klíčové slovo:"Rozšířená tabulka stránek". Ale to je poněkud spíše otázka programování. To je hlavní rozdíl. Více vedení účetnictví ve srovnání s plně lineárním adresním prostorem. Pro PAE jsou to kousky 4 GB, jak jste zmínil.
Kromě toho obojí PAE a 64bit umožňují velké stránky (místo standardních 4 kB stránek v 32bit).
Kapitola 3 svazku 1 Příručky k procesoru Intel má určitý přehled a kapitola 3 svazku 3A ("Správa paměti v chráněném režimu") obsahuje více podrobností, pokud si to chcete přečíst.
Zdá se mi, že jde o velký rozdíl, který se zdá být mnoha lidmi ignorován.
Máš pravdu. Většinu lidí však tvoří uživatelé, nikoli implementátoři . Proto jim to bude jedno. A pokud pro svou aplikaci nepotřebujete velké množství paměti, mnoho lidí to nezajímá (zvláště proto, že existují vrstvy kompatibility).
Možná se budete chtít podívat na to, co o tom říká Linus Torwalds zde:
PAE postavil tento velmi jednoduchý fakt na hlavu a královsky to podělal. Kdokoli přišel s tímto nápadem, byl naprosto nekompetentní a zapomněl na všechny bolesti DOS HIGHMEM. Existuje zatraceně dobrý důvod, proč jsme nechali 286 za sebou a začali používat 386, místo abychom měli HIGHMEM blbosti s okny do většího fyzického prostoru.
[...]
Takže opakujte po mně:PAE ve skutečnosti nikdy nic neopravil. Byla to chyba. Bylo to prostě totální selhání a výsledek toho, že inženýři hw nerozuměli softwaru.