Pagina principala » HOWTO » Ce înseamnă software-ul pentru a rula nativ?

    Ce înseamnă 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 pe când intrăm în conceptul de software nativ.

    Sesiunea de întrebări și răspunsuri din ziua de astăzi vine de la amabilitate din SuperUser - o subdiviziune a Stack Exchange, o grupare bazată pe comunitate a site-urilor Q & A.

    Intrebarea

    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 acest 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.

    Răspunsul

    Contribuitorul super-utilizator Deltik oferă o analogie fantastică care evidențiază 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 un exemplu, devine software-ul său de la 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.

    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 ale Microsoft Windows, Microsoft avea nevoie 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 (x86), Unde x86 î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 a compatibilitate î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 realizarea programelor compatibil Decatemularea într-un mediu izolat.

    Biblioteca 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 originalul 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 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 scripturile web le scriu sunt independente 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.