paměť ve windows xp
Dobrý den,
mám otázku jak je to s velikostí pamětí v opr. syst. Nezávisle na sobě mi několik lidí sdělilo že XP neumějí pracovat s více jak 2GB pamětí.
Děkuji
Dobrý den,
mám otázku jak je to s velikostí pamětí v opr. syst. Nezávisle na sobě mi několik lidí sdělilo že XP neumějí pracovat s více jak 2GB pamětí.
Děkuji
Zpět do poradny Odpovědět na původní otázku Nahoru
umi pracovat +- 3.5 GB
Já bych to uvedl na pravou míru, ano?
32bitové procesory zvládají adresovat max. 4GB RAM (2^32 bytů), 64bitové (ať už plně, nebo částečně, viz současné AMD/Intel CPU) pak 16 EB (ExaByte), tj. 2^64 bytů.
S Windows je to tak, že záleží na tom, jak jsou kompilovány, zda jako 32- nebo 64-bitová aplikace (resp. operační systém). V případě 32bitových je tedy logicky opět limit 4GB, v případě 64-bitových je limit opět oněch 16EB.
A teď je třeba ještě vysvětlit jak to celé funguje: do adresního prostoru se započítávají i namapovaná zařízení, tedy např. paměť grafické karty, adresní prostor řadičů, portů atp. A tedy pokud je paměti více nebo rovno 4GB, bude se tento adresní prostor "mapovat" přes existující paměť RAM. Proto je "vidět" 3,2 nebo 3,5 nebo jen 3GB RAM (podle desky a komponent), i když je fyzicky celkem 4GB RAM.
A nakonec, poslední věc - ony 2GB: 32Bit systémy windows rozdělují adresní prostor na 2GB pro systém a 2GB pro aplikace, a tedy KAŽDÁ aplikace umí využít max. 2GB RAM. Toto se dá modifikovat parametrem /3GB (resp. ještě /PAE u serverů), kdy se využití adres. prostoru mění v poměru 1:3 pro systém:aplikace, nicméně pro toto je potřeba explicitní podpora v dané aplikaci. edit: toto samozřejmě platí pouze u 32b systémů
edit2: tedy ještě jednou a co nejjednodušeji: adresní prostor NEROVNÁ SE operační paměť
chceš říct, že se svým firefoxem nezaberu více než 2gb ram, ani kdybych chtěl?
až teď začínám chápat pravý význam 64bit adresování
tak jest. Podotýkám, že se týká pouze Windows (což se mi nějak vytratilo, i když je tam zmínka o parametrech boot.ini), třeba Linux to má vyřešeno úplně jinak.
V Linuxe je to dost podobne.
Limit 3GB pre jeden 32bitove proces je aj v Linuxe. Je to o 1GB viac ako vo Windows, ale inak je to rovnake.
Vo fyzickej pamati rozdiel je v tom, ze Windows podporuje viac ako 4GB fyzickeho adresneho priestoru (PAE) len v niektorych serverovych verziach, ostatne su obmedzene na 4GB, v Linuxe staci jadro skompilovane s podporou 64GB RAM. Samozrejme pisem o 32 bitovych systemoch.
Děkuju moc za vysvětlení, dlouho jsem to nevěděl na 100%. Dej si
Nie je to uplne tak ako pises. Spravne je to takto:
1. aj 32bit CPU vedia uz 10rokov adresovat viac ako 4GB RAM (od Pentium1 Pro), ale nevie to dementny Windows (serverove Win na serverovej zakl.doske by to mali vediet, tusim do 64GB). Desktopove Win maju aj switch /PAE ktory by tych 64GB mal povolit ale este som to nevidel fungovat a asi ani bill gates to na XP este nevidel fungovat .
2. Cele 4GB sa bez /PAE vyuzit nedaju kvoli fyzickemu adresnemu priestoru pre PCI zariadenia atd. takze ostava okolo 3GB-3.5GB
3. Win vedia pridelit max 2GB pre jeden proces alebo ulohu/aplikaciu, neviem zhlavy. Takze ak mas 2 procesy tak vedia vyuzit aj celu RAM (jeden proces 2GB a druhy proces zvysok). Nie je pravda ze by si Win vyhradili nejake 2GB pre seba (naco by im bolo tolko RAM).
P.S. ten rozdeleny adresny priestor na 2GB+2GB je tusim len logicky (virtualny), nie fyzicky adresny priestor takze RAM by malo byt mozne vyuzit celu aj pre aplikacie vdaka segmentovaniu (ale max 2GB na jednu aplikaciu, kvoli tomu 2GB+2GB virtualnemu adresovaniu). Toto ale si nie som isty na 100% ale malo by to tak byt ako pisem.
XP v PAE rezime z pohladu architektury moze adresovat viac ako 4GB RAM, Microsoft vsak umelo obmedzil mnozstvo podporovanej fyzickej pamate na 4GB
hm? Já měl za to, že v XP switch /PAE vůbec není? je tam jen /3GB
samozrejme, ze tam je a ma uplne iny vyznam ako /3GB
XP od SP2 bezia stadardne v PAE rezime na vsetkych modernych procesoroch, pretoze po instalacii bezi defaultne DEP a tato funkcia vyzaduje PAE
ale já vím, že má jiný význam Provozuju server, kde je použit a vím co se děje.
edit: aha - už chápu - teď jsem si přečetl původní příspěvek na který jsi reagoval a vidím, že jsem to napsal opravdu nešťastně. kontext celé věty není v tom, JAK se mění alokace, ale že se dá změnit těmito dvěma přepínači.
ad 1) ano, jenže k čemu to je, když to Wokna neumí pořádně (osobní zkušenost s několika servery) a navíc je potřeba podpora i v aplikaci, která má umět více než ty 2GB.
ad 2) však to jsem psal - možná jinými slovy
ad 3) ano, ty 2GB jsou adresní prostor, nikoliv paměť (nicméně při pokusu o alokaci více RAM to selže právě na nedostatku adresního prostoru), schválně jsem to nakonec ještě zdůraznil )
ad 1) ano MS servery su na ****, ale vysvetli to nasmu adminovi ktory ich teraz kazde 2dni restartuje jak debil aby to vobec fungovalo
Hlavne co som chcel napisat je ze aj 32bit CPU vedia adresovat az 64GB RAM, ale nevie to Win (Win XP ani s /PAE ktory by podporu 64GB mal zapnut ale MS pise ze WinXP nevie viac ako 4GB takze dementi su v MS). Switch /3GB je nieco ine, ovplyvnuje virtualne adresovanie pre procesy takze je to pre bod 3)
ad 2), 3) to som napisal pre uplnost resp. aby to bolo spravne pochopene, netvrdim ze si pisal nieco ine, ale IMHO nebolo to uplne presne pochopitelne.
Ano - já mám na jednom 32bit linux serveru použito plných 4GB (stačí použít správný režim z těch tří při konfiguraci jádra). Netvrdím, že /3GB a /PAE je totéž, společné mají jen to, že mění způsob alokace adresního prostoru. Teď jsem se kouknul na MS a je fakt, že /PAE je i pro XP (což jsem asi kdysi špatně pochopil, nebo si to špatně zapamatoval): http://www.microsoft.com/whdc/system/platform/serve r/PAE/PAEmem.mspx
ad 2) a 3) ano, někdy mám orpavdu těžce uchopitelné vyjadřování