Cum se instalează un program pe 32 de biți pe 64. Windows XP x64: promisiuni și realitate. Probleme potențiale cu unitățile

Am un computer cu Windows 10 (ediție acasă) care are 4 GB RAM și un procesor i5. Trebuie să rulez un program de contabilitate vechi pe 32 de biți. Vânzătorul a spus că nu vor lansa o versiune pe 64 de biți (deși există o versiune pe 64 de biți, îi lipsesc caracteristicile cheie din versiunea veche).

Programul se instalează bine, dar când dau clic pe pictograma programului, îmi spune că programul nu va rula pe un sistem pe 64 de biți.

Care sunt opțiunile mele?

Am făcut destul de multe cercetări, dar se pare că îi este frică.

1) WoW64

Aparent, acest lucru ar trebui să vă permită să rulați pe 32 de biți pe Windows pe 64 de biți. Totuși, nu știu cum să-l instalez. Cred că asta este doar pentru servere web. Cu toate acestea, acest thread Stack Overflow spune că poate funcționa pe Windows 7, dar nu explică cum să-l configurezi (sau dacă va funcționa pe Windows 10).

2) Modul XP

Emulator Windows XP pe 32 de biți. Cu toate acestea, se pare că este pentru Windows 7. De asemenea, conform acestui fir Stack Overflow, aveți nevoie de Windows Professional.

3) Mașină virtuală

Să emulăm Windows. Pare prea mult pentru scopurile mele. În plus, va trebui să cumpăr o licență Windows pe 32 de biți. Cred că va fi lent cu un ram de 4 GB.

4) Manager de partiții pentru versiunile pe 32 și 64 de biți. Se pare că puteți folosi instrumentul gratuit EaseUS pentru a împărți unitatea în două și apoi instalați versiuni separate pe 32 și 64 de biți.

Din nou, pare exagerat și se pare că trebuie să cumpăr o licență Windows 10 pe 32 de biți.

Acestea sunt singurele mele opțiuni?

Imagini

Prima rulare (din mesajul de eroare, presupun că acesta este un program pe 16 biți)

Făcând clic pe program

3 Soluții colectează formulare web pentru „Rularea aplicațiilor pe 32 de biți pe Windows 10 pe 64 de biți”

Mai simplu spus, dacă doriți să utilizați un program mai vechi de 16 biți, trebuie să rulați o versiune de Windows pe 32 de biți. Versiunile pe 64 de biți ale sistemului de operare pur și simplu nu îl acceptă deoarece le lipsește nivelul de compatibilitate (sunt, totuși, compatibile cu software-ul pe 32 de biți mai utilizat). Există și alte limitări ale Windows pe 64 de biți, dar punctul cheie aici este că programele pe 16 biți nu vor rula.

Editați | ×: după ce am reluat această problemă ceva timp mai târziu, aș dori să abordez constatările dvs. în OP.

  1. WoW64 Vă permite să rulați programe pe 32 de biți într-un mediu Windows pe 64 de biți. Este încorporat în sistemul de operare Windows și nu necesită instalare suplimentară. De asemenea, instalările Windows pe 32 de biți pot rula programe pe 16 biți.
  2. Modul XP a fost o caracteristică a Windows 7 Professional, Enterprise și Ultimate care vă permitea să rulați Windows XP, mai popular, la acea vreme într-o mașină virtuală.
  3. Cutie virtuală sau orice software de mașină virtuală (VMWare este un alt exemplu) vă permite să instalați un sistem de operare intern și să îl rulați în interiorul mașinii dvs. principale. Acesta ar fi cel mai simplu mod de a vă atinge obiectivul, deoarece ați putea pur și simplu să instalați software-ul pe un sistem de operare virtual pe 32 de biți. Dacă ați acordat VM-ului acces la memorie de 2 GB, atunci într-o instalare pe 32 de biți va funcționa bine. Leneș, dar în regulă.
  4. Partiționarea discului vă va permite să porniți dual Windows. Aceasta este o soluție mai permanentă și nu ar trebui făcută IMO dacă nu puteți porni VM-ul.

Nu este pe 32 de biți, este pe 16 biți

Acest lucru va necesita să puteți rula pe spațiu de memorie WoW de 16 biți.

WoW16 este Windows pentru Windows.

WoW a fost lansat pe Windows 3.0, adesea numit Windows for Workgroups.

Deoarece acest spațiu de memorie de 16 biți nu mai este disponibil, puteți instala DOSBox pe sistem, puteți instala Windows 3.1 în DOSBox și puteți rula aplicația de acolo.

O altă opțiune este să instalați versiunea pe 32 de biți a Windows 10 ca mașină virtuală și să o rulați de acolo.

