Hirdetés
A legtöbb számítógép ma a Windows 64 bites verziójával és gyakran minimális mennyiségű RAM-mal rendelkezik. Ez felveti a kérdést, hogy ezek a rendszerek milyen jól teljesítenek. Ez különösen igaz akkor, amikor a felhasználók régebbi 32 bites szoftverüket az új számítógépeken akarják futtatni.
Ami érdekes kérdést vet fel. Te? több vagy kevesebb RAM-ra van szükség Mennyire van szüksége RAM-ra?A RAM olyan, mint a rövid távú memória. Minél több multitaszk van, annál többre van szüksége. Tudja meg, hogy mennyi a számítógépén, hogyan lehet a legtöbbet kihozni, vagy hogyan lehet többet beszerezni. Olvass tovább 32 bites alkalmazás futtatásához a A Windows 64 bites verziója Mi a 64 bites számítástechnika?A számítógép vagy a hardver csomagolása tele van műszaki feltételekkel és kitűzőkkel. Az egyik legjelentősebb a 64 bites. Olvass tovább ? Ezen a héten megtudja Bruce Epper.
Az olvasó azt kérdezi:
Igaz, hogy a 32 bites alkalmazások 64 bites Windows rendszeren történő futtatása fogyaszt 1,5-szer több memória
összehasonlítva a 32 bites alkalmazás futtatásával egy 32 bites Windows operációs rendszer alatt?
Bruce válasza:
Korábban már tárgyaltunk annak előnyeiről és hátrányairól, hogy mindent 64 bites formában tartunk, és néhányat az egészben a „keverés és illesztés” hatásai Hogyan befolyásolja a Windows teljesítményét a hardver és a szoftverElméletileg a 32 bites szoftver felülmúlhatja 64 bites megfelelőjét, a hardver beállításától függően. Bonyolultnak hangzik? Azért vagyunk itt, hogy értelme legyen és segítsünk abban, hogy a lehető legjobb teljesítményt nyújtsa ki a rendszeréből. Olvass tovább . Ma megvizsgáljuk, hogy a 32 bites alkalmazások hogyan futnak a Windows 64 bites verzióin.
A 64 bites Windows operációs rendszer nem futtathat 32 bites Windows programot további segítség nélkül. Túl különböznek egymástól: a mutatóktól és az adattípusoktól kezdve a rendszerhívásokig (hogyan használják a programok az alapul szolgáló operációs rendszer erőforrásait). Szüksége van valamilyen módon arra, hogy kompatibilisek legyenek.
A WoW64 megértése
A Windows a különféle különbségek kompenzálására a WoW64 (Windows32 on Windows64) rendszert használja. Hatékonyan 32 bites Windows mini-emulátorként működik x64 rendszereken, és teljes értékű emulátorként Itanium (IA64) rendszereken.
Az IA64 rendszerek teljes emulátort igényelnek a processzor utasításai és a memória oldalméretének különbségei miatt (4K x86-ban és x64, 8K az IA64-ben). Mivel az x64 processzorok az x86 processzorok összes utasításával rendelkeznek, és ugyanazt a memóriaoldalt használják, nincs szüksége teljes emulátorra.
Mindkét esetben a WoW64 interfészt biztosít a 64 bites Windows kernel és az ntdll.dll 32 bites verziója között (ez tartalmazza a központi Windows kernelfunkciók), elfogják a kernelhívásokat és megváltoztatják őket, így a Windows által biztosított natív 64 bites funkciókkal feldolgozhatók kernel.
3 xx fájlt használnak az x64 / IA64 rendszereken ennek eléréséhez: wow64cpu.dll, wow64win.dll és wow64.dll. Feladatuk a processzor tulajdonságainak elválasztása és a darabok biztosítása (később odaérünk hozzájuk) a Win32k.sys fájlba, amely biztosítja az „ablak” funkciót, és az ntoskrnl.exe, amely tartalmazza az ügyvezetőt, a kernelt, a memóriakezelőt, folyamat ütemező (nem szabad összekeverni a Vezérlőpulton elérhető Task ütemezővel) és az operációs rendszer egyéb alapvető elemei rendszer.
A törzs egy alprogram (gondoljon erre az utasításokat, amelyek egyetlen feladatot hajtanak végre), amely lehetővé teszi a program számára, hogy egy általános alprogramot vagy funkciót hajtson végre a rendszerben.
Ebben az esetben kivonja az argumentumokat a 32 bites program hívásvereméből, konvertálja azokat 64 bites társaikba, és megkezdi a 64 bites rendszerhívást. A hívásból való visszatérés után a 64 bites eredményeket 32 bitre konvertálja, majd visszateszi a program híváskötegére, hogy a hívó fél felhasználhassa.
Az összes eldobást felhasználói módban (korlátozott jogosultságokkal) végezzük két okból. Először is, minimálisra csökkenti a kódban található hibák hatásait, amelyek biztonsági rést, adatvesztést vagy rendszer összeomlást eredményezhetnek, ha kernel módban futnak.
Másodszor, csökkenti a teljesítmény-hatást, amelyet kernel üzemmódban (az operációs rendszer lényeges elemei által használt üzemmódban) történő futtatás esetén okozhat a felső váltás miatt, amikor a felhasználói mód és kernel mód és vissza.
Visszatérve az Itanium rendszerekhez, vannak még néhány fontos különbség, amelyeket érdemes megjegyezni. Az IA64 rendszerek két további fájlt használnak. Az IA32exec.bin az x86 szoftver emulátor, a Wowia32x.dll pedig felületet biztosít a WoW64 és a szoftver emulátor között.
A 32 bites folyamat betölti ezeket a fájlokat, valamint az ntdll.dll 64 bites verzióját. Ez az egyetlen 64 bites bináris fájl, amelyet 32 bites folyamatba tölthetnek be a Windows 7 előtt. A Windows 7 és későbbi verziók tartalmaznak egy másik DLL-t, az apisetschema.dll fájlt, amelyet minden folyamatba betöltünk.
Amikor egy 32 bites folyamat elindul, akkor a Wow64.dll betölti, amely viszont az ntdll.dll 32 bites verzióját és a szükséges 32 bites DLL fájlokat tölti be a % Systemroot% \ SysWOW64. Ezeknek a fájloknak a többsége megegyezik a 32 bites rendszer bináris fájljaival, bár néhányat átírták, hogy a WOW64 alatt másképp viselkedjenek.
A betöltött DLL-ek listáján látható, hogy a Win64 alatt 9 DLL van betöltve a folyamatban, amelyek a Win32 rendszerben nincsenek.
Most valószínűleg kísértésnek tűnik megnézni a fájlméreteket, összeadni őket, és ebből kiindulva felhasználhatja a szükséges memóriát, de pontatlan eredményekkel járhat. Ezeket a fájlokat természetüknél fogva megosztott összetevőkként fejlesztették ki, és ennek eredményeként az első fájl, amelyre DLL-t igényel, betölti a memóriába.
A későbbi, ugyanazt a DLL-t igénylő programok nem töltik be a teljes összetevőt a memóriába. Kapnak egy mutatót a már betöltött komponenshez, és RAM-ot allokálnak a folyamatba betöltött további elemekhez.
A tesztelés beállítása
Hogy megnézhessem, mi folyik, két virtuális gépet állítottam fel a Windows 7 Ultimate futtatására, mindegyikhez hozzárendelve 2 GB RAM-ot. Az egyik a 32 bites verzió, a másik a 64 bites. Mindkettő pontosan ugyanazon a telepítési és javítási folyamaton ment keresztül.
Miután mindkét rendszer javításra került, mindkét oldalon letiltottam a swap fájlt, hogy jobb képet kapjak a memóriahasználatról, biztosítva, hogy a RAM-ot ne lehessen lemezen tárolni. Amint ez befejeződött, a LibreOffice 5.0.3.2 telepítve volt.
A Sysinternals Process Explorer Process Explorer - a legerősebb Task Manager csere [Windows]Legyünk őszinték, a Windows Task Manager nem annyira nagyszerű a számítógépen futó folyamatok megértésére és kezelésére. Még a Windows 8 rendszerben is, ahol sok a fejlesztés, a feladatkezelő nem közelítheti meg a ... Olvass tovább mindkét gépen elhelyezték. Ez az az eszköz, amellyel memóriahasználati információkat gyűjtöttem. Az alapértelmezett oszlopbeállítás megváltozott, hogy megnézhessem a Working Set és a WS Private használatát.
Ezek a dolgozókészlet-számok tükrözik a programok által felhasznált RAM-ot. Ez egy kicsit tovább bonyolult, mivel tükrözi a megosztott könyvtárak által használt memóriamennyiséget, még akkor is, ha egy másik folyamat már betöltötte azokat. Emiatt, ha hozzáadja a teljes oszlopot, lehetséges, hogy egy összeggel is jár nagyobb, mint a telepített RAM. A működőkészlet továbbra is a legjobb mérőeszköz ahhoz, hogy pontosan mennyi memória szükséges egy folyamathoz.
Az általunk vizsgált folyamatok sem önmagukban állnak. A különféle LibreOffice programok újabb, a soffice.exe folyamatot indítanak, amely egy újabb folyamatot hajt végre, a soffice.bin. Az összes program hatékony memóriafelhasználásának megnézése érdekében mindhárom folyamat összesített elemét meg kell vizsgálnunk.
Az első teszthez egyszerűen kinyitottam a Writer, a Calc és az Impress szoftvert, hogy megvizsgáljam, mennyi memóriát fogyasztanak anélkül, hogy bármilyen adat lett volna betöltve, és az adatokat exportáltam volna a Process Explorerből. A Calc és az Impress használatával nyitottam meg egy 3,7 MB .xls fájlt és 3,9 MB .pptx fájlt, és rögzítettem az új memóriahasználatot. Az eredményeket az alábbi táblázat tartalmazza. Minden adat KB-ban van megadva.
A nagy meglepetés az Impress-szel történt. Dokumentum nélkül 4,1% -kal több RAM-ot használt a 64 bites rendszeren, és 9,9% -kal Kevésbé behelyezett dokumentummal. Kiástam néhány más előadást, és mindegyiknél hasonló eredmények voltak. A 64 bites rendszer kevesebb RAM-ot használt fel, mint a 32 bites rendszer.
Tehát vajon a Windows 64 bites verziójainál több RAM szükséges-e, mint a 32 bites társaiknál, amikor 32 bites alkalmazásokat futtatnak? Általában igen.
De frissítenie kell a RAM-ot? Valószínűleg nem. A különbség igazán nem olyan hatalmas. Ez természetesen nem különbözik 1,5-szer.
Bruce a 70-es évek óta játszik az elektronikával, a 80-as évek eleje óta a számítógépekkel, és pontosan megválaszolja a technológiával kapcsolatos kérdéseket, amelyeket egész idő alatt nem használt, sem látott. Azt is bosszantja, hogy megpróbálja gitározni.