Start64!Rengeteg a tévhit a 64 bites rendszerekkel kapcsolatban. Például ha ma valaki 64 bites hardvert vásárol, rögtön 64 bites operációs rendszert tesz rá. Biztosan jó döntés ez? - Az alábbi cikket Budai Péter írta a TechNet Magazinba és Microsoft Magyarország bocsátotta rendelkezésünkre.

A 64 bit születése

Ahogy folyamatosan nő az igény az egyre gyorsabb és nagyobb tárkapacitással rendelkező számítógépek iránt, újabbnál újabb ötletekkel állnak elő a hardvergyártók. A 64 bites technológiák már igencsak régen megjelentek a nagyobb szerverhardverek piacán, amik nagyobb mennyiségű megcímezhető memóriaterületet kínáltak, valamint a sebességet is növelték azáltal, hogy egy utasítással több beérkező adaton végeztek el műveleteket.

 Mit érdemes tudni a 64 bites rendszerekről?
A 64 bites Intel Itanium

Azonban ezek többsége a mai hardverekkel és szoftverekkel nem volt kompatibilis, mivel teljesen újszerű utasításkészletet és módszereket használtak. Az egyik ilyen versenyző az Intel Itaniumja. Eleinte nem örvendett hatalmas népszerűségnek ez az új architektúra, hiszen minden alkalmazást teljesen újra kellett hozzá írni (beleértve az operációs rendszereket is), azonban ma már megtalálta a saját közönségét, és sokan választják ezt a legnagyobb teljesítményt igénylő alkalmazásaikhoz. Ahhoz, hogy megértsük a 64-bit másik fejlődési irányát, fontos kiemelni: ekkor következett be az a pont a hardverfejlődésben, amikor rádöbbent a teljes iparág, hogy nem lehet tovább növelni a processzorok frekvenciáját a sebesség további növelése érdekében. Ekkor az AMD előállt saját 64 bites architektúrájával, az x64-gyel – ami kompatibilitást ígért a korábbi hardverekkel és szoftverekkel is!


x64

Gondolkodjunk el ezen egy kicsit, mit is jelent ez. Nyilvánvalóan nem használ olyan újszerű utasításkészletet, mint az Itanium. Viszont 64 bites. Biztosan sokan emlékeznek még arra, milyen óriási jelentőséggel bírt a 8-ról 16-ra, vagy a 16-ról 32-bitre váltás. De miért is? Mert több címezhető memóriára és tárhelyre volt szükségünk. Volt ezen kívül más újdonság is a korábbi átállásokkor? Igen, lényegesen optimalizálták a processzor belső felépítését. Egyet elárulhatok: ez utóbbi most, a 64 bit esetében nem sikerült számottevően. Nem kell sokat gondolkodni azon, hogy akkor mégis miért volt ennyire fontos az x64 megjelentetése, ha tulajdonképpen az átlagfelhasználók számára csak annyit ígért, hogy 4 GB-nál több memóriát is használhatnak. Ekkor már eltelt néhány év, hogy igazán új, mindennél jobb vagy gyorsabb processzor nem jelent meg a piacon, és az emberek nem tudták eldönteni új gép vásárlásakor, hogy melyiket vegyék meg a közel egyforma árú és teljesítményű versenyzők közül. Viszont a számokat mindenki ismeri. „A 64 több, mint 32, biztosan jobb, ráadásul kompatibilis…” – gondolhatták sokan, és elkezdték vásárolni az AMD processzorait. Nem meglepő módon az AMD ekkor jelentős növekedésnek indult. Az sem meglepő, hogy az Intel is kihozta ezek után EM64T processzorait (gyakorlatilag kénytelen volt), amik ugyancsak az AMD-féle 64 bites megoldást használták. Az AMD64 és az Intel EM64T chipjeit hívjuk azóta gyűjtőnéven x64-nek, hiszen ugyanarra az alapra épülnek mind a ketten. Az x64 gyakorlatilag időt nyert a hardvergyártóknak, hogy kidolgozzák az új típusú, többmagos processzorokat, de addig is újat tudjanak adni a vásárlóknak, még ha nem is kaptak sokkal többet a pénzükért. A marketing bevált. Arról van tehát szó, hogy talán kicsit korán erőltették rá a piacra azt, amire még valójában nem volt szüksége. Viszont mivel hamarosan tényleg szükség lesz a 64 bites váltásra, már nem volt értelme a szoftvergyártóknak sem visszakozniuk, hiszen pár éven belül tényleg minden otthoni felhasználó és szerver eléri a 4 GB-os határt. Tudva a technológia gyengéit, próbáljuk meg mégis kihozni belőle azt, amit lehet!


