Reklama

Väčšina počítačov sa dnes dodáva so 64-bitovou verziou systému Windows a často s minimálnym množstvom pamäte RAM. To spochybňuje výkonnosť týchto systémov. Platí to najmä v prípade, že používatelia chcú na týchto nových počítačoch spustiť svoj starší 32-bitový softvér.

To vyvoláva zaujímavú otázku. Myslíte si? potrebujú viac alebo menej pamäte RAM Koľko pamäte RAM naozaj potrebujete?RAM je ako krátkodobá pamäť. Čím viac budete multitask, tým viac budete potrebovať. Zistite, koľko má váš počítač, ako z neho vyťažiť maximum alebo ako získať viac. Čítaj viac spustiť 32-bitovú aplikáciu na a 64-bitová verzia systému Windows Čo je to 64-bitový počítač?Balenie počítača alebo počítačového hardvéru je preplnené technickými výrazmi a znakmi. Jeden z najvýznamnejších je 64-bit. Čítaj viac ? Tento týždeň to zistí Bruce Epper.

Čitateľ žiada:

Je pravda, že používanie 32-bitových aplikácií v 64-bitovom systéme Windows spotrebuje 1,5-krát viac pamäte v porovnaní so spustením 32-bitovej aplikácie v 32-bitovom operačnom systéme Windows?

instagram viewer

Bruceova odpoveď:

Už sme diskutovali o výhodách a nevýhodách udržiavania všetkého 64-bitového plošného prístupu a niektorých z nich účinky „miešania a porovnávania“ Vplyv hardvéru a softvéru na výkon systému WindowsTeoreticky by 32-bitový softvér mohol prekonať svoj 64-bitový náprotivok v závislosti od nastavenia hardvéru. Znie to komplikovane? Sme tu, aby sme vám dali zmysel a pomohli vám dosiahnuť najlepší výkon z vášho systému. Čítaj viac . Dnes sa chystáme preskúmať, ako sa 32-bitové aplikácie spúšťajú v 64-bitových verziách systému Windows.

64-bitový operačný systém Windows nemôže spustiť 32-bitový program Windows bez ďalšej pomoci. Sú jednoducho príliš odlišné: od ukazovateľov a typov údajov až po to, ako systém volá (ako programy využívajú zdroje základného operačného systému). Potrebujete nejaký spôsob, ako ich urobiť kompatibilnými.

Pochopenie WoW64

Windows používa na kompenzáciu rozdielov subsystém WoW64 (Windows32 na Windows64). Účinne funguje ako 32-bitový mini emulátor Windows v systémoch x64 a plnohodnotný emulátor v systémoch Itanium (IA64).

Systémy IA64 vyžadujú plný emulátor kvôli rozdielom v inštrukciách procesora a veľkostiach stránok s pamäťou (4 kB v x86 a x64, 8 kB v IA64). Pretože procesory x64 majú všetky pokyny pre procesory x86 a používajú rovnakú veľkosť stránky v pamäti, nie je potrebný plný emulátor.

V oboch prípadoch poskytuje WoW64 rozhranie medzi 64-bitovým jadrom Windows a 32-bitovou verziou ntdll.dll (obsahuje zoznam jadier) Funkcie jadra systému Windows), zachytávajúce volania jadra a ich zmeny tak, aby ich bolo možné spracovať pomocou natívnych 64-bitových funkcií poskytovaných systémom Windows kernel.

Na systémoch x64 / IA64 sa používajú 3 súbory DLL: wow64cpu.dll, wow64win.dll a wow64.dll. Ich funkciami sú abstraktné charakteristiky procesora a poskytovanie tónov (dostaneme sa k nim neskôr) na win32k.sys, ktorý poskytuje funkčnosť „okna“ a ntoskrnl.exe, ktorý obsahuje výkonný program, jadro, správcu pamäte, plánovač procesov (nesmie sa zamieňať s plánovačom úloh, ktorý je prístupný z ovládacieho panela), a ďalšími základnými prvkami operačného systému Systém.

naložené-DLL

Thunk je podprogram (myslite na ne ako na sériu inštrukcií, ktoré vykonávajú jednu úlohu), ktorá umožňuje programu vykonať bežný podprogram alebo funkciu v systéme.

V takom prípade extrahuje argumenty zo zásobníka hovorov 32-bitového programu, prevedie ich na ich 64-bitové náprotivky a vykoná 64-bitové systémové volanie. Po návrate z hovoru prevedie 64-bitové výsledky späť na 32-bitové čísla a tlačí ich späť do zásobníka programov, aby ich mohol volajúci použiť.

Všetky thunking sa vykonáva v užívateľskom režime (ktorý má obmedzené oprávnenie) z dvoch dôvodov. Najprv minimalizuje účinky chýb v kóde, ktoré by mohli mať za následok bezpečnostnú dieru, poškodenie údajov alebo zlyhanie systému, ak sú spustené v režime jadra.

Po druhé, znižuje výkon, aký by to malo, ak by bežal v režime jadra (režim používaný základnými časťami operačného systému) v dôsledku režijných nákladov pri prepínaní medzi užívateľský režim a režim jadra a späť.

Pokiaľ ide o systémy Itanium, je potrebné poznamenať niekoľko ďalších dôležitých rozdielov. Systémy IA64 používajú dva ďalšie súbory. IA32exec.bin je emulátor softvéru x86 a Wowia32x.dll poskytuje rozhranie medzi WoW64 a emulátorom softvéru.

