Bohuzial, s tym jadrom mate pravdu len ciastocne. Jadro nestaci ak aplikacia potrebuje viac ako 4GB RAM – teda musi vediet adresovat viac ako 4GB a to v 32 bitovej aplikacii nie je take priamociare.
A s tymi „4GB – grafika – cache – bios…“ kolega mal zrejme na mysli, ze (ak procesor je v 32 bitovom rezime) bios sa tiez mapuje do adresneho priestoru < 4GB (a teda „zaberie nejaku cast pamate“), graficka karta tiez mapuje svoj bios ale tiez svoju pamat (aby bola pristupna pre aplikacie a DMA). Takze pre 32 bitovu aplikaciu nezostavaju ani tie 4GB.
Cache je trochu mimo.
Neni, typicky byva pro aplikace 4g virtualni pameti, tedy 4 gb prostoru, ovsem ten je rozdelen na pamet jadra (horni 1 az 2 gb ma pro sebe namapovane jadro), takze teoreticky zbyva 2 az 3 gb pro aplikaci. Ovsem v tom prostoru pro aplikaci musi byt namapovany tez sdilene knihovny co aplikace pouziva, je tam i stack (zasobnik), vlastni kod aplikace a s prihlednutim k tomu, ze ten prostor je i nejak fragmentovany, tak realne si muze 32bitova aplikace naalokovat souvisly blok pameti max. o velikosti 1 GB.
Zavisi to samozrejme na pouzitych aplikacich a trochu i na systemu, ale od 2 GB ram vyse uz bych cpal 64bit system, protoze tam uz je celkem riziko, ze se na nejake to omezeni narazi.
Neni to tak uplne pravda. Kdysi (5+ let zpatky) jsme zkouseli provozovat 64-bitove jadro a 32-bitovy userland (kvuli knihovnam Oraclu). Nakonec jsme skoncili u toho, ze jsme cely userland vcetne initu spousteli v chrootu a kolem toho jsme meli jeste minimalni 64-bitovy system. Jsou veci ktere mezi 32-bitovym userlandem a 64-bitovym kernelem nefunguji (nebo aspon nefungovaly). My jsme konkretne narazili na nekompatibilitu iptables: 64-bitovy kernel neumi nastavovat pravidla 32-bitovym programem iptables.
Ale jinak samozrejme nechapu, jak v dnesni dobe nekdo muze uvazovat o jine variante nez 64-bitove. Pro tech par 32-bitovych aplikaci staci nainstalovat knihovny a pro flashplayer je nspluginwrapper.
-Yenya
Není, PAE umožňuje mapovat 64GB paměti kernelu, ale aplikace pořád můžou adresovat jen 4GB a víc ani ťuk. Výhoda je v tom, že kernel může přidělovat dostupnou fyzickou paměť i když si nějaký proces nasyslí co mu virtuální adresní prostor dovolí.
A já osobně dávám přednost kombinaci 64bit kernel+32bit userspace.