Oglas

Većina računala danas isporučuje s 64-bitnom verzijom Windowsa i često s minimalnom količinom RAM-a. To dovodi u pitanje uspješnost ovih sustava. To je osobito istinito kada korisnici na ovim novim računalima žele pokrenuti naslijeđeni 32-bitni softver.

Što postavlja zanimljivo pitanje. Da li ti trebate više ili manje RAM-a Koliko RAM-a vam stvarno treba?RAM memorija je poput kratkotrajne memorije. Što više zadajete više zadataka, više vam treba. Saznajte koliko vašeg računala ima, kako najbolje iskoristiti ili kako doći do više. Čitaj više pokrenuti 32-bitnu aplikaciju na a 64-bitna verzija sustava Windows Što je 64-bitno računanje?Pakiranje računala ili računalnog hardvera pretrpano je tehničkim izrazima i značkama. Jedan od istaknutijih je 64-bitni. Čitaj više ? Ovaj tjedan to doznaje Bruce Epper.

Čitatelj pita:

Je li istina da trošenje 32-bitnih aplikacija na 64-bitnom Windows sustavu troši 1,5 puta više memorije u usporedbi s pokretanjem 32-bitne aplikacije u 32-bitnom Windows operativnom sustavu?

Bruceov odgovor:

Prethodno smo razgovarali o prednostima i nedostacima čuvanja svega 64-bitnog preko ploče i nekih od njih efekti "miješanja i podudaranja" Kako hardver i softver utječu na performanse sustava WindowsTeoretski, 32-bitni softver mogao bi nadmašiti 64-bitni kolega, ovisno o hardverskom postavljanju. Zvuči komplicirano? Ovdje smo da bismo imali smisla i pomogli vam da postignete najbolje performanse iz svog sustava. Čitaj više . Danas ćemo istražiti kako se 32-bitne aplikacije izvršavaju na 64-bitnim verzijama sustava Windows.

64-bitni Windows operativni sustav ne može pokrenuti 32-bitni Windows program bez dodatne pomoći. Oni su jednostavno previše različiti: od pokazivača i vrsta podataka, do načina na koji sustav poziva (kako programi koriste resurse temeljnog operativnog sustava). Trebate neki način da ih kompatibilni.

Razumijevanje WoW64

Da bi nadoknadio razlike, Windows koristi podsustav WoW64 (Windows32 na Windows64). Učinkovito djeluje kao 32-bitni Windows mini emulator na x64 sustavima i punopravni emulator na Itanium (IA64) sustavima.

Sustavi IA64 zahtijevaju puni emulator zbog razlika u uputama procesora i veličini memorijske stranice (4K u x86 i x64, 8K u IA64). Budući da procesori x64 imaju sve upute x86 procesora i koristi istu veličinu memorijske stranice, nema potrebe za potpunim emulatorom.

U oba slučaja, WoW64 pruža sučelje između 64-bitnog Windows kernela i 32-bitne verzije ntdll.dll (sadrži popis jezgre Windows funkcije kernela), presretanje poziva kernel-a i njihovo mijenjanje da bi ih mogli obraditi nativne 64-bitne funkcije koje pruža Windows zrno.

Postoje 3 DLL datoteke koje se koriste za x64 / IA64 sustave za postizanje ovoga: wow64cpu.dll, wow64win.dll i wow64.dll. Njihove su funkcije apstraktiranje karakteristika procesora i stvaranje kretnji (doći ćemo do njih kasnije) u win32k.sys koji pruža funkciju "prozora" i ntoskrnl.exe koji sadrži izvršnu službu, kernel, upravitelja memorije, planer procesa (ne smije se brkati s rasporedom zadataka dostupnim s upravljačke ploče) i ostali temeljni elementi operacijskog sustava sustav.

učitani-DLL

Skup je potprogram (misli se na njih kao na niz uputa koje izvode jedan zadatak) koji omogućuje programu da izvrši zajedničku potprogram ili funkciju u sustavu.

U ovom slučaju, izvlači argumente iz skupa poziva 32-bitnog programa, pretvara ih u njihove 64-bitne partnere i vrši 64-bitni sistemski poziv. Nakon povratka s poziva, 64-bitni rezultati će se pretvoriti u 32-bitne i vratiti ih u programsku paletu poziva za pozivatelja.

Sve prozivanje vrši se u korisničkom načinu rada (koji ima ograničena dopuštenja) iz dva razloga. Prvo, smanjuje učinke grešaka u kodu što može rezultirati sigurnosnom rupom, oštećenjem podataka ili pad sustava ako se izvodi u kernel modu.

Drugo, smanjuje učinak na performanse koje bi imao ako se izvodi u kernel modu (režim koji koriste bitni dijelovi operativnog sustava) zbog prekomjernih troškova koji prelaze iz prebacivanja između korisnički način rada i kernel način i natrag.

Vraćajući se na Itanium sustave, postoje neke druge važne razlike. IA64 sustavi koriste dvije dodatne datoteke. IA32exec.bin je softver za emulaciju x86, a Wowia32x.dll pruža sučelje između WoW64 i softverskog emulatora.

