/ / Što znači softveru koji nativno radi?

Što znači softveru koji nativno radi?

Kad se ljudi pozivaju na pokretanje izvornog softvera, emulaciju i kompatibilnost softvera, na što se točno odnose? Čitajte dalje dok temeljimo na konceptu izvornog softvera.

Današnja sjednica Pitanja i Odgovori nam je uljudnost SuperUser-a - podjela Stack Exchange-a, grupacija Q&A internetskih stranica koju vodi zajednica.

Pitanje

SuperUser čitač Throsby znatiželjan je što znači izvorno pokretanje softvera. Piše:

Pitam se što znači softverutrčati zavičajno. Što je točno takav softver i kako se razlikuje od softvera koji se ne izvodi izvorno? Kako mogu utvrditi hoće li se određeni dio softvera izvorno pokretati na mom računalu? Postoji li vjerovatno da na mom računalu već postoji softver koji radi izvorno?

Za čitanje pročitajte izvrsnu analogiju koja točno objašnjava što znači biti izvornik u određenom sustavu.

Odgovor

SuperUser Contributor Deltik nudi fantastičnu analogiju koja ističe što znači da softver može biti izvorni i kakav drugi softver se može naći u određenom sustavu:

Softver je izvorni za platformu ako je dizajniran za pokretanje na toj platformi.

Platforma se obično odnosi na operativni sustav, ali također se može primijeniti na uređaje kao što je Nintendo Game Boy.

Koristeći Game Boy kao primjer, njegov softver dobiva se iz spremnika. Ti spremnici sadrže kod koji se pokreće nativno na Game Boy.

emulators su sloj koji omogućuje softver dizajniran za jedanplatforma za pokretanje na drugoj. Na primjer, postoje emulatori koji mogu izvoditi slike Game Boy patrone i omogućuju vam igranje Game Game igara na računalu ili čak mobilnom telefonu.

Jedan sloj kompatibilnosti je nekako poput emulatora. Kad su 64-bitna računala i operativni sustavi postali mainstream, trebala su biti kompatibilna s postojećim 32-bitnim tehnologijama. Budući da se 64-bitna i 32-bitna arhitektura vrlo razlikuju, često je potreban sloj kompatibilnosti za pokretanje 32-bitnog softvera na 64-bitnim računalima. Za 64-bitna izdanja Microsoft Windows-a Microsoft je trebao napisati sloj kompatibilnosti kako bi 32-bitni programi i dalje radili na novom 64-bitnom sustavu. Zbog toga se neki programi često instaliraju u mapu koja se zove Program Files (x86), gdje x86 znači "32-bitni".

Slojevi kompatibilnosti imaju tendenciju da je prisniji s izvornim sustavom nego što su emulatori. VirtualBoxPrati hardver za operativne sustave *, a sustavi koje emulira nemaju vrlo direktnu interakciju s glavnim sustavom. WoW64 je a sloj kompatibilnosti na taj način omogućava 32-bitni program koji se pokreće na 64-bitnom Windows-u na integriraniji način. WoW64 pomaže u izradi programa kompatibilan rađe negonatjecanje njih u izoliranom okruženju.

Jedan prevoditeljska knjižnica sastavni je dio slojeva kompatibilnosti. Kad god se binarni kod netično pokreće, knjižnica za prijevod pomaže preusmjeravanje stranih, tuđih poziva na nativne pozive koje sustav može razumjeti. Programi montaže napisani za originalni TI-83 možda nisu kompatibilni s novijim kalkulatorima TI-83/84 Plus jer neki pozivi koji imaju smisla u arhitekturi TI-83 možda više nisu valjani u TI-83/84 +. Prevoditeljska biblioteka (vjerojatno uključena u školjke poput MirageOS) osigurava da pozivi za TI-83 idu na nova, ažurirana mjesta u TI-83/84 + kalkulatorima.

Kôd neovisan o platformi piše se na jeziku koji je tumačiti po nečemu što obično radi nativno. Na primjer, PHP je programski jezik koji tumači i izvršava instaliranom PHP binarnom datotekom, koja je već sastavljena nativno za operativne sustave sa sustavom Windows, Mac i Unixsustavi. PHP kôd koji pišu web skripti neovisan je o platformi, omogućavajući kôdu da radi na više operativnih sustava sve dok je PHP instaliran za te operativne sustave.


Imate li što dodati u objašnjenje? Zvuči u komentarima. Želite pročitati više odgovora od ostalih korisnika Stack Exchangea koji se bave tehnologijom? Pogledajte cijelu temu rasprave ovdje.