În majoritatea cazurilor, computerele moderne vin cu sistemul de operare Windows 10 pe 64 de biți instalat. Chiar și modelele bugetare au deja 3 sau mai mulți GB de RAM, ceea ce permite sistemului să utilizeze întreaga putere a procesării datelor pe 64 de biți.

Puteți citi mai multe despre avantajele Windows pe 64 de biți față de 32 de biți în articolul nostru „”.

Dar, oricât de atractiv ar fi sistemul pe 64 de biți, de multe ori utilizatorul pur și simplu nu are la dispoziție un program pe 64 de biți cu care lucrează de mult timp și care i se potrivește pe deplin, deoarece producătorul pur și simplu nu l-a lansat. De regulă, astfel de programe sunt instalate în Windows într-un folder separat \Program Files (x86) și rulează în modul pe 32 de biți.

Dacă în timpul procesului de pornire programul dă o eroare sau nu pornește deloc, dar în Windows 32 biți a funcționat fără probleme, există șansa de a-l lansa într-un mod special, pe care dezvoltatorii l-au numit „Mod de compatibilitate”.

Pentru a face acest lucru, în Windows 7, faceți clic dreapta pe comanda rapidă a programului dorit, apoi selectați „Proprietăți” din meniul contextual. În fereastra care se deschide, accesați fila „Compatibilitate” și bifați caseta „Rulați programul în modul de compatibilitate pentru...” iar în lista derulantă, specificați opțiunea de sistem pentru a lansa.
Faceți clic pe OK. După aceea, încercați să rulați programul.

În plus, în meniul contextual Explorer, este de asemenea logic să încercați să rezolvați automat problema făcând clic pe linia „Remediați problemele de compatibilitate” - în Windows 7.

În Windows 10, atunci când îl setați să ruleze în modul compatibil, există un buton separat în fila Compatibilitate care spune „Run the Compatibility Troubleshooter”. După care vi se va solicita fie să utilizați parametrii recomandați, fie să executați diagnostice în program.

Dacă nici după aceasta programul nu pornește, atunci ar trebui să abordați problema mai amănunțit și să încercați opțiunile indicate pe site-ul oficial Microsoft.

O metodă mai radicală de lansare a programului este să îl instalați și să îl utilizați într-o mașină virtuală cu Windows 7 pe 32 de biți instalat. Puteți citi mai multe despre cum să instalați și să configurați o mașină virtuală în articolul nostru „”.

În ultimul an, am ajutat mai mulți clienți să migreze de la un mediu Windows pe 32 de biți la un mediu Windows mixt pe 32 de biți și 64 de biți. După migrare, unii utilizatori observatori au observat ceva neobișnuit la noile lor sisteme Windows pe 64 de biți care rulează pe sisteme cu procesoare Intel pe 64 de biți. Dacă vă uitați la variabila de mediu PROCESSOR_ARCHITECTURE din aplicația System din Control Panel sau la linia Cmd.exe pe 64 de biți, veți vedea că valoarea acesteia este AMD64.

Deși valoarea poate părea să distingă furnizorul (de exemplu, AMD în loc de Intel), este exact ceea ce ar trebui să fie. PROCESSOR_ARCHITECTURE este legată de arhitectură, nu de implementare. Deoarece procesoarele Intel64 implementează arhitectura AMD64, ele sunt membri ai clasei de procesoare AMD64.

Nu vă atrag atenția asupra acestui fapt neobișnuit. Din perspectiva biroului de asistență, arhitectura procesorului înseamnă arhitectură Windows, iar a avea mai multe arhitecturi Windows într-o organizație înseamnă a avea mai multe versiuni de orice, de la fișiere Windows la pachete de service și drivere. Înțelegerea și înțelegerea arhitecturilor procesoarelor poate ajuta la rezolvarea unora dintre problemele care apar adesea într-un mediu de rețea mixt pe 32 de biți și 64 de biți. Ne vom uita la toate cele trei arhitecturi de procesoare actuale - x86, IA64 și AMD64. Le voi numi arhitecturi Windows. Apoi, vă voi arăta mai multe lucruri de urmărit pe măsură ce treceți la un mediu mixt pe 32 de biți și 64 de biți.

Arhitectura Windows x86 rămâne singura arhitectură Windows autonomă pe 32 de biți. După cum v-ați aștepta, rulează pe toate procesoarele care implementează arhitectura procesorului x86. Cu toate acestea, există câteva avertismente importante de care cred că trebuie reținute.

