Potřebujete více paměti RAM ke spuštění 32bitových programů v 64bitovém systému Windows?

  • Gabriel Brooks
  • 0
  • 3799
  • 56
reklama

Většina počítačů se dnes dodává s 64bitovou verzí systému Windows a často s minimálním množstvím paměti RAM. To zpochybňuje, jak dobře tyto systémy fungují. To platí zejména v případě, že uživatelé chtějí na těchto nových počítačích spustit svůj starší 32bitový software.

Což vyvolává zajímavou otázku. Potřebujete více či méně paměti RAM Kolik paměti RAM skutečně potřebujete? Kolik paměti RAM skutečně potřebujete? RAM je jako krátkodobá paměť. Čím více budete multitask, tím více budete potřebovat. Zjistěte, kolik má váš počítač, jak z něj vytěžit maximum, nebo jak získat více. spouštět 32bitovou aplikaci v 64bitové verzi systému Windows Co je 64bitová práce s počítačem? Co je to 64bitový výpočet? Balení počítače nebo počítačového hardwaru je přeplněné technickými pojmy a odznaky. Jeden z nejvýznamnějších je 64bitový. ? Tento týden to zjistí Bruce Epper.

Čtenář se ptá:

Je pravda, že spuštění 32bitových aplikací v 64bitovém systému Windows spotřebuje 1,5krát více paměti ve srovnání se spuštěním 32bitové aplikace v 32bitovém operačním systému Windows?

Bruceova odpověď:

Dříve jsme diskutovali o výhodách a nevýhodách udržení všeho 64-bitového plošného přenosu a některých účinků “míchání a párování” Jak je výkon Windows ovlivňován hardwarem a softwarem Jak je výkon Windows ovlivňován hardwarem a softwarem Teoreticky může 32bitový software překonat svůj 64bitový protějšek v závislosti na nastavení hardwaru. Zní to komplikovaně? Jsme tu proto, abychom vám dali smysl a pomohli vám získat nejlepší výkon z vašeho systému. . Dnes se chystáme prozkoumat, jak se 32bitové aplikace spouštějí v 64bitových verzích Windows.

64bitový operační systém Windows nemůže spustit 32bitový program Windows bez nějaké další pomoci. Jsou prostě příliš odlišné: od ukazatelů a datových typů až po způsob, jakým systém volá (jak programy využívají zdroje základního operačního systému). Potřebujete nějaký způsob, jak zajistit jejich kompatibilitu.

Porozumění WoW64

Windows používá k kompenzaci rozdílů subsystém WoW64 (Windows32 na Windows64). Účinně funguje jako 32bitový mini emulátor Windows v systémech x64 a plnohodnotný emulátor v systémech Itanium (IA64).

Systémy IA64 vyžadují plný emulátor kvůli rozdílům v instrukcích procesoru a velikosti stránek paměti (4 kB v x86 a x64, 8 kB v IA64). Protože procesory x64 mají všechny instrukce procesorů x86 a používají stejnou velikost stránky paměti, není potřeba plný emulátor.

V obou případech poskytuje WoW64 rozhraní mezi 64bitovým jádrem Windows a 32bitovou verzí ntdll.dll (obsahuje seznam základních funkcí jádra Windows), zachycuje volání jádra a mění je tak, aby mohly být zpracovány nativní 64bitové funkce poskytované jádrem Windows.

K dosažení tohoto cíle jsou v systémech x64 / IA64 používány 3 soubory DLL: wow64cpu.dll, wow64win.dll a wow64.dll. Jejich funkcí je abstraktní charakteristika procesoru a poskytování thunků (dostaneme se k nim později) do win32k.sys, který poskytuje “okno” funkčnost a ntoskrnl.exe, která obsahuje výkonný program, jádro, správce paměti, plánovač procesů (nezaměňovat je s Plánovačem úloh přístupným z ovládacího panelu) a další základní prvky operačního systému.

Thunk je podprogram (považujte je za řadu instrukcí, které provádějí jednu úlohu), která umožňuje programu provádět v systému společný podprogram nebo funkci.

V tomto případě extrahuje argumenty ze zásobníku volání 32bitového programu, převede je na jejich 64bitové protějšky a provede 64bitové systémové volání. Po návratu z hovoru převede 64bitové výsledky zpět na 32 bitů a vrátí je zpět do zásobníku volání programu, aby mohl volající použít.

Všechny thunking se provádí v uživatelském režimu (který má omezená oprávnění) ze dvou důvodů. Nejprve minimalizuje účinky chyb v kódu, které by mohly vést k bezpečnostní díře, poškození dat nebo selhání systému, pokud běží v režimu jádra.

Za druhé, snižuje výkonový dopad, který by měl, kdyby běžel v režimu jádra (režim používaný základními částmi operačního systému) kvůli režijnímu zatížení při přepínání mezi uživatelským režimem a režimem jádra a zpět.

