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.
Sesiunea de întrebări și răspunsuri din ziua de astăzi vine de la amabilitatedin SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor Q & A.
Cititorul super-utilizator Throsby este curios ce înseamnă să rulați software-ul nativ. El scrie:
M-am intrebat ce inseamna ca software-ul sa 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?
Citește mai departe pentru o excelentă analogie care explică exact ce înseamnă să fii nativ într-un anumit sistem.
Contribuitorul Super Utilizer Deltik oferă o analogie fantastică care subliniază ce înseamnă pentru ca software-ul să fie 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ă funcționeze pe acea 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, acesta primește software-ul său din cartușe. Aceste cartușe conțin codul care ruleazănativ pe Game Boy.
emulatoare sunt un strat care permite software-ului conceput pentru o platformă să ruleze 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.
Acompatibilitate 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 biți pe mașini pe 64 de biți. Pentru edițiile pe 64 de biți ale 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 numit
Fișiere program (x 86)
, Undex86
înseamnă "32-bit".Straturile de compatibilitate tind să fie mai intime cu sistemul nativ decât emulatorii. VirtualBoxemulează hardware pentru sistemele de operare *, iar sistemele pe care le emula nu au o foarte mare interacțiune directă cu sistemul gazdă. WoW64 este acompatibilitate în sensul că permite programelor pe 32 de biți să ruleze pe Windows pe 64 de biți într-un mod mai integrat. WoW64 ajută la crearea de programecompatibil Decatemularea într-un mediu izolat.
ABiblioteca de traduceri 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 esteinterpretat 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 compilatnativ 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.
Aveți ceva de adăugat 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.