Primul este că procesorul AMD64 este un set extins de instrucțiuni de procesoare cu arhitectură x86, astfel încât Windows cu arhitectură x86 poate rula pe procesoare cu arhitectură AMD64. Multe dintre computerele care au apărut pe piață în ultimii cinci ani și au rulat Windows x86 au folosit de fapt procesoare pe 64 de biți. Deși nu puteți actualiza aceste sisteme la Windows pe 64 de biți, puteți efectua o instalare curată a Windows pe 64 de biți pe aceste procesoare. Deși nu puteți spune cu siguranță că un sistem Windows pe 32 de biți rulează pe un procesor pe 64 de biți, puteți utiliza utilitarul Windows Management Instrumentation Command-line (WMIC) încorporat pentru a verifica numele procesorului, apoi puteți poate verifica specificațiile procesorului pe site-ul producătorului. Pentru a verifica numele procesorului de pe computerul local, deschideți Cmd.exe și executați comanda:

CPU wmic obține numele

Pentru a verifica numele procesorului pe o mașină la distanță numită x51, rulați următoarea comandă:

wmic /node: CPU x51 obține numele

A doua avertizare este că platforma Windows pe 64 de biți va rula și aplicații Windows pe 32 de biți într-un emulator Windows x86 dedicat. Și, deși sistemul de operare Windows în sine este pe 64 de biți, în emulator Windows arată la fel ca Windows x86. În special, valoarea variabilei de mediu PROCESSOR_ARCHITECTURE va fi x86. Cu toate acestea, puteți afla și cum este mediul real. Emulatorul x86 oferă, de asemenea, o variabilă de mediu numită PROCESSOR_ARCHITEW6432, care indică arhitectura Windows în sine. Dacă variabila nu există, atunci rulați în întregime pe hardware și Windows x86.

De asemenea, puteți utiliza WMIC pentru a verifica valoarea reală a PROCESSOR_ARCHITECTURE. De exemplu, pentru a verifica valoarea reală a mediului a computerului local și a computerului x51 la distanță, executați următoarele comenzi:

mediu wmic unde

wmic/node: mediu x51 unde

"name='ProCeSSor_arCHiteCture'" get

Aceste comenzi sunt scrise aici cu silabe, dar ar trebui introduse fiecare pe un rând.

Fiecare versiune de Windows de la Windows NT a suportat arhitectura x86, dar asta este pe cale să se schimbe. Deși Windows 7 acceptă arhitecturi x86, Windows Server 2008 R2 este doar pe 64 de biți.

AMD nu a fost singura companie care a creat o arhitectură de procesor pe 64 de biți. Specialiștii Intel au proiectat un procesor pe 64 de biți și l-au numit IA64. Prima versiune modernă pe 64 de biți a Windows a fost concepută pentru a rula pe procesoare care au implementat arhitectura IA64. Singurele tipuri de procesoare care implementează IA64 sunt Itanium și Itanium 2 de la Intel. În prezent, numai platformele Windows Server acceptă IA64. Deși Windows XP a suportat inițial arhitectura IA64, problemele cu suportul pentru aplicații vechi pe sistemele IA64 au însemnat că sistemele desktop bazate pe aceasta erau foarte rare. Microsoft a încetat să accepte XP pe IA64 în 2005.

Când Intel a decis să nu accepte compatibilitatea cu procesoarele x86 în arhitectura IA64, AMD a început să lucreze la un nou design de procesor pe 64 de biți care să extindă capacitățile versiunii mai vechi de x86 (în același mod în care procesoarele originale Intel 80386 erau compatibile). cu procesoare 80286). AMD a specificat inițial procesoarele ca x86-64, apoi au fost redenumite AMD64. Versiunile Microsoft pe 64 de biți de Windows construite pentru a rula pe această arhitectură au folosit și numele AMD64. XP pentru AMD64 a fost lansat în 2003 și fiecare versiune ulterioară de Windows a suportat arhitectura AMD64.

VIA Technologies și Intel vând procesoare care utilizează arhitectura AMD64. În scopuri de marketing, Intel numește această tehnologie Intel 64, ascunzând faptul că procesoarele sale implementează instrucțiunile setului AMD64. De asemenea, Microsoft a început să folosească numele x64 pentru această arhitectură pentru a evita confuzia cu privire la arhitectura Windows. Oricare ar fi numele de marketing, procesoarele Intel 64 folosesc aceleași versiuni Windows ca și alte procesoare care implementează arhitectura AMD64. În terminologia Windows și a software-ului Windows acceptat, vă puteți referi la AMD64, Intel 64, x86-64, x64 și mai puțin cunoscutul EM64 T ca echivalente brute.

Ce altceva trebuie să știi

Ultima schimbare majoră a platformei care a afectat întreaga lume IT a avut loc în anii 1990, când computerele desktop au trecut de la Windows pe 16 biți și MS-DOS la sisteme Windows pe 32 de biți. Trecerea de la Windows pe 32 de biți la pe 64 de biți este mult mai ușoară. Managementul rețelei este mai centralizat decât era în anii 90, iar majoritatea operațiunilor sunt independente de numărul de biți din sistemul de operare.