Vrátíme-li se k systémům Itanium, je třeba poznamenat ještě několik důležitých rozdílů. Systémy IA64 používají dva další soubory. IA32exec.bin je softwarový emulátor x86 a Wowia32x.dll poskytuje rozhraní mezi WoW64 a softwarovým emulátorem.

32bitový proces načte tyto soubory a také 64bitovou verzi ntdll.dll. Toto jsou pouze 64bitové binární soubory, které mohou být načteny do 32bitového procesu před Windows 7. Windows 7 a novější mají také další DLL, apisetschema.dll, která bude načtena do všech procesů.

Při spuštění 32bitového procesu načte Wow64.dll, který zase načte 32bitovou verzi ntdll.dll a všechny potřebné 32bitové DLL z % systemroot% \ SysWOW64. Většina z těchto souborů je totožná s binárními soubory na 32bitovém systému, i když některé byly přepsány tak, aby se chovaly jinak pod WOW64.

Při pohledu na seznam načtených DLL vidíme, že v procesu pod Win64 je načteno 9 DLL, které nejsou pro systém Win32.

Nyní byste mohli být v pokušení podívat se na velikosti souborů, přidat je a použít je jako základ pro to, kolik další paměti je využíváno, ale nakonec byste skončili s nepřesnými výsledky. Tyto soubory jsou svou povahou navrženy jako sdílené součásti a v důsledku toho je první soubor vyžadující DLL načte do paměti.

Následující programy, které vyžadují stejnou DLL, nenačtou celou součást do paměti. Dostanou ukazatel na již načtenou komponentu a přidělují RAM pro další prvky, které jsou načteny do procesu.

Naše nastavení testování

Abych viděl, co se děje, nastavil jsem dva virtuální stroje se systémem Windows 7 Ultimate s 2 GB RAM přiděleným každému. Jedním z nich je 32bitová verze a druhá 64bitová. Oba prošli stejným procesem instalace a opravy.

Poté, co byly oba systémy propojeny, zakázal jsem odkládací soubor na obou, abych získal lepší obrázek o využití paměti zajištěním, že RAM nebude možné stránkovat na disk. Po dokončení instalace byl nainstalován software LibreOffice 5.0.3.2.

Kopie Sysinternals Process Explorer Process Explorer - nejvýkonnější náhrada Správce úloh [Windows] Process Explorer - nejvýkonnější náhrada Správce úloh [Windows] Buďme upřímní, Správce úloh Windows není tak skvělý pro porozumění a správu běžících procesů na tvém počítači. Dokonce i na Windows 8, kde je mnohem vylepšen, se správce úloh nemůže přiblížit ... byl také umístěn na obou počítačích. Toto je nástroj, který jsem použil ke shromažďování informací o využití paměti. Výchozí nastavení sloupce bylo změněno, takže jsem se mohl podívat na použití pracovní sady a WS Private.

Tato čísla pracovních sad odrážejí množství paměti RAM používané programy. Trochu se to komplikovalo tím, že se odrazilo množství paměti používané sdílenými knihovnami, i když již byly načteny jiným procesem. Z tohoto důvodu, pokud přidáte celý sloupec, je možné skončit celkem větší než nainstalovaná RAM. Pracovní sada je stále nejlepším měřítkem toho, kolik paměti je pro proces potřeba.

Ani procesy, které zkoumáme, nejsou samy o sobě. Různé programy LibreOffice spouští další proces, soffice.exe, který provede další proces, soffice.bin. Musíme se podívat na součty všech tří procesů, abychom viděli efektivní využití paměti každého programu.

Pro počáteční test jsem jednoduše otevřel Writer, Calc a Impress individuálně, abych se podíval na to, kolik paměti spotřebují, aniž by byla načtena a exportována data z Process Explorer. S Calc a Impress jsem otevřel 3,7 MB .xls soubor, respektive 3,9 MB. PPTX soubor a zaznamenal nové využití paměti. Výsledky jsou uvedeny v následující tabulce. Všechna data jsou v KB.

K velkému překvapení došlo u Impressu. Bez dokumentu používal 4,1% více RAM v 64bitovém systému a 9,9% méně s načteným dokumentem. Vykopal jsem několik dalších prezentací a měl jsem s nimi všechny podobné výsledky. 64bitový systém nakonec používal méně RAM než 32bitový systém.

Vyžadují tedy 64bitové verze systému Windows při spuštění 32bitových aplikací více paměti RAM než jejich 32bitové protějšky? Obecně ano.

Ale musíte upgradovat RAM? Asi ne. Rozdíl opravdu není tak masivní. Rozhodně to není 1,5krát odlišné.




Bisher hat noch niemand einen Kommentar zu diesem Artikel abgegeben.

O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.