Mire is jó az x64?

Korábban, ha 2-3 GB-nál több memóriát szerettünk volna használni egy x86-os, Windows-os gépen, már trükkökhöz kellett nyúlnunk (pl. PAE és / vagy /3GB kapcsoló), de még így sem mehettünk 64 GB fölé, és ez a megoldás sem volt tökéletes. Az x64 segítségével ez az akadály elhárul, a határ a csillagos ég (konkrétabban most 8196 GB, de ez még növelhető lesz). Ez nagy adatbázisok, nagy terheléssel futó webfarmok és lekérdezéseket kiszolgáló rendszerek esetében jelentős segítség, hiszen minden maradhat a memóriában, több lekérdezést és felhasználót tudunk egyszerre kiszolgálni – vagyis tudunk fölfelé skálázódni egy gépen belül is. A sebesség is nőhet bizonyos esetekben, mivel a 64 bites rendszereken a processzor regiszterei is 64 bitesek, ami például a nagy pontosságot igénylő lebegőpontos számításokon sokat tud gyorsítani. Mikor jó ez nekünk? A mérnöki munkát segítő CAD/CAM alkalmazások, a 3D renderelés, valamint képfeldolgozó és néhány tömörítőprogram, valamint egyes szerverszoftverek képesek ezt kihasználni, de a szoftvernek külön támogatnia kell a 64 bites natív működést. Ez azt jelenti, hogy a szoftver bináris állományainak natív 64 bitre fordítva kell lenniük (ezek nem is indulnak el 32 bites rendszeren). A hagyományos 32 bites alkalmazások azonban nem lesznek gyorsabbak akkor sem, ha alattuk tényleg ott egy 64 bites operációs rendszer és maga a 64 bites hardver. A szakmai teljesség kedvéért azt azonban meg kell említenünk, hogy a 32 bites alkalmazások egy speciális esetben tudnak profitálni a 64 bites rendszer nyújtotta előnyből még abban az esetben is ha az alkalmazás nincs optimalizálva az új futtató környezetre. Ez akkor következhet be, ha párhuzamosan kell futtatnunk kettő vagy több olyan 32 bites alkalmazást aminek eleve 2-2 GB memóriára van szüksége. Mivel a 64 bites architektúrán minden 32 bites alkalmazás önállóan lát egy legfeljebb 4 GB-s memóriaterületet, így ha hardverünk képességei azt megengedik, akkor akár két 32 bites alkalmazás párhuzamosan futva, használhat 3-3 GB memóriát. Ez elképzelhetetlen egy 32 bites rendszerben még trükközésekkel is. Ha már új architektúránk van, amire úgyis újra kell fordítani az alkalmazásokat (ha újraírni nem is kell), miért ne követelhetnénk meg néhány újdonságot alapkövetelményként? Elvégre van egy-két hasznos új biztonsági technológia, pl. a DEP (Data Execution Prevention) és az, hogy 64 bites Windowsokkal csak aláírt drivereket tölthetünk be Kernel módba. Ha már úgyis újra fogják fordítani a szoftver- és driverfejlesztők a kódjukat, legalább teszteljék le azt is, hogy ezeknek az igényeknek is jól megfelelnek! Ezzel véget ér a 64 biten a DEP-inkompatibilis és a hibás kernel módú driverek korszaka, ugyanis a 64 bites Windows Vista esetében mind a DEP, mind a driveraláírás kötelező érvényű.


Mi a baj vele?

Az imént láthattuk, hogy csak speciális alkalmazások és terhelések nyernek a 64 bit használatával. A 32 bites szoftverek pedig a 64 bites Windows WoW (Windows on Windows) alrendszerének köszönhetően működnek. Ez az emuláló réteg fordítja át a 32 bites utasításokat és címzéseket olyanná, hogy 64 biten is megfelelően működjenek. Ez azonban akármennyire kicsit is (egy százalékon belül mozog ez az esetek többségében), de lassít a 32 bites kód végrehajtásán, de messze nem annyira, mint az Itanium alapú 64 bites rendszerek 32 bites „kompatibilitási” rétege. Külön érdekesség, hogy a 32 bites Windows XP is használt egy másik, régebbi WoW-ot 16 bites alkalmazások futtatására a 32 bites rendszereken.

