9Aug

Ce inseamna software-ul pentru a rula nativ?

Când oamenii se referă la rularea software-ului nativ, a emulației și a compatibilității cu software-ul, cu ce se referă exact la acestea? Citește mai departe pe măsură ce intrăm în conceptul de software nativ.

Întrebarea de astăzi &Sesiunea de răspuns vine de la curtoazia a SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor web Q & A.

Întrebarea

Reader-ul SuperUser Throsby este curios despre ce înseamnă să rulați software-ul nativ. El scrie:

Mă întrebam ce înseamnă pentru software-ul să ruleze nativ. Ce este exact un astfel de software și cum este diferit de software-ul care nu funcționează nativ? Cum pot spune dacă o anumită bucată de software va rula nativă pe calculatorul meu? Este probabil să existe deja software pe computerul meu care rulează nativ?

Citiți pentru o excelentă analogie explicând exact ce înseamnă să fii nativ într-un anumit sistem.

Răspunsul

Contribuitor SuperUser Deltik oferă o analogie fantastică care subliniază ce înseamnă software-ul pentru a fi nativ și ce fel de alt software se poate găsi pe un sistem dat:

Un software este nativ pentru o platformă dacă a fost proiectat să ruleze peacea platformă.

O platformă se referă, de obicei, la un sistem de operare, dar poate fi aplicată și pe dispozitive precum Nintendo Game Boy.

Folosind Game Boy ca exemplu, el primește software-ul său de la cartușe. Aceste cartușe conțin cod care rulează nativ pe Game Boy. Emulatoarele

sunt un strat care permite software-ului conceput pentru ca o platformă să fie rulată pe alta. De exemplu, există emulatori care pot executa imagini ale cartușelor Game Boy și vă permit să jucați jocuri Game Boy pe computer sau chiar pe telefonul mobil.

A stratul de compatibilitate este un fel de emulator. Când computerele și sistemele de operare pe 64 de biți au devenit mainstream, ele trebuie să fie compatibile cu tehnologiile existente pe 32 de biți. Deoarece arhitecturile pe 64 de biți și pe 32 de biți sunt foarte diferite, este adesea nevoie de un strat de compatibilitate pentru a rula programe pe 32 de biți pe mașini pe 64 de biți. Pentru edițiile pe 64 de biți de Microsoft Windows, Microsoft a trebuit să scrie un strat de compatibilitate, astfel încât programele pe 32 de biți să funcționeze în continuare pe noul sistem pe 64 de biți. Acesta este motivul pentru care unele programe sunt adesea instalate într-un folder denumit Program Files( x86), unde x86 înseamnă "32-bit".Straturile de compatibilitate

tind să fie mai intime cu sistemul nativ decât emulatorii. VirtualBox emula hardware pentru sistemele de operare *, iar sistemele pe care le emula nu au o foarte mare interacțiune directă cu sistemul gazdă.WoW64 este un strat de compatibilitate prin faptul că permite ca programele pe 32 de biți să ruleze pe Windows pe 64 de biți într-un mod mai integrat. WoW64 ajută programele compatibile cu , în loc să le , emulându-le pe într-un mediu izolat. Biblioteca de traducere

A este o componentă a straturilor de compatibilitate. Ori de câte ori codul binar rulează non-nativ, o bibliotecă de traduceri ajută la redirecționarea apelurilor externe, non-native la apelurile native pe care sistemul le poate înțelege. Programele de asamblare scrise pentru modelul original TI-83 ar putea să nu fie compatibile cu noile calculatoare TI-83/84 Plus, deoarece unele apeluri care au avut sens în arhitectura TI-83 nu mai sunt valabile în modelul TI-83/84 +.O bibliotecă de traduceri( probabil inclusă în shell-uri precum MirageOS) asigură că apelurile pentru TI-83 merg la noile locuri actualizate în calculatoarele TI-83/84 +.

Cod independent de platformă este scris într-o limbă care este interpretată de ceva care de obicei rulează nativ. De exemplu, PHP este un limbaj de programare care este interpretat și executat de binar PHP instalat, care a fost deja compilat nativ pentru sistemele de operare Windows, Mac și Unix. Codul PHP pe care scriitorii web îl scriu sunt independenți de platformă, permițând codului să funcționeze pe mai multe sisteme de operare, atât timp cât PHP este instalat pentru acele sisteme de operare.

Trebuie să adăugați ceva la explicație? Sunați în comentariile. Doriți să citiți mai multe răspunsuri de la alți utilizatori de tehnologie Stack Exchange? Check out discuția completă aici.