9Aug

Čo to znamená, že softvér beží native?

Keď sa ľudia odvolávajú na spustenie natívneho softvéru, emulácie a softvérovej kompatibility, na čo presne odkazujú?Čítajte ďalej, keď sa ponoríme do koncepcie natívneho softvéru.

dnešná otázka &Odpoveď na zasadnutie nám prináša zdvorilosť SuperUser - subdivíziu Stack Exchange, komunitne riadeného zoskupenia webových stránok Q & A.

Otázka

Čítačka SuperUser Throsby je zvedavá, čo to znamená spustiť softvér natívne. Píše:

Bol som premýšľal, čo to znamená pre softvér bežať natívne.Čo presne je takýto softvér a ako sa líši od softvéru, ktorý sa nerozbieha natívne? Ako môžem povedať, či daný softvér bude na počítači bežať natívne? Je pravdepodobné, že v počítači už existuje softvér, ktorý beží native?

Prečítajte si o vynikajúcej analógii, ktorá vysvetľuje presne to, čo znamená byť doma na danom systéme.

Odpoveď

SuperUser prispievateľ Deltik ponúka fantastickú analógiu, ktorá zdôrazňuje, čo to znamená pre softvér, ktorý je natívny a aký druh iného softvéru možno nájsť v danom systéme:

Softvér je natívny na platforme, ak bol navrhnutý tak, aby fungovalplatformy.

Platforma sa zvyčajne vzťahuje na operačný systém, ale môže byť použitá aj pre zariadenia ako napríklad Nintendo Game Boy.

Ako príklad používa Game Boy softvér z kaziet. Tieto kazety obsahujú kód, ktorý beží natívne na Game Boy.

Emulátory sú vrstvy, ktoré umožňujú softvér určený pre jednu platformu na inú platformu. Existujú napríklad emulátory, ktoré môžu vykonávať obrázky kaziet Game Boy a umožňujú vám hrať hry Game Boy na vašom počítači alebo dokonca aj na vašom mobilnom telefóne.

A vrstva kompatibility je ako emulátor. Keď sa 64-bitové počítače a operačné systémy stali hlavným prúdom, museli byť kompatibilné s existujúcimi 32-bitovými technológiami. Vzhľadom na to, že 64-bitové a 32-bitové architektúry sú veľmi odlišné, je často potrebná kompatibilná vrstva na spustenie 32-bitového softvéru na 64-bitových počítačoch. V prípade 64-bitových verzií systému Microsoft Windows potrebovala spoločnosť Microsoft zapísať vrstvu kompatibility tak, aby 32-bitové programy stále fungovali na novom 64-bitovom systéme. To je dôvod, prečo sú niektoré programy často inštalované do priečinka s názvom Program Files( x86), kde x86 znamená "32-bitové".

Vrstvy kompatibility majú tendenciu byť intimnejší s natívnym systémom ako emulátory. VirtualBox emuluje hardvér pre operačné systémy * a systémy, ktoré emuluje, nemajú veľmi priamu interakciu s hostiteľským systémom. WoW64 je kompatibilná vrstva v tom, že umožňuje 32-bitové programy bežať na 64-bitovom systéme Windows integrovanejším spôsobom. WoW64 pomáha vytvárať programy kompatibilné so systémom namiesto , emulujúce ich v izolovanom prostredí.

A prekladová knižnica je súčasťou vrstiev kompatibility. Vždy, keď sa binárny kód spúšťa neinteligentne, prekladateľská knižnica pomáha presmerovať zahraničné hovory, ktoré nie sú natívnymi hovormi, na prirodzené hovory, ktoré systém dokáže pochopiť.Montážne programy napísané pre pôvodný TI-83 nemusia byť kompatibilné s novšími kalkulačkami TI-83/84 Plus, pretože niektoré hovory, ktoré dávajú zmysel architektúre TI-83, už nemôžu byť platné v TI-83/84 +.Prekladová knižnica( pravdepodobne zahrnutá v shelloch ako MirageOS) zabezpečuje, že volania pre TI-83 prejdú na nové, aktualizované miesta v kalkulačkách TI-83/84 +.

Kód nezávislý na platforme je napísaný v jazyku, ktorý je interpretovaný niečím, ktoré zvyčajne beží native. Napríklad PHP je programovací jazyk, ktorý je interpretovaný a vykonávaný nainštalovaným PHP binárnym súborom, ktorý bol už načrtnutý nativne pre operačné systémy Windows, Mac a Unix. PHP kód, ktorý zapisujú webové skripty, je nezávislý od platformy, čo umožňuje, aby kód fungoval na viacerých operačných systémoch, pokiaľ je pre tieto operačné systémy nainštalovaný PHP.

Musíte niečo doplniť k vysvetleniu? Zvuk vypnúť v komentároch. Chcete si prečítať viac odpovedí od iných používateľov technológie Stack Exchange? Pozrite sa na celý diskusný príspevok tu.