Deși trecerea de la Windows pe 32 de biți la Windows pe 64 de biți nu va fi la fel de dificilă ca migrarea anterioară a platformei, voi oferi câteva sfaturi pentru a evita capcanele:

  • Învață software-ul matematică - 16 nu este inclus în 64. Utilizatorii nu vor putea rula software pe 16 biți dintr-un sistem de operare Windows pe 64 de biți, așa că va trebui să eliminați orice software pe 16 biți pe care îl aveți în jur din anii '90. Dacă utilizatorul trebuie să ruleze brusc un software pe 16 biți (de exemplu, un pachet software financiar moștenit pentru a obține acces la date vechi), va trebui să îi oferi utilizatorului acces la platforma pe 32 de biți. Dacă aveți mulți utilizatori care trebuie să ruleze software pe 16 biți, îl puteți rula pe un server terminal pe 32 de biți. O altă opțiune este să creați o mașină virtuală (VM) pe 32 de biți. Virtualizarea poate fi o alternativă mai bună, deoarece toate VM-urile sunt ușor de transportat.
  • Atenție: IA64 (Itanium) este special. Sistemele Windows care folosesc arhitectura procesorului IA64 pot rula numai pe sistemele IA64. Dacă reutilizați sistemele IA64 existente, acestea sunt în mod natural împărțite în roluri de server. Rolul serverului de imprimare poate cauza probleme deoarece aceste sisteme necesită drivere de imprimare pentru IA64. O limitare semnificativă pentru aceste servere este că există mai puține aplicații Windows pe 64 de biți disponibile pentru IA64 decât pentru Windows pe AMD64. Cu toate acestea, sistemul IA64 va rula aplicații pe 32 de biți.
  • Înțelegeți că software-ul pe 32 de biți și pe 64 de biți nu sunt compatibile. Versiunile x86 ale Windows nu pot rula aplicații pe 64 de biți. Windows pentru AMD64 și IA64 va rula software-ul normal pe 32 de biți, dar numai în cadrul aceluiași proces. Deoarece aplicațiile pe 64 de biți nu pot utiliza cod binar pe 32 de biți, versiunile pe 64 de biți ale aplicațiilor nu pot încărca module sau componente pe 32 de biți. Dacă depindeți de componente pe 32 de biți, trebuie să utilizați versiunea pe 32 de biți a aplicației. Acesta este unul dintre motivele pentru care sistemele Windows pe 64 de biți folosesc Internet Explorer (IE) pe 32 de biți în mod implicit; are o bază uriașă instalată de controale pe 32 de biți pe care furnizorii nu le-au portat pe platforma pe 64 de biți.
  • Amintiți-vă că trecerea de la 32 de biți la 64 este doar o tranziție, nu o actualizare. Dacă intenționați să actualizați computerele existente de la Windows pe 32 de biți la pe 64 de biți, puteți captura setări și fișiere cu instrumente precum Windows Easy Transfer, dar nu puteți face upgrade. Nici măcar nu veți putea rula programul de instalare pentru noua versiune de Windows pe 64 de biți pe un sistem Windows pe 32 de biți.
  • Verificați driverele dvs. Nu puteți utiliza drivere de kernel pe 32 de biți pe sisteme Windows pe 64 de biți. Subsistemul WOW64 este disponibil numai deasupra nucleului sistemului de operare. Prin urmare, verificarea driverelor înainte de a trece de la 32 la 64 de biți este esențială.
  • Fiți pregătit să vă ajutați utilizatorii să-și testeze arhitectura Windows. Windows este identic în interior și în exterior pe platformele de calcul pe 32 de biți și 64 de biți, așa că este posibil ca utilizatorii să nu știe dacă rulează un sistem de operare pe 32 de biți sau 64 de biți. Serviciul de asistență trebuie să fie pregătit să ghideze utilizatorii prin procesul de arhitectură Windows dacă apar întrebări. Articolul Microsoft, Cum să determinați dacă computerul dumneavoastră rulează un sistem de operare Windows pe 32 de biți sau 64 de biți (support.microsoft.com/kb/827218), vă poate ajuta personalul de asistență sau puteți direcționa utilizatorii către acest articol.

Lucruri de amintit

În timp ce trecerea de la o platformă de computer pe 32 de biți la una pe 64 de biți nu va fi complet simplă (mai ales atunci când este complicată de faptul că utilizatorii nu înțeleg terminologia), nu este probabil să fie deosebit de dificilă. Aceleași interfețe de utilizator pe platforme și suportul pentru software-ul existent pe 32 de biți fac ca majoritatea modificărilor să fie ușor de înțeles. Faptul că versiunile pe 64 de biți ale Windows folosesc browserul IE pe 32 de biți în mod implicit, de asemenea, ajută să facă modificările invizibile. Dualitatea arhitecturilor IA64 și AMD64 nu pune o problemă serioasă. IA64 este utilizat de obicei pe sistemele de vârf în care lipsa suportului pentru hardware și software specific poate fi considerată o caracteristică mai degrabă decât un obstacol de netrecut.

