Hirdetés

2017. október 20., péntek

Gyorskeresés

Útvonal

Cikkek » Számtech rovat

A Windows XP 32 bit memóriakezelése

  • (f)
  • (p)
Írta: |

Ez a téma manapság - a 64 bites processzorok és operációs rendszerek idejében -, már elavultnak...

[ ÚJ TESZT ]

Ez a téma manapság - a 64 bites processzorok és operációs rendszerek idejében -, már elavultnak tűnhet. Ráadásul a Windows XP idén ünnepli a 6. születésnapját. Nem lett volna célszerűbb cikket írni erről korábban, még a 64 bites verziók megjelenése előtt? Nos, akkoriban nem volt szükség hasonló témájú cikkre, most viszont annál inkább. Hogy miért? Hamarosan megértjük.

[kép]

64 bites operációs rendszerek

Nem is olyan régen tanúi lehettünk a Windows XP 64 bites verziójának megjelenésére. A mostanában vásárolható processzorok túlnyomó többsége 64 bites (pontosabban 64 bites utasításkészlet kiegészítése van), ezért mára nem tűnik szükségesnek a 32 bites rendszer használata. Viszont sokan - köztük én is - egyelőre még tartózkodnak az OS újítástól. Ennek több oka is van. Sokat hallhattunk és olvashattunk arról, hogy nem minden 32 bites eszközmeghajtó fut 64 bites rendszereken, és némelyik gyártó nem is kíván fejleszteni, a sokszor több éves eszközeihez új, 64 bites drivereket. Ezen felül nem mindenki kíván újra beruházni egy operációs rendszerbe, miközben a régivel teljes mértékben meg van elégedve. Egy másik alternatíva a 32 bites Windows Vista beszerzése lehetne az eltérő memóriakezelés miatt, viszont - egyelőre - a driverekkel ott is komoly problémák vannak, ill. a programok és játékok kompatibilitása sem minden esetben garantált. Tehát sokunknak - egyelőre - maradt a jó, öreg, bevált Windows XP 32 bit.

[kép]

Memória és a 32 bit

A 32 bites processzor - pontosabban a 32 bites Windows XP - maximum 4GB memóriaterületet tud megcímezni. Ezzel eddig nincs is probléma, könnyen belátható, hogy miért. Ez a 4GB elég nagynak tűnik, azonban az utóbbi időben, az egyre több memóriát igénylő alkalmazások, és egyre olcsóbb memóriák korában, egyre több felhasználó kezdi elérni, vagy megközelíteni ezt a korlátot.
Nos, itt érdemes megállni egy kicsit. Ez a mennyiség még manapság is soknak számít. A legtöbb PC 1GB körüli memóriával rendelkezik, és a felhasználók mostanában kezdik el az áttérést 2GB-ra. De ez még mindig ''messze'' van a 4GB korláttól. Akkor miért is foglalkozunk vele?
Ennek alapvetően 2 oka van. Első, hogy a memória árak alacsony volta miatt nincs szükség hatalmas beruházásokra némi plusz memóriához. Sokan előre is tervezhetnek, hiszen előbb-utóbb muszáj lesz ismét bővíteni a konfigurációt. Második egy érdekes ''paradoxon'', melyről egyre többet lehet olvasgatni a fórumokon. 4GB memóriával szerelt konfigurációkban a Windows (emlékezzünk: a 32 bites XP-ről van szó) kevesebbnek látja a valósnál, esetenként csak 3,5 vagy éppen 3 gigának.
Mitől is van ez?

[kép]

Virtuális memóriacím

Virtuális memóriáról már mindannyian hallottunk. De mi az a virtuális memóriacím? Nyílván köze van a virtuális memóriához, nem? Nos, igen is, meg nem is. Mindjárt látni fogjuk, hogy miről is van szó.
A Windows XP egy úgynevezett virtuális memóriacím táblán keresztül éri el a memóriát. Közvetlenül soha nem képes - és ez így is van jól - bármiféle címet elérni, mindig virtuális memóriacímeken keresztül olvas és ír.
Ebbe a virtuális táblába beletartozik minden memória, ami a számítógépen található, beleértve a fizikai memóriát, a virtuális memóriát , a videokártya memóriáját, és minden olyan eszköz, periféria memóriáját, melyen található valamennyi fizikai RAM. És itt jön a probléma. Ugyanis - a 32 bites operációs rendszer korlátaiból adódóan - csak egy ilyen virtuális memóriacím tábla létezik, és ebbe bele kell férnie az összes, a számítógépben található és használni kívánt memóriának is.
Tehát van összesen 32 bitnyi memóriacímünk, melynek címei 0x00000000-0xFFFFFFFF-ig terjedhetnek.

