9Aug

Što znači da softver radi nativno?

click fraud protection

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

Današnje pitanje &Sesija odgovora dolazi nam uslužno od 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. On piše:

Pitam se što to znači za softver pokrenuti 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 na određenom sustavu.

Odgovor

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

instagram viewer

Softver je native na platformi ako je dizajniran za pokretanjetu platformu.

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 nativno pokreće na Game Boyu.

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

A 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 Program Files( x86), gdje x86 znači "32-bit".

Slojevi kompatibilnosti obično su intimniji s izvornim sustavom nego što su emulatori. VirtualBox emulira hardver za operacijske sustave *, a sustavi koji emuliraju nemaju puno izravne interakcije s host sustavom. WoW64 je sloj kompatibilnosti jer omogućuje pokretanje 32-bitnih programa na 64-bitnom sustavu Windows na integriraniji način. WoW64 pomaže programima kompatibilni umjesto emulirajući ih u izoliranom okruženju.

A knjižnica za prevođenje 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 možda više neće 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.

Platforma nezavisna šifra je napisana na jeziku koji tumači nešto što obično radi nativno. Na primjer, PHP je programski jezik koji se tumači i izvršava instaliranim binarnim PHP-om, koji je već sastavljen nativno 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.