Cele mai importante considerații înainte de a trece la calculul pe 64 de biți sunt următoarele. Înainte de a migra computerul la Windows pe 64 de biți, trebuie să vă asigurați că aveți drivere pe 64 de biți și că toate programele pe 16 biți au fost eliminate (sau au fost făcute toate setările corespunzătoare). Pentru a face tranziția, trebuie să faceți o nouă instalare: nu puteți actualiza un sistem vechi. În cele din urmă, asigurați-vă că suportul tehnic poate ajuta utilizatorii să determine dacă folosesc sisteme pe 32 de biți sau 64 de biți dacă apar probleme. Deși această tranziție nu este banală, ea palidează în comparație cu munca care a fost făcută pentru a curăța computerele corporative de Windows 3.11.

Cu siguranță, mulți utilizatori au auzit că există două tipuri de adâncime de biți a sistemului de operare: x32 și x64. Mai devreme sau mai târziu apare întrebarea despre alegerea unei opțiuni sau a alteia. Pentru a ști ce versiune de biți ar trebui să fie instalată pe computer, trebuie să aveți câteva idei despre funcționarea acestor tipuri de sisteme de operare, avantajele, dezavantajele lor, cerințele pentru hardware și software și unele dintre capcanele care apar la trecerea de la Sistem de operare pe 32 de biți până la 64 de biți.

Acest articol, într-o formă populară, oferă răspunsuri la câteva întrebări pe această temă și vă va ajuta să alegeți decizia corectă în favoarea uneia dintre versiunile de biți Windows pentru a face dispozitivul computerului să funcționeze mai eficient.

Care este bitness-ul sistemului de operare și cum se stabilește

Adâncimea de biți sau de biți Windows înseamnă versiunea sistemului de operare (comparând toate versiunile de Windows) potrivită pentru a lucra cu arhitectura pe 32 sau 64 de biți a procesorului instalat pe computer.

Procesorul central și capacitatea acestuia

Procesorul central este principalul element hardware al oricărui dispozitiv de calculator, care este un circuit integrat. Funcția sa este de a executa anumite instrucțiuni ale mașinii - coduri de program. Una dintre principalele caracteristici ale unui procesor este arhitectura sa - designul intern al proceselor și compatibilitatea cu un set specific de instrucțiuni.

Capacitatea procesorului este lungimea cuvântului mașină din interiorul microprocesorului și înseamnă capacitatea acestuia de a lucra simultan cu un anumit număr de unități de date, de exemplu. pic. Acest număr de biți este determinat de capacitatea registrului procesorului, care este în esență un fel de stocare a datelor care trebuie accesată rapid pentru o performanță optimă. Cu cât anvelopa este mai lată, de ex. Cu cât este mai mare capacitatea registrului, cu atât computerul rulează mai repede.

Arhitectură pe 32 de biți - istoria aspectului

Fundalul conceptului de versiune pe 32 de biți se bazează pe arhitectura x86, care a fost implementată pentru prima dată în modelele timpurii de procesoare Intel instalate pe primele computere IBM PC. Numele lor se termină cu aceste două numere, de exemplu, procesoare 8086, 80186, 80286 etc. Ulterior, această arhitectură pe 32 de biți a fost implementată în procesoare de la alți producători și a primit denumirea generală Intel Architecture IA-32, adică. Versiune de procesor pe 32 de biți.

Versiunea pe 64 de biți - o nouă extensie a arhitecturii pe 32 de biți

În 2002, AMD a dezvoltat o extensie pe 64 de biți a arhitecturii x86 în procesoarele din familia K8, care se numea x86-64 sau AMD64 și permitea executarea programelor în modul pe 64 de biți. Intel și-a propus și propriul nume pentru versiunea pe 64 de biți a extensiei - EM64T. În orice caz, această dezvoltare a dublat capacitatea principalelor registre interne și a crescut cantitatea de memorie adresabilă de procesor. Astfel, arhitectura pe 64 de biți are seturi noi de coduri de program, poate funcționa cu mai multă RAM, ceea ce oferă o creștere semnificativă a performanței, iar acesta este, fără îndoială, un progres.

Cum să determinați adâncimea de biți a sistemului de operare instalat pe computer

Cunoștințele despre bitness-ul sistemului de operare au aplicații practice, deoarece pot îmbunătăți eficiența computerului dvs.