Mit érdemes tudni a 64 bites rendszerekről? 
Az Intel legújabb, kétmagos, 64 bites processzora, a Core 2 Duo

A lényeg itt mindössze az, hogy aki azt várja, hogy meglévő 32 bites alkalmazásai gyorsabbak lesznek 64 bites OS-en és hardveren, az lehet, hogy pont az ellenkezőjét fogja tapasztalni, még ha csak kis mértékben is. A nagyobb gond azonban az, hogy túlságosan könnyű azt mondani valamire, hogy kompatibilis - megvalósítani már sokkal nehezebb. A 32 bites driverek, illetve a kernel szinten futó kódok esetében a WoW ugyanis nem működik. Ez azt is jelenti egyben, hogy azok a hardvereink, amikhez csak 32 bites driver érhető el, nem fognak működni 64 bites operációs rendszeren (gondoljunk itt a régi nyomtatókra, scannerekre). Sajnos számtalan alkalmazás is van, ami hardverközeli hívásokat használ, és emiatt nem emulálható működésük ezekkel az eszközökkel. Összefoglalva: igaz, hogy maga a processzor tökéletesen futtatja a 32 bites alkalmazásokat - vagyis 64 bites vasra telepíthetünk 32 bites OS-t, és nem lesz semmi kompatibilitási gondunk, bár 64 bites alkalmazások sem fognak menni, és a 64 bit semmi előnyét nem tudjuk így kihasználni. Az már sajnos nem igaz, hogy 64 bites futó operációs rendszeren gond nélkül elférnek egymás mellett a 32 és 64 bites driverek. Az utolsó nagyobb probléma ennek következménye, de a fejlesztőket sújtja: újra kell minden alkalmazást írni, vagy legalább fordítani 64 bitre is és a meglévő 32 bites alkalmazásokat is tesztelni kell a WoW-ban (erre jó példa a Symantec víruskeresője, amiből a 8-as 9-es 32 bites széria nem fut megfelelően a WoW-ban. A Symantec ezt követően nem az elegáns utat választotta, hogy készít egy natív 64 bites víruskeresőt, hanem a meglévő 32 bites víruskeresőjét készítette fel a WoW-ban való futásra)  Ami még ezzel jár: minden szoftvert tesztelni kell 32 és 64 biten is, ráadásul mindkét verzióhoz támogatást is kell adni. Ez jelentős pluszmunkát jelent, és még sokan nem szánták rá a szükséges energiát.Valljuk be, ezek azért nem akkora meglepetések, hasonlót majdnem minden generációváltáskor átéltünk már. A lényeg, hogy mi magunk alaposan és nagyon körültekintően járjunk el, ha generációváltásra adjuk a fejünket, meg kell találnunk azt az időpontot, amikor érdemes váltanunk saját gépünkkel, vagy éppen az IT infrastruktúránkkal. Fontos megjegyezni azonban azt is, hogy nem csak a túl korai átállás, de a túl késői átállás is sok kényelmetlenséggel jár, ezért nagyon fontos a megfelelő időben áttérni.


Ha 64 bites hardvert vettem, 64 bites OS-t telepítsek rá?

A fentiek figyelembevételével kíváncsi lennék, ki hogyan döntene, ha most tenné fel magának ezt a kérdést. Egy dolog szinte biztos: aki ma vesz új gépet, csak 64 biteset vesz, mert mást már nem is nagyon kapni. Ez egyáltalán nem baj, hiszen telepíthetünk rá akár 32 bites operációs rendszert is – ilyenkor mindössze annyit teszünk, hogy nem használjuk ki a processzor 64 bites képességeit, és nem tudunk natív 64 bites alkalmazásokat sem futtatni (és marad a PAE, ha több memóriát szeretnénk). Ez ráadásul azért is jó, mert később bármikor könnyedén válthatunk 64 bitre, ha már elérkezettnek tartjuk az időt (természetesen a rendszereink teljes újratelepítésével tehetjük ezt meg). Mikor telepítsünk mégis 64 bites operációs rendszert egy számítógépre? Kizárólag akkor, ha az általunk futtatandó alkalmazások vagy szerverszoftverek mindegyikére igaz az alábbiak állítások valamelyike:

  • 32 bites szoftver, aminek nincs natív 64 bites verziója, de gond nélkül működik 64 biten is a WoW-on keresztül, és az esetleges minimális teljesítmény-csökkenés sem jelent problémát számunkra.
  • Natív 64 bites alkalmazás, és vagy nincs belőle 32 bites változat, vagy szükségünk van több memória hatékonyabb használatára (pl. nagy adatbázis), és szükségünk van a lebegőpontos műveletek gyorsítására. 