De nézzük meg, hogy hogyan is néz ez ki a valóságban.

A képzeletbeli gépünkön 1GB fizikai memória, egy 128MB-s videokártya, és egyéb elhanyagolható méretű memóriát tartalmazó periféria található, melyeket az egyszerűség kedvéért nem részletezek. A virtuális memóriacím tábla így néz ki (angol elnevezéseket használok, mivel csak angol XP-t használok):

Graphics Controller
Memory Range E8000000-EFFFFFFF (ez épp 128MB)

System Board
Memory Range 00000000-3FFFFFFF (ez épp 1GB)

Ezeket az értékeket könnyen leellenőrizhetjük a Hardverkezelőben, ha megnézzük az eszköz Resources fülét. A legtöbbször több részletben van lefoglalva az eszköznek a virtuális memóriacím, tehát valószínűleg több bejegyzést fogunk látni.

Azt hiszem ezzel eddig nincs is probléma, rengeteg szabad virtuális memóriacímünk marad a bővítésre. De mi történik akkor, amikor a számítógépünkben valóban megtalálható 4GB fizikai memória, és mellette még egy 512MB memóriával rendelkező videokártya? Nos, vizsgáljuk meg.

Windowsunk lefoglalja a virtuális táblából az 512MB területet a videokártyának (és persze minden más eszköznek is foglal, amennyiben szükséges), majd megpróbál 4GB-t lefoglalni a fizikai RAM-nak, de hoppá, itt jön a probléma, annyi már nincs. Mit tehet ilyenkor? Lefoglalja az összes maradék helyet, mely - ez esetben - 3,5GB.
Tehát, annak ellenére, hogy gépünk fizikailag 4GB memóriát tartalmaz, csak 3,5GB lesz elérhető a rendszer számára, a maradék elvész. Ez nem ugyanaz, mintha a rendszer lefoglalna egy részt a fizikai memóriából a videokártyának, egyszerűen nem is tud róla, hogy létezik az a maradék memóriarész. Persze ez a mi szempontunkból lényegtelen.

Ez az egész így néz ki:

Graphics Controller
Memory Range D0000000-EFFFFFFF (ez épp 512MB)

System Board
Memory Range 00000000-CFFFFFFF
Memory Range F0000000-FFFFFFFF (a kettő együtt 3,5GB)

[kép]

Egyéb problémák

Sajnos ennyivel nem fogjuk tudni megúszni. Az eddig ecsetelt problémánkon felül ha eddig nem is, de előbb-utóbb találkozni fogunk még egyel. Nevezetesen, hogy a Windows XP egyszerre maximum 2GB memóriát biztosít a felhasználói alkalmazásoknak. Tehát hiába van több mint 2GB fizikai memóriánk, alkalmazásunk csak 2GB-t használhat belőle. Ez egyelőre még nem különösebben nagy gond, de minek 3GB-t helyezni a gépünkbe, mikor a kedvenc játékunk amúgy is csak 2GB-t lát belőle? Nos, szerencsére erre van megoldás, bár csak a Professional verzióban működik. Létezik egy ún. /3GB kapcsoló, mellyel megmondhatjuk a rendszernek, hogy az alkalmazásoknak akár 3GB memóriát is engedélyezzen.
A következőképpen szúrjuk be a kapcsolót a Boot.ini file-ba (példa):

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT=''Windows XP Professional'' /3GB

Végszó

Tehát, mindent összefoglalva, hacsak nem irodai célokra használjuk gépünket, viszonylag kevés perifériával és videomemóriával, felesleges 4GB memóriát vásárolni a 32 bites XP-hez. Játékos kedvű felhasználók csúcsgépéhez bőven elég lehet a 3GB (2x1GB és 2x512MB egyszerre, hogy párban fussanak) egy 512MB-1GB-s videokártyával megspékelve addig, amíg át nem térnek egy modernebb operációs rendszerre.
A végtelenségig nem húzhatjuk a 64 bites operációs rendszerekre való átállást, de addig is talán van még pár szűkös esztendőnk, hogy továbbra is kiaknázhassuk a már jól bevált Windows XP 32 bites operációs rendszerünket.

DEP és PAE kapcsolata (hozzáadva: 2009.01.23)

Egyelőre angolul, később egy rövid összefoglalót írok róla: Boot Parameters to Configure DEP and PAE

Linkek
* [link] RAM, Virtual Memory, Pagefile and all that stuff
* [link] Memory Support and Windows Operating Systems
* [link] 4GB RAM
* [link] /3GB

Hirdetés

Copyright © 2000-2017 PROHARDVER Informatikai Kft.