Pentru a afla ce sistem de operare bit este instalat pe dispozitiv, trebuie să rulați următoarea secvență de comenzi:

  • accesați pictograma „Computerul meu”;
  • Faceți clic dreapta și selectați fila „Proprietăți” din meniul derulant.

Fereastra care apare va afișa informații de bază despre computer, inclusiv informații despre tipul de bitness al sistemului de operare instalat.

O altă opțiune pentru obținerea acestor date:

  • Accesați „Panou de control” prin butonul „Start”;
  • selectați „Toate elementele panoului de control”;
  • faceți clic pe fila „Sistem”;
  • obtine informatiile necesare.

Aici vor fi afișate și informații despre cantitatea de RAM, ceea ce este, de asemenea, decisiv atunci când alegeți adâncimea de biți a sistemului de operare.

Diferența de funcționare a sistemului de operare pe 32 și 64 de biți: avantaje și dezavantaje

În exterior, funcționarea sistemelor de operare pe 32 și 64 de biți nu este diferită, însă, datorită faptului că un registru pe 64 de biți poate stoca mai multe date, un sistem de operare cu o astfel de arhitectură CPU va permite aplicațiilor să folosească mai multă RAM. Pentru sistemele de operare moderne, versiunea pe 64 de biți este de preferat în orice caz. Excepția este XP (aproape sigur vor fi probleme cu driverele).

Calculele pe 64 de biți sunt mult mai rapide, iar un computer care rulează această versiune a sistemului de operare funcționează cu performanțe ridicate, ceea ce este principalul avantaj al unui sistem de operare pe 64 de biți față de unul pe 32 de biți.

În plus, sistemul pe 64 de biți are protecție suplimentară „DEP”, implementată la nivel de hard disk, și nu la nivel de software, ca sistemele obișnuite pe 32 de biți. Acest lucru oferă un nivel suplimentar de securitate, dar un software antivirus bun (care există) nu este niciodată o idee rea.

Potențialul maxim al sistemului de operare pe 64 de biți va fi folosit în viitor, cu disponibilitatea pe scară largă a dispozitivelor periferice și a software-ului creat pentru această arhitectură. Cu toate acestea, astăzi multe jocuri și programe care necesită o cantitate mare de memorie RAM pot funcționa eficient doar în Windows pe 64 de biți. De exemplu, unele programe științifice în virgulă mobilă nu produc rezultate precise decât dacă primesc destui biți, așa că sunt implementate ca aplicații pe 64 de biți și pot rula exclusiv pe un sistem de operare pe 64 de biți.

Un dezavantaj al tipului de biți extins al sistemului de operare poate fi problema compatibilității driverelor, deși acest decalaj este abordat cu succes de dezvoltatori. Excepție fac unele dispozitive vechi: imprimante, scanere, drivere, care au fost create pentru un sistem de operare pe 32 de biți și nu au fost reeditate pentru un sistem de operare pe 64 de biți. Aceeași situație s-a dezvoltat și cu pluginurile pentru unele programe populare, de exemplu, Photoshop sau Firefox (mică recenzie), precum și cu defragmentare, scanere de viruși și alte programe importante. Noile lor versiuni sunt deja disponibile pe 64 de biți, iar pluginurile mai vechi (uneori importante) pot funcționa numai cu sistemul de operare anterior pe 32 de biți.

Ce sistem de operare pe biți ar trebui să instalați pe computer și de ce?

În vânzările cu amănuntul astăzi puteți găsi versiuni ale sistemului de operare cu ambele tipuri de adâncime de biți. Alegerea unui tip sau altul depinde de configurația hardware a dispozitivului computerului: arhitectura procesorului și cantitatea de RAM. Dacă computerul dvs. are un procesor x86-64 și RAM depășește 4 GB, este logic să instalați un sistem de operare pe 64 de biți, ceea ce va îmbunătăți semnificativ performanța: software-ul pe 64 de biți care rulează un sistem de operare pe 64 de biți rulează mult mai rapid. Acest lucru se datorează faptului că versiunea pe 32 de biți poate gestiona maximum 3,2 GB de RAM, în timp ce versiunea pe 64 de biți este teoretic capabilă să redirecționeze până la 4 TB. Un astfel de sistem are mai mult „spațiu de locuit” și vă permite să gestionați o cantitate mai mare de date, să faceți față cu ușurință programelor care rulează simultan și să comutați mai rapid între ele.

Dacă instalați Windows pe 32 de biți pe un dispozitiv cu un procesor pe 64 de biți și memorie RAM mare, nu veți putea folosi avantajul hardware existent, deoarece acesta va putea să abordeze doar cel mult 4 GB de RAM și procesorul va funcționa întotdeauna în modul vechi, adică ineficient.

