Skelbimas
Šiandien daugumoje kompiuterių yra 64 bitų „Windows“ versija ir dažnai minimalus RAM kiekis. Tai verčia abejoti, ar šios sistemos veikia gerai. Tai ypač aktualu, kai vartotojai nori paleisti savo senąją 32 bitų programinę įrangą šiuose naujuose kompiuteriuose.
Dėl to kyla įdomus klausimas. Ar tu reikia daugiau ar mažiau RAM Kiek RAM jums tikrai reikia?RAM yra kaip trumpalaikė atmintis. Kuo daugiau multitask, tuo daugiau jums reikia. Sužinokite, kiek jūsų kompiuteris turi, kaip kuo geriau išnaudoti ar kaip gauti daugiau. Skaityti daugiau paleisti 32 bitų programą 64 bitų „Windows“ versija Kas yra 64 bitų kompiuterija?Kompiuterio ar kompiuterinės įrangos pakuotės yra užpildytos techniniais terminais ir ženkleliais. Vienas iš žymiausių yra 64 bitų. Skaityti daugiau ? Šią savaitę sužino Bruce'as Eperis.
Skaitytojas klausia:
Ar tiesa, kad 32 bitų programų naudojimas 64 bitų „Windows“ sistemoje sunaudoja daug pastangų 1,5 karto daugiau atminties palyginti su 32 bitų programos paleidimu naudojant 32 bitų „Windows“ operacinę sistemą?
Bruce'o atsakymas:
Anksčiau aptarėme pranašumus ir trūkumus, jei viskas bus 64 bitų ir visa tai „sumaišymo ir suderinimo“ poveikis Kaip „Windows“ veikimui įtakos turi aparatinė ir programinė įrangaTeoriškai 32 bitų programinė įranga galėtų pranokti 64 bitų atitikmenis, atsižvelgiant į aparatinės įrangos sąranką. Skamba sudėtingai? Mes esame tam, kad turėtume prasmę ir padėtume jums pasiekti geriausią savo sistemos našumą. Skaityti daugiau . Šiandien išnagrinėsime, kaip 32 bitų programos vykdo 64 bitų „Windows“ versijas.
64 bitų „Windows“ operacinė sistema negali paleisti 32 bitų „Windows“ programos be jokios papildomos pagalbos. Jie tiesiog per daug skirtingi: nuo rodyklių ir duomenų tipų iki sistemos skambučių (kaip programos naudoja pagrindinės operacinės sistemos išteklius). Jums reikia tam tikro būdo, kad jie būtų suderinami.
WoW64 supratimas
Skirtumams kompensuoti „Windows“ naudoja WoW64 („Windows32“, „Windows64“) posistemį. Tai veiksmingai veikia kaip 32 bitų „Windows“ mini emuliatorius x64 sistemose ir visavertis emuliatorius „Itanium“ (IA64) sistemose.
IA64 sistemoms reikalingas visas emuliatorius, nes skiriasi procesoriaus instrukcijos ir atminties puslapių dydžiai (4K x86 ir x64, 8K IA64). Kadangi „x64“ procesoriai turi visas „x86“ procesorių instrukcijas ir naudoja tą patį atminties puslapio dydį, jam nereikia visiško emuliatoriaus.
Abiem atvejais „WoW64“ teikia sąsają tarp 64 bitų „Windows“ branduolio ir 32 bitų „ntdll.dll“ versijos (joje pateiktas pagrindinių „Windows“ branduolio funkcijos), sulaikydami branduolio skambučius ir juos pakeisdami, kad juos būtų galima apdoroti naudojant „Windows“ teikiamas 64 bitų savąsias funkcijas branduolys.
X64 / IA64 sistemose yra naudojami 3 DLL failai: wow64cpu.dll, wow64win.dll ir wow64.dll. Jų funkcijos yra atskirti procesoriaus charakteristikas ir pateikti nykščius (mes su jais susisieksime vėliau) į Win32k.sys, kuri teikia „lango“ funkcijas, ir ntoskrnl.exe, kuriame yra vykdomoji programa, branduolys, atminties tvarkyklė, proceso planavimo priemonė (nepainioti su užduočių planuokle, prieinamą iš valdymo skydelio) ir kiti pagrindiniai operacinės sistemos elementai sistema.

Storis yra paprogramė (pagalvok apie tai kaip instrukcijų, kurios atlieka vieną užduotį, serija), leidžiančiai programai vykdyti bendrą paprogramę ar funkciją sistemoje.
Tokiu atveju jis ištraukia argumentus iš 32 bitų programos skambučių rinkinio, konvertuoja juos į 64 bitų atitikmenis ir verčia 64 bitų sistemos skambutį. Grįžęs iš skambučio, jis konvertuos 64 bitų rezultatus į 32 bitus ir stumia juos atgal į programos skambučių kaminą, kad skambintojas galėtų naudotis.
Visi griaustiniai daromi vartotojo režimu (kuriam suteiktos ribotos teisės) dėl dviejų priežasčių. Pirma, tai sumažina klaidų kodą, kuris gali sukelti saugos spragą, duomenų sugadinimą ar sistemos gedimą, jei veikia branduolio režimu.
Antra, jis sumažina efektyvumo poveikį, kurį galėtų patirti dirbdamas branduolio režimu (režimu, kurį naudoja pagrindinės operacinės sistemos dalys), dėl pridėtinės vertės, susijusios su perjungimu vartotojo režimas ir branduolio režimas ir atgal.
Grįžtant prie „Itanium“ sistemų, reikia pastebėti ir keletą kitų svarbių skirtumų. IA64 sistemos naudoja du papildomus failus. „IA32exec.bin“ yra „x86“ programinės įrangos emuliatorius, o „Wowia32x.dll“ teikia sąsają tarp „WoW64“ ir programinės įrangos emuliatoriaus.
32 bitų procesas įkels šiuos failus, taip pat 64 bitų ntdll.dll versiją. Tai yra vienintelės 64 bitų dvejetainės versijos, kurios gali būti įkeltos į 32 bitų procesą prieš „Windows 7“. „Windows 7“ ir naujesnė versija taip pat turi kitą DLL, apisetschema.dll, kuris bus įkeltas į visus procesus.