32-bitový proces načíta tieto súbory, ako aj 64-bitovú verziu ntdll.dll. Toto sú iba 64-bitové binárne súbory, ktoré sa môžu načítať do 32-bitového procesu pred systémom Windows 7. Windows 7 a novšie verzie majú tiež ďalšiu DLL, apisetschema.dll, ktorá sa načíta do všetkých procesov.

Proces-prieskumník

Po spustení 32-bitového procesu načíta súbor Wow64.dll, ktorý následne načíta 32-bitovú verziu ntdll.dll a všetky potrebné 32-bitové DLL z % Systemroot% \ SYSWOW64. Väčšina z týchto súborov je identická s binárnymi súbormi na 32-bitovom systéme, hoci niektoré boli prepísané tak, aby sa v rámci WOW64 správali inak.

Pri pohľade na zoznam načítaných DLL vidíme, že v procese pod Win64 je načítaných 9 DLL, ktoré nie sú pre systém Win32.

Teraz by ste mohli byť v pokušení pozrieť sa na veľkosti súborov, pridať ich a použiť ako základ pre to, koľko extra pamäte sa využíva, ale nakoniec by ste dospeli k nepresným výsledkom. Tieto súbory sú svojou povahou navrhnuté ako zdieľané komponenty a výsledkom je, že prvý súbor, ktorý vyžaduje DLL, ho načíta do pamäte.

Nasledujúce programy, ktoré vyžadujú rovnakú knižnicu DLL, nenačítajú celú zložku do pamäte. Dostanú ukazovateľ na už načítanú súčasť a pridelia RAM pre ďalšie prvky, ktoré sa načítajú do procesu.

Naše nastavenie testovania

S cieľom zistiť, čo sa deje, som zriadil dva virtuálne stroje so systémom Windows 7 Ultimate s 2 GB pamäte RAM pridelenou každému z nich. Jednou z nich je 32-bitová verzia a druhá 64-bitová verzia. Obaja prešli rovnakým procesom inštalácie a záplatovania.

Po prepojení oboch systémov som zakázal odkladací súbor na oboch, aby som získal lepší obraz o využití pamäte zabezpečením, že RAM sa nebude dať na disk. Po dokončení inštalácie bol nainštalovaný program LibreOffice 5.0.3.2.

lo-calc

Kópia Prieskumník procesov Sysinternals Process Explorer - najúčinnejšia náhrada správcu úloh [Windows]Úprimne povedané, Správca úloh systému Windows nie je vynikajúci na porozumenie a správu procesov bežiacich na vašom počítači. Dokonca aj v prípade systému Windows 8, kde je vylepšený, sa správca úloh nemôže priblížiť k ... Čítaj viac bol tiež umiestnený na obidva stroje. Toto je nástroj, ktorý som použil na zhromažďovanie informácií o využití pamäte. Predvolené nastavenie stĺpca bolo zmenené, aby som sa mohol pozrieť na používanie pracovnej sady a súkromia WS Private.

Tieto čísla pracovných súprav odrážajú množstvo pamäte RAM, ktorú programy používajú. Trochu sa to skomplikovalo tým, že odrážalo množstvo pamäte, ktorú používajú zdieľané knižnice, aj keď už boli načítané iným procesom. Z tohto dôvodu, ak pridáte celý stĺpec, je možné skončiť s celkom väčšia ako nainštalovaná RAM. Pracovná súprava je stále najlepším meradlom presne toho, koľko pamäte sa vyžaduje pre proces.

Ani procesy, ktoré skúmame, nie sú samy osebe. Rôzne programy LibreOffice spustia ďalší proces, soffice.exe, ktorý vykoná ďalší proces, soffice.bin. Musíme sa pozrieť na súčty všetkých troch procesov, aby sme videli efektívne využitie pamäte každého programu.

Na úvodný test som jednoducho otvoril aplikácie Writer, Calc a Impress individuálne, aby som zistil, koľko pamäte spotrebujú, bez toho, aby boli načítané a exportované údaje z Process Explorer. S programami Calc a Impress som otvoril súbor 3,7 MB .xls a 3,9 MB .pptx a zaznamenal som nové využitie pamäte. Výsledky sú uvedené v nasledujúcej tabuľke. Všetky údaje sú v KB.

Využitie pamäte

Veľké prekvapenie sa stalo s Impressom. Bez dokumentu používal v 64-bitovom systéme viac RAM o 4,1% a 9,9% menej s vloženým dokumentom. Vykopal som niekoľko ďalších prezentácií a podobné výsledky som mal vo všetkých. 64-bitový systém nakoniec využíval menej pamäte RAM ako 32-bitový systém.

Vyžadujú teda 64-bitové verzie systému Windows pri spúšťaní 32-bitových aplikácií viac pamäte RAM ako ich 32-bitové náprotivky? Všeobecne áno.

Potrebujete však aktualizovať svoju RAM? Pravdepodobne nie. Rozdiel naozaj nie je to také masívne. Určite to nie je 1,5-krát odlišné.

Bruce hrá s elektronikou už od 70. rokov, počítače od začiatku 80. rokov a presne odpovedal na otázky týkajúce sa technológie, ktorú celý čas nepoužíva ani nevidel. Tiež sa hnevá tým, že sa pokúša hrať na gitaru.