Merită să instalați un sistem pe 32 de biți chiar dacă aveți peste 4 GB de RAM dacă procesorul are o frecvență de la 1 la 2,4 GHz: va funcționa mai lent pe un OS pe 64 de biți.

Când decideți să instalați sistemul de operare, trebuie să aveți în vedere că programele și driverele dezvoltate pentru versiunea pe 64 de biți nu vor funcționa în versiunea pe 32 de biți. În același timp, software-ul pe 32 de biți într-un sistem de operare x64 funcționează în „modul de compatibilitate” cu același nivel de performanță, cu excepția driverelor și a unor programe antivirus, care pot să nu funcționeze corect într-un sistem pe 64 de biți sau este posibil să nu fie instalat deloc.

Cu toate acestea, având în vedere faptul că în viitor toate software-urile vor fi, fără îndoială, dezvoltate pentru o versiune extinsă mai avansată a sistemului de operare, este logic să vă actualizați computerul adăugând RAM pentru a profita de toate beneficiile unui sistem de operare pe 64 de biți.

Și încă un punct important. Este imposibil să schimbați adâncimea de biți a sistemului de operare fără a-l reinstala complet (va fi necesară formatarea, toate informațiile de pe disc vor fi șterse). Dar în unele cazuri, chiar și după o astfel de procedură, unele dintre datele de pe HDD pot fi recuperate. Dacă hardware-ul computerului dvs. vă permite să utilizați un sistem de operare pe 64 de biți și decideți să îl instalați, trebuie să aveți grijă de drivere în avans, să faceți copii ale fișierelor necesare, apoi să descărcați versiunea extinsă pe 64 de biți, și apoi reinstalați programele și restaurați fișierele. Uneori este dificil să faci asta pe cont propriu și este mai bine să contactați


Înainte de a intra în subiectul dezvoltării codului pentru programele pe 64 de biți, să ne oprim asupra problemei compatibilității cu versiunile pe 64 de biți de Windows cu aplicații pe 32 de biți. Compatibilitatea inversă se realizează prin mecanisme implementate în .

WoW64 (Windows-on-Windows pe 64 de biți) este un subsistem al sistemului de operare Windows care vă permite să rulați aplicații pe 32 de biți pe toate versiunile de Windows pe 64 de biți.

Subsistemul WoW64 nu acceptă următoarele programe:

  • programe compilate pentru sisteme de operare pe 16 biți;
  • Programe în modul kernel compilate pentru sisteme de operare pe 32 de biți.

Cheltuieli generale

Există diferențe WoW64 în funcție de arhitectura procesorului. De exemplu, versiunea pe 64 de biți de Windows dezvoltată pentru procesorul Intel Itanium 2 utilizează WoW64 pentru a emula instrucțiuni. Această emulare necesită foarte mult resurse în comparație cu WoW64 pentru arhitectură, deoarece trece de la modul pe 64 de biți la modul de compatibilitate atunci când se execută programe pe 32 de biți.

WoW64 pe arhitectura Intel 64 (AMD64/x64) nu necesită emularea instrucțiunilor. Aici, subsistemul WoW64 emulează doar un mediu pe 32 de biți datorită unui strat suplimentar între aplicația pe 32 de biți și API-ul Windows pe 64 de biți. În unele locuri acest strat este subțire, în altele nu atât de mult. Pentru un program mediu, pierderea de performanță din cauza prezenței unui astfel de strat va fi de aproximativ 2%. Pentru unele programe, această valoare poate fi mai mare. Două procente nu înseamnă mult, dar rețineți că aplicațiile pe 32 de biți rulează puțin mai lent sub un sistem de operare Windows pe 64 de biți decât într-un mediu pe 32 de biți.

Compilarea codului pe 64 de biți nu numai că elimină necesitatea WoW64, dar oferă și o creștere suplimentară a performanței. Acest lucru se datorează modificărilor arhitecturale ale microprocesorului, cum ar fi o creștere a numărului de registre de uz general. Pentru un program mediu, vă puteți aștepta oriunde la 5-15% câștig de performanță de la o simplă recompilare.

Avantajul unui mediu pe 64 de biți pentru programele pe 32 de biți

Datorită prezenței stratului WoW64, programele pe 32 de biți rulează mai puțin eficient într-un mediu pe 64 de biți decât într-un mediu pe 32 de biți. Cu toate acestea, aplicațiile simple pe 32 de biți pot beneficia de rularea lor într-un mediu de 64 de biți. Probabil știți că un program construit cu cheia /LARGEADDRESSAWARE:YES poate aloca până la 3 gigaocteți de memorie dacă sistemul de operare Windows pe 32 de biți este lansat cu cheia /3gb. Așadar, același program pe 32 de biți, lansat pe un sistem pe 64 de biți, poate aloca aproape 4 GB de memorie (în practică, aproximativ 3,5 GB).

