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.
Ten článek na blogu uvádí informace tak dva roky staré, navíc ne úplně pravdivé. Já bych dnes všem doporučil 64-bitový Linux, protože 32-bitový je pouze omezí v budoucím vylepšení počítače a nic dalšího nepřinese
Ty aplikace, co jsou jen 32-bitové, lze na 64-bitovém systému většinou bez problémů provozovat (včetně toho Flashe, který btw. už je i 64-bitový)
S tou rychlostí to taky není pravda, 64-bitový systém umí relativní adresace, takže všechny long jumpy uvnitř knihoven se nemusí složitě resolvovat přes DSO a to je občas i zásadní rychlostní rozdíl (třeba v Pythonu)
Já opravdu nechápu, proč se někteří tak úpěnlivě snaží tvrdit, že vlastně celé x86–64 je proti P6 zbytečné. Teorie to vyvrací, zkušenosti to vyvrací, benchmarky to vyvrací, když nějaký program potřebuje velký adresní prostor, tak jste v … Ale pořád někdo bude tvrdit, že 32b CPU stačí…