If-Koubou

Što znači da softver radi nativno?

Što znači da softver radi nativno? (Kako da)

Kada se ljudi upućuju na pokretanje originalnog softvera, emulacije i kompatibilnosti softvera, na koje se točno odnose? Pročitajte kako se ulažemo u koncept izvornog softvera.

Današnja pitanja i odgovori na nas daju uslužnostod SuperUser-a podjele Stack Exchange, zajednice-driven grupiranje Q & A web stranice.

Pitanje

SuperUser čitač Throsby je znatiželjan što znači pokretati softver nativno. Piše:

Pitam se što to znači da softver funkcionira nativno. Što je točno takav softver i kako se razlikuje od softvera koji se ne izvodi nativno? Kako mogu znati da li će se određeni program softvera izvoditi nativno na računalu? Postoji li vjerojatno da će već na računalu biti softver koji radi nativno?

Čitajte za izvrsnu analogiju koja točno objašnjava što znači biti izvorni u određenom sustavu.

Odgovor

Deltik, SuperUser suradnik, nudi fantastičnu analogiju koja naglašava što znači da softver može biti izvorni i kakav drugi softver može naći na određenom sustavu:

Softver je native na platformi ako je dizajniran za pokretanje na toj platformi.

Platforma se obično odnosi na operativni sustav, no može se primijeniti i na uređaje poput Nintendo Game Boy.

Koristeći Game Boy kao primjer, dobiva svoj softver iz spremnika s tintom. Ove patrone sadrže kod koji radinativno na Game Boyu.

emulators su sloj koji omogućuje softver dizajniran za jednu platformu da se pokrene na drugom. Na primjer, postoje emulatori koji mogu izvršiti slike uloška Game Boy i omogućuju vam da igrate Game Boy igre na računalu ili čak i vašem mobilnom telefonu.

sloj kompatibilnosti je vrsta poput emulatora. Kad su 64-bitna računala i operacijski sustavi postali mainstream, trebali su biti kompatibilni s postojećim 32-bitnim tehnologijama. Budući da su 64-bitne i 32-bitne arhitekture vrlo različite, sloj kompatibilnosti često je potreban za pokretanje 32-bitnog softvera na 64-bitnim računalima. Za 64-bitna izdanja sustava Microsoft Windows, Microsoft je trebao napisati sloj kompatibilnosti tako da 32-bitni programi i dalje rade na novom 64-bitnom sustavu. Zato se neki programi često instaliraju u mapu s nazivomProgramske datoteke (x86), gdjex86 znači "32-bitni".

Slojevi kompatibilnosti obično su intimniji s izvornim sustavom nego što su emulatori. VirtualBoxPrati hardver za operacijske sustave *, a sustavi koji emuliraju nemaju veoma izravnu interakciju sa sustavom domaćina. WoW64 je asloj kompatibilnosti jer 32-bitni programi rade na 64-bitnom sustavu Windows na integrirani način. WoW64 pomaže u izradi programakompatibilan rađe negonatjecanje ih u izoliranom okruženju.

knjižnica prijevoda je sastavnica slojeva kompatibilnosti. Kad god se binarni kôd izvodi ne-prirodno, knjižnica za prevođenje pomaže preusmjeravanju stranih, ne-nativnih poziva na izvorne pozive koje sustav može razumjeti. Programi montaže koji su napisani za originalni TI-83 možda nisu kompatibilni s novijim TI-83/84 Plus kalkulatorima jer neki pozivi koji su imali smisla u arhitekturi TI-83 više ne mogu biti valjani u TI-83/84 +. Biblioteka prevođenja (vjerojatno uključena u ljuske poput MirageOS) osigurava da pozivi za TI-83 idu na nova, ažurirana mjesta u TI-83/84 + kalkulatorima.

Kod bez obzira na platformu je napisan na jeziku koji jetumačiti nešto što obično ide nativno. Na primjer, PHP je programski jezik koji se interpretira i izvršava instaliranim binarnim PHP-om, koji je već sastavljennativno za operacijske sustave Windows, Mac i Unix. PHP kod koji web pisci pišu neovisno o platformi, omogućujući kodu rad na više operacijskih sustava sve dok je PHP instaliran za te operacijske sustave.

Imate li nešto za objašnjenje? Zvuči u komentarima. Želite li pročitati više odgovora od drugih tehnoloških korisnika Stack Exchangea? Pogledajte ovdje cijelu raspravu.