Ezen kívül még két szempont segít dönteni:

  • Minden hardverkomponenshez kell lennie 64 bites drivernek, különben nem tudjuk használni (a tapasztalatunk az, hogy az újjonan szállított brand szerverekhez a gyártó minden a dobozban levő hardware elemhez biztosítja a 64 bites drivert. Meglepetés ettől még érhet minket, tapasztalataink szerint a felügyeleti programokat a gyártók nem, vagy csak korlátozott funkcionalitással készítik el).
  • Bármilyen, nem natív 64 bites (vagyis 32 bites) szerverszoftver telepítése és üzemeltetése gyakorlatilag tilos és életveszélyes. A javasolt alternatíva ilyenkor, hogy a 64 bites OS-en egy 32 bites OS-sel rendelkező virtuális gépet üzemeltessünk, amin már nyugodtan futhat a 32 bites szerverünk (már ha a szerverszoftverünk virtualizációja támogatott).


Jótanácsok

Ha otthonra vettünk számítógépet, és nem vagyunk CAD/CAM mérnökök, véletlenül se tegyünk fel 64 bites kliensoperációs rendszert még, hacsak nem vagyunk biztosak abban, hogy a számunkra kritikus alkalmazások, (esetleg játékok) és driverek megfelelően működnek. Ha biztosak vagyunk abban, hogy minden számunkra fontos szoftver megy 64 biten, akkor aggodalomra nincs okunk, de teljesítményjavulást ne várjunk, nem lesz, vagy ha igen, minimális, és csak néhány alkalmazásra lesz jellemző.

 Mit érdemes tudni a 64 bites rendszerekről?
Az AMD 64 bites Opteronjának doboza

Ha x64 alapú szervert veszünk, gondoljuk át, milyen szerverszoftvereket szeretnénk futtatni rajta. Ha a szerverszoftverből nincs natív 64 bites változat, ne tegyük fel a 64 bites OS-t se, inkább maradjunk a 32 bitesnél egyelőre, és várjuk meg, míg lesz natív 64 bites verzió belőle. Ha van 64 bites változat, és szeretnénk kihasználni az előnyeit (több memóriára lesz szükségünk, illetve szeretnénk kapni némi teljesítménytöbbletet), akkor tegyük fel a 64 bites OS-t (a fentebbi szempontok figyelembevételével). Természetesen jó ha a telepítés előtt tájékozódunk arról, hogy a jelenlegi teljesítményproblémákat valóban a 32 bites platform korlátjai jelentik-e? Mert ha és amennyiben nem a platform korlátait értük el, hanem egyéb szoftver, vagy lekérdezés optimalizációs problémával állunk szemben, abban az esetben tényleg ne várjuk azt, hogy a 64 bites platform megoldja a problémánkat. Ha csak 64 bites verzió létezik a szerverszoftverből, akkor kénytelenek vagyunk feltenni alá a 64 bites OS-t is – azonban ez már egyáltalán nem rossz kombináció.


A választék

Az operációs rendszerek közül a következők érhetőek el 64 bites változatban:

  • Windows XP (x64)
  • Windows Vista (x64)
  • Windows Server 2003 (R2) (Itanium és x64) 

Lássuk, milyen fontosabb Microsoft alkalmazásokból áll rendelkezésünkre 32 bites és natív 64 bites változat egyaránt. Ezeket már nyugodt szívvel feltehetjük 64 bites operációs rendszerre is:

  • Office 2007 (kliens és szerveralkalmazások is)
  • SQL Server 2005, BizTalk Server 2006
  • Virtual Server 2005 R2 (fut natív 64 biten, de csak 32 bites virtuális gépet tud futtatni)
  • A későbbi System Center termékek (tavasszal érkeznek)
  • „Longhorn” Server (2007 vége)

Ehhez kapcsolódik még a Windows Server 2003-ban (az R2 funkcióival egyetemben) található valamennyi képesség, amik mind elérhetőek natív 64 biten is, beleértve az Internet Information Servert, a .NET keretrendszer 2.0-s változatát is, vagy akár az Active Directoryt. A .NET és az IIS képes profitálni a 64 bit előnyeiből, és így a rajta futtatott alkalmazások is. A következő szerverekből például nem érhető el jelenleg natív 64 bites változat, ezeket most még ne akarjuk 64 bites OS-en futtatni:

  • ISA Server 2004/2006
  • Microsoft Operations Manager 2005, Systems Management Server 2003
  • Exchange Server 2003