Pradėjus 32 bitų procesą, jis bus įkeltas „Wow64.dll“, kuris savo ruožtu įkels iš NTdll.dll 32 bitų versiją ir visus būtinus 32 bitų DLL iš % systemroot% \ SysWOW64. Dauguma šių failų yra identiški dvejetainiams failams 32 bitų sistemoje, nors kai kurie buvo perrašyti, kad pagal „WOW64“ jie elgtųsi kitaip.
Pažvelgę į įkeltų DLL sąrašą, galime pamatyti, kad Win64 procese yra 9 DLL, kurių nėra Win32 sistemai.
Dabar gali kilti pagunda peržvelgti failų dydžius, sudėti juos ir naudoti tai kaip pagrindą, kiek reikia naudoti papildomos atminties, tačiau rezultatas bus netikslus. Šie failai pagal savo pobūdį yra skirti bendriems komponentams, todėl pirmasis failas, kuriam reikalingas DLL, įkelia jį į atmintį.
Vėlesnės programos, kurioms reikalingas tas pats DLL, neįkelia viso komponento į atmintį. Jie gauna žymiklį į jau įkeltą komponentą ir paskirsto RAM papildomiems elementams, kurie įkeliami į procesą.
Mūsų testavimo sąranka
Norėdama pamatyti, kas vyksta, aš sukūriau dvi virtualias mašinas, kuriose veikia „Windows 7 Ultimate“, su kiekvienai paskirta 2 GB RAM. Vienas iš jų yra 32 bitų versija, o kitas - 64 bitų. Abu perėjo tą patį diegimo ir pataisymo procesą.
Po to, kai abi sistemos buvo pataisytos, aš išjungiau mainų failą abiejose, norėdamas gauti geresnį atminties panaudojimo vaizdą, užtikrindamas, kad RAM nepavyks rasti diske. Kai tai bus baigta, buvo įdiegta „LibreOffice 5.0.3.2“.

. Kopija „Sysinternals Process Explorer“ Proceso naršyklė - galingiausias užduočių tvarkyklės pakeitimas [„Windows“]Būkime sąžiningi, kad „Windows“ užduočių tvarkyklė nėra tokia puiki, norint suprasti ir valdyti jūsų kompiuteryje vykstančius procesus. Net „Windows 8“, kur ji yra daug patobulinta, užduočių tvarkyklė negali priartėti prie ... Skaityti daugiau taip pat buvo padėtas ant abiejų mašinų. Tai įrankis, kurį naudojau rinkdamas informaciją apie atmintį. Numatytasis stulpelio nustatymas buvo pakeistas, kad galėčiau pažvelgti į darbo rinkinį ir „WS Private“ naudojimą.
Šie darbiniai rinkiniai rodo, kiek RAM naudoja programos. Tai šiek tiek apsunkino, atspindėdamas atminties kiekį, kurį naudoja bendros bibliotekos, net jei jos jau buvo įkeltos kitu procesu. Dėl šios priežasties, jei pridėsite visą stulpelį, bus įmanoma sudaryti bendrą skaičių didesnė nei įdiegta RAM. Darbinis rinkinys vis dar yra geriausias rodiklis, kiek tiksliai reikia atminties procesui.
Mūsų nagrinėjami procesai taip pat nėra vieniši. Įvairios „LibreOffice“ programos paleidžia kitą procesą - soffice.exe, kuris vykdys dar vieną procesą - soffice.bin. Norėdami pamatyti efektyvų kiekvienos programos atminties panaudojimą, turime žiūrėti į visų trijų procesų sumas.
Pradiniam bandymui aš tiesiog atidariau „Writer“, „Calc“ ir „Impress“ atskirai, norėdamas sužinoti, kiek atminties jie sunaudoja, neįkeliant jokių duomenų, ir eksportavau duomenis iš „Process Explorer“. Naudodamas „Calc“ ir „Impress“, atidariau atitinkamai 3,7 MB .xls ir 3,9 MB .pptx failą ir užfiksavau naują atminties naudojimą. Rezultatus galite pamatyti žemiau esančioje lentelėje. Visi duomenys yra pateikti KB.

Didelė staigmena įvyko su „Impress“. Be dokumento 64 bitų sistemoje jis sunaudojo 4,1% daugiau RAM ir 9,9% mažiau su įdėtu dokumentu. Aš išnagrinėjau keletą kitų pristatymų ir turėjau panašių rezultatų su visais. 64 bitų sistema sunaudojo mažiau RAM nei 32 bitų sistema.
Taigi, ar 64 bitų „Windows“ versijoms reikia daugiau RAM nei jų 32 bitų versijoms, kai veikia 32 bitų programos? Apskritai, taip.
Bet ar reikia atnaujinti savo RAM? Tikriausiai ne. Skirtumas tikrai nėra tokia masyvi. Tai tikrai nėra 1,5 karto skirtinga.
Bruce'as žaidžia su elektronika nuo 70-ųjų, kompiuteriais - nuo 80-ųjų pradžios ir tiksliai atsako į klausimus apie technologijas, kurių jis visą laiką nenaudojo ir nematė. Jis taip pat erzina save bandydamas groti gitara.