Redirecționări

Subsistemul WoW64 izolează programele pe 32 de biți de cele pe 64 de biți prin redirecționarea accesului la fișiere și la registru. Acest lucru împiedică programele pe 32 de biți să acceseze accidental date din aplicațiile pe 64 de biți. De exemplu, o aplicație pe 32 de biți care rulează un fișier DLL din directorul %systemroot%\System32 poate accesa accidental un fișier DLL pe 64 de biți care este incompatibil cu programul pe 32 de biți. Pentru a evita acest lucru, subsistemul WoW64 redirecționează accesul din folderul %systemroot%\System32 către folderul %systemroot%\SysWOW64. Această redirecționare ajută la prevenirea erorilor de compatibilitate, deoarece necesită un fișier DLL care este creat special pentru a funcționa cu aplicații pe 32 de biți.

Mai multe informații despre sistemul de fișiere și mecanismele de redirecționare a registrului pot fi găsite în secțiunea MSDN „Rularea aplicațiilor pe 32 de biți”.

De ce este imposibil să utilizați DLL-uri pe 32 de biți într-un program pe 64 de biți? Există o cale de a ocoli asta?

Este imposibil să încărcați un DLL pe 32 de biți dintr-un proces pe 64 de biți și să executați cod din acesta. Imposibil din cauza designului sistemelor pe 64 de biți. În principiu, este imposibil. Nici trucurile, nici metodele nedocumentate nu vor ajuta. Pentru a face acest lucru, trebuie să descărcați și să inițializați WoW64, ca să nu mai vorbim de structurile din kernel. De fapt, va trebui să transformați un proces pe 64 de biți într-unul pe 32 de biți din mers. Acest subiect este discutat mai detaliat în postarea „Funcții nedocumentate; Încărcarea DLL-urilor pe 32 de biți într-un proces pe 64 de biți”. Singurul lucru care poate fi recomandat este să creați un proces surogat și să interacționați cu acesta folosind tehnologia COM. Acest lucru este discutat în articolul „Accesarea DLL-urilor pe 32 de biți din codul de 64 de biți”.

Dar încărcarea resurselor dintr-un DLL pe 32 de biți într-un proces pe 64 de biți nu este deloc dificilă. Acest lucru se poate face prin specificarea flag-ului LOAD_LIBRARY_AS_DATAFILE la apelarea LoadLibraryEx.

Retragerea treptată a suportului pentru programele pe 32 de biți

Este destul de firesc dacă Microsoft încurajează trecerea la sistemele pe 64 de biți renunțând treptat la suportul pentru programele pe 32 de biți într-o serie de versiuni ale sistemului de operare Windows. Desigur, acesta va fi un proces foarte lent. Dar totuși, primii pași în această direcție au fost deja făcuți.

Mulți administratori știu despre modul de instalare și operare relativ nou al versiunii de server a sistemului de operare numit Server Core. Acesta este modul despre care participanții la războaiele „Windows vs Linux” vorbesc de foarte mult timp. Unul dintre argumentele susținătorilor utilizării Linux pe un server a fost capacitatea de a instala un sistem de operare server fără interfață grafică (GUI). Dar acum o astfel de oportunitate a apărut în Windows Server. Instalarea în acest mod oferă doar o linie de comandă fără interfață cu utilizatorul.

Această caracteristică (instalarea Server Core) a apărut în Windows Server 2008. Dar Windows Server 2008 R2 a introdus o inovație care aduce viitorul pe 64 de biți mai aproape. La instalarea Windows Server 2008 R2 (Server Core), suportul pentru rularea aplicațiilor pe 32 de biți a devenit opțional. În plus, în mod implicit, acest suport este dezactivat. Iar atunci când încearcă să lanseze o aplicație pe 32 de biți în modul Server Core, utilizatorul va primi un mesaj despre imposibilitatea lansării. Desigur, puteți adăuga suport pentru programe pe 32 de biți:

porniți /w ocsetup ServerCore-WOW64

În modul normal (Instalare completă), aplicațiile pe 32 de biți rulează implicit, dar în Server Core nu mai funcționează.

Tendința este evidentă. În timp, va deveni din ce în ce mai rațional să se creeze versiuni pe 64 de biți ale aplicațiilor, deoarece acestea vor putea funcționa pe un număr mai mare de versiuni de sisteme de operare.

Informații suplimentare

O sursă interesantă de informații despre sistemul WoW64 este blogul lui Alexey Pakhunov: http://blog.not-a-kernel-guy.com/. Alexey este angajat al Microsoft și este direct implicat în dezvoltarea subsistemului WoW64.