Ezek a szoftverek pedig már csak natív 64 bites változatban érkeznek:

  • Exchange Server 2007
  • SQL Server vNext (Katmai)
  • Small Business Server vNext (Cougar)
  • „Longhorn” Server R2


Magyarázat az Exchange Server 2007-hez

Az Exchange Server 2007, mint az első kizárólag natív 64 biten támogatott Microsoft szerveralkalmazás némi külön magyarázatra szorul. Az első érdekesség vele kapcsolatban, hogy létezik belőle 32 bites változat – csak nem támogatott és kereskedelmi forgalomban sem kapható. De akkor mégis miért van 32 bites változat? Ennek több oka is van: egyrészt jelenleg nincs olyan virtualizációs technológiánk, ami képes 64 bites operációs rendszerű virtuális gépet futtatni. A Virtual Server 2005 R2 ugyan létezik natív 64 bites verzióban, de ettől még az sem tud 64 bites virtuális gépet emulálni nekünk. Márpedig azok, akik ki szeretnék próbálni az Exchange Server 2007-et (vagy éppen a korábbi bétateszterek) szeretnek virtuális környezetben dolgozni vele, hogy felfedezhessék a rendszer képességeit. Éppen ezért amikor megjelent az Exchange Server 2007 beta 1, már volt is belőle 32 bites változat. Erre a problémára amúgy a Windows Virtualization ad majd megoldást, amint megjelenik a „Longhorn” Server után nem sokkal, ugyanis az már fog tudni 64 bites virtuális gépeket is futtatni. Külön érdekesség, hogy a végleges Exchange Server 2007-ből is létezik 32 bites változat, ami tesztelésre bármikor használható, csak éles környezetben nem lehet sem licencelni, sem használni, valamint ebből következően támogatást sem kapunk hozzá. De ennek mégis mi az oka? Az, hogy az Exchange Server 2007 valóban lényegesen jobban teljesít 64 bites környezetben, mint 32 biten, valamint a legtöbb nagy hasznát veszi a 4GB-nál több memóriának is - emiatt már a kezdetektől fogva erre fókuszáltak a fejlesztők és a tesztelők a Microsoftnál.


Mit hoz a jövő?

Minden Microsoft szerverszoftverből lesz 64 bites változat a közeli jövőben, sőt 2008-tól már kizárólag 64 bites szerverszoftverek jelennek meg. Az első kizárólag 64 bites változatban elérhető szerverszoftver a decemberben elkészült Exchange Server 2007. A Windows Vista és a „Longhorn” Server pedig nem más, mint a két utolsó, 32 bitesen is elérhető Microsoft operációs rendszer. A készülő „Longhorn” Serverre épülő új Small Business Server és a „Longhorn” Server R2-es változata viszont már csak 64 biten lesz elérhető. Várhatóan az SQL Server soron következő változata is  csak 64 bites verzióban érkezik és a következő ISA Server is. Szerencsére jól látható, hogy a Microsoft azokból a szoftverekből, amiknél nem mindenki számára egyértelmű a 64 bit haszna, elkészíti a 32 bites változatot is. Azoknál a szoftvereknél azonban, amik egyértelműen és lényegesen gyorsabbak 64 biten, azokból a jövőben csak 64 bites verziókat szállít és támogat majd (pl. Exchange Server 2007). Ez a hozzáállás azonban csak időszakos, mint minden generációváltáskor, és csak addig tart, amíg a legtöbben végre átállnak 64 bitre. A trend megállíthatatlan, ugyanis a szerverszoftverek adatbázisainak mérete és teljesítményigénye már egyre több helyen igényli ténylegesen a 64 bit adta előnyöket, valamint végre a drivergyártók és a kisebb szoftverfejlesztők is elkezdik komolyan venni a 64 bitre történő átállás és fejlesztés szükségességét. Utána pedig, ha már mindenki 64 biten üzemel, úgyis érkezik valami új: lehet, hogy a 128 bit még messze van, de a sokmagos processzorok már nem annyira. Az jól látszik, hogy a fejlődés nem állt meg, csak más irányt vett, és sokkal több szereplő együttműködését igényli, mint korábban.

  • Írta: Budai Péter -  This email address is being protected from spambots. You need JavaScript enabled to view it. - Microsoft Magyarország