Domovská » jak » Co znamená software spuštěn nativně?

    Co znamená software spuštěn nativně?

    Když se lidé odvolávají na spuštění nativního softwaru, emulace a softwarové kompatibility, na co přesně odkazují? Přečtěte si, jak se ponoříme do koncepce nativního softwaru.

    Dnešní zasedání Otázka a odpověď nám přichází s laskavým svolením SuperUser - podřízené rozdělení stacků, což je společné seskupování webových stránek pro otázky a odpovědi.

    Otázka

    Snímač SuperUser Throsby je zvědavý, co to znamená spustit software nativní. Napsal:

    Přemýšlel jsem, co to znamená, aby software běžel nativně. Co je přesně takový software a jak se liší od softwaru, který není nativní? Jak mohu zjistit, zda daný software běží na počítači nativně? Je pravděpodobné, že již v počítači je počítač, který běží nativně?

    Přečtěte si o vynikající analogii, která vysvětluje přesně to, co znamená být domorodci v daném systému.

    Odpověď

    Dodavatel SuperUser Deltik nabízí fantastickou analogii, která zdůrazňuje, co to znamená pro software, který má být domorodec a jaký druh jiného softwaru by mohl najít v daném systému:

    Software je natívný pro platformu, pokud byl navržen tak, aby běžel na této platformě.

    Platforma se obvykle týká operačního systému, ale může být použita také pro zařízení, jako je Nintendo Game Boy.

    Použitím Game Boy jako příkladu získává software z kazet. Tyto kazety obsahují kód, který běží nativní na Game Boy.

    Emulátory jsou vrstvy, které umožňují software navržený pro provoz jedné platformy na jinou platformu. Například existují emulátory, které mohou provádět obrázky herních kazet Game Boy a umožňují vám hrát hry Game Boy v počítači nebo dokonce i v mobilním telefonu.

    kompatibilní vrstvy je něco jako emulátor. Když se 64-bitové počítače a operační systémy staly hlavním proudem, musely být kompatibilní s existujícími 32bitovými technologiemi. Vzhledem k tomu, že 64bitové a 32bitové architektury jsou velmi odlišné, je často potřeba kompatibilní vrstva pro spuštění 32bitového softwaru na 64bitových počítačích. U 64bitových vydání systému Microsoft Windows potřebovala společnost Microsoft zapsat vrstvu kompatibility, takže 32bitové programy by stále fungovaly na novém 64bitovém systému. To je důvod, proč jsou některé programy často instalovány do složky nazvané Programové soubory (x86), kde x86 znamená "32bitové".

    Vrstvy kompatibility bývají s nativním systémem intimnější než emulátory. VirtualBoxemuluje hardware pro operační systémy * a systémy, které emuluje, nemají příliš velkou přímou interakci s hostitelským systémem. WoW64 je a kompatibilní vrstvy v tom, že 32bitové programy běží na 64bitových systémech Windows integrovanějším způsobem. WoW64 pomáhá vytvářet programy kompatibilní spíše nežemulace v izolovaném prostředí.

    překladatelská knihovna je součástí kompatibilních vrstev. Kdykoli je binární kód spuštěn neinteračně, knihovna překladů pomáhá přesměrovat zahraniční volání, která není nativní, na nativní volání, která systém může pochopit. Montážní programy napsané pro původní TI-83 nemusí být kompatibilní s novějšími kalkulačky TI-83/84 Plus, protože v TI-83/84 + již nejsou platné některé hovory, které mají smysl v architektuře TI-83. Překladatelská knihovna (pravděpodobně obsažená ve skořepinách jako MirageOS) zajišťuje, že volání na TI-83 přejde na nová, aktualizovaná místa v kalkulačích TI-83/84 +.

    Kód nezávislý na platformě je napsán v jazyce, který je interpretováno něco, co obvykle běží nativní. Například PHP je programovací jazyk, který je interpretován a proveden instalovaným binárním programem PHP, který již byl kompilován nativní pro operační systémy Windows, Mac a Unix. PHP kód, který píšou webové skripty, je nezávislý na platformě, což umožňuje, aby kód fungoval na více operačních systémech, pokud je pro tyto operační systémy nainstalován PHP.


    Musíte něco přidat k vysvětlení? Vypadněte v komentářích. Chcete se dozvědět více odpovědí od ostatních uživatelů technologie Stack Exchange? Podívejte se na celý diskusní příspěvek zde.