32-bitni proces učitavat će te datoteke kao i 64-bitna verzija ntdll.dll. Ovo su jedini 64-bitni binarni podaci koji se mogu učitati u 32-bitni proces prije Windowsa 7. Windows 7 i noviji također imaju još jedan DLL, apisetschema.dll, koji će se učitavati u sve procese.

Proces-istraživač

Kad se pokrene 32-bitni proces, on će učitati Wow64.dll koji zauzvrat učita 32-bitnu verziju ntdll.dll i sve potrebne 32-bitne DLL datoteke iz % Systemroot% \ SysWOW64. Većina ovih datoteka identična je binarnim datotekama na 32-bitnom sustavu, iako su neke napisane tako da se ponašaju drugačije u WOW64.

Gledajući popis učitanih DLL-ova vidimo da je u procesu Win64 učitanih 9 DLL-ova koji nisu tamo za sustav Win32.

E sad, možda ćete biti u iskušenju da pogledate veličine datoteka, dodate ih i iskoristite to kao osnovu za uporabu dodatne memorije, ali na kraju ćete dobiti netačne rezultate. Ove su datoteke, po svojoj prirodi, dizajnirane za dijeljenje komponenata i kao rezultat, prva datoteka za koju je potreban DLL učitava je u memoriju.

Naknadni programi koji zahtijevaju isti DLL ne učitavaju cijelu komponentu u memoriju. Oni dobivaju pokazivač na već učitanu komponentu i dodjeljuju RAM za dodatne elemente koji se učitavaju u proces.

Naša postava za testiranje

Kako bih vidio što se događa, postavio sam dva virtualna stroja na kojima je pokrenut Windows 7 Ultimate, a za svaki je dodijeljen 2 GB RAM-a. Jedna od njih je 32-bitna verzija, a druga 64-bitna. Oboje su prošli potpuno isti postupak instalacije i krpljenja.

Nakon što su oba sustava zakrpljena, onemogućio sam swap datoteku na oba kako bih dobio bolju sliku korištenja memorije osiguravajući da RAM-a ne može biti pozicionirano na disk. Nakon toga je instaliran program LibreOffice 5.0.3.2.

lo-calc

Kopija Sysinternals Process Explorer Process Explorer - Zamjena najmoćnijeg upravitelja zadataka [Windows]Budimo iskreni, upravitelj zadataka Windows nije baš sjajan za razumijevanje i upravljanje procesima koji se izvode na vašem računalu. Čak i u sustavu Windows 8, gdje je znatno poboljšan, upravitelj zadataka ne može se približiti ... Čitaj više također je postavljen na oba stroja. Ovo je alat koji sam koristio za prikupljanje podataka o upotrebi memorije. Zadana postavka stupaca je promijenjena kako bih mogao pogledati radni set i WS Private upotrebu.

Ti brojevi radnog skupa odražavaju količinu RAM-a koji programi koriste. Nešto se dodatno zakompliciralo odražavajući količinu memorije koju koriste zajedničke knjižnice, čak i ako ih je već učitao neki drugi postupak. Zbog toga, dodate li cijeli stupac, moguće je završiti s ukupnim brojem veći od instalirane RAM-a. Radni set je i dalje najbolje mjerilo koliko je memorije potrebno za postupak.

Postupci koje ispitujemo nisu ni sami. Različiti programi LibreOffice pokreću još jedan postupak, soffice.exe, koji će izvesti još jedan postupak, soffice.bin. Trebamo promatrati ukupna sva tri procesa da bismo vidjeli učinkovitu upotrebu memorije svakog programa.

Za početni test jednostavno sam otvorio Writer, Calc i Impress pojedinačno kako bih pogledao koliko memorije zauzimaju, a da se ne učitaju i izvezu podaci iz Process Explorera. S Calcom i Impressom otvorio sam 3.7 MB .xls datoteku i 3.9 MB .pptx datoteku, i zabilježio novu upotrebu memorije. Rezultati se mogu vidjeti u tablici ispod. Svi podaci su u KB.

memorije korištenje

Veliko iznenađenje dogodilo se s Impressom. Bez dokumenta koristila je 4,1% više RAM-a na 64-bitnom sustavu i 9,9% manje s učitanim dokumentom. Iskopao sam nekoliko drugih prezentacija i sa svima njima imao slične rezultate. 64-bitni sustav završio je s manje RAM-a od 32-bitnog sustava.

Pa, zahtijeva li 64-bitne verzije sustava Windows više RAM-a od svojih 32-bitnih kolega pri pokretanju 32-bitnih aplikacija? Općenito, da.

Ali trebate li nadograditi RAM? Vjerojatno ne. Razlika stvarno nije tako masivno Sigurno se ne razlikuje 1,5 puta.

Bruce se igrao s elektronikom od 70-ih, računalima od ranih 80-ih i točno je odgovarao na pitanja o tehnologiji koje nije koristio niti vidio cijelo vrijeme. Također se nervira pokušajem sviranja gitare.