9Aug

Mit jelent a szoftvernek a natív működéshez?

Amikor az emberek a natív szoftverek futtatására, emulációra és szoftverkompatibilitásra utalnak, pontosan mit jelentenek? Olvasson tovább, amikor belevágunk a natív szoftver fogalmába.

A mai kérdés &A válaszolódás a SuperUser jóvoltából származik - a Stack Exchange megosztottsága, amely a Q & A webhelyek közösségvezérelt csoportja.

Kérdés

SuperUser olvasó Throsby kíváncsi arról, hogy mit jelent a szoftvert natív módon futtatni. Azt írja:

Azon gondolkodtam, hogy mit jelent a szoftvert natívan futtatni. Mi az, hogy pontosan milyen szoftver és hogyan különbözik az olyan szoftvertől, amely nem működik natívan? Hogyan tudhatom meg, hogy egy adott szoftvert natívan fog működni a számítógépemen? Lehetséges, hogy a számítógépe már szoftvert fut natív módon?

Olvassa el a kiváló analógiát, amely pontosan elmagyarázza, hogy mit jelent az adott rendszerben való bennszülöttség.

Az

SuperUser válaszadó A Deltik olyan fantasztikus analógiát kínál, amely rámutat arra, hogy mit jelent a szoftvert natívnek és milyen más szoftvert találhat egy adott rendszeren:

A szoftver egy olyan platformhoz tartozik,ez a platform.

A platform általában egy operációs rendszert jelent, de alkalmazható olyan eszközökre is, mint például a Nintendo Game Boy.

Példaként a Game Boy használatával kapja meg a szoftverét a patronoktól. Ezek a patronok olyan kódot tartalmaznak, amely natív -et futtat a Game Boy-en.

Az emulátorok olyan rétegek, amelyek lehetővé teszik, hogy egy platformra tervezett szoftvert egy másik platformon futtassanak. Például léteznek olyan emulátorok, amelyek képesek a Game Boy kazettákról készült képeket végrehajtani, és lehetővé teszik, hogy számítógépén vagy akár mobiltelefonján játsszanak Game Boy játékokat.

A kompatibilitási réteg olyan, mint egy emulátor. Amikor a 64 bites számítógépek és operációs rendszerek vált mainstreamekké, akkor össze kellett volna hangolnia a létező 32 bites technológiákkal. Mivel a 64 bites és a 32 bites architektúrák nagyon eltérőek, gyakran szükséges egy kompatibilitási réteg 32 bites szoftvert futtatni 64 bites gépeken. A Microsoft Windows 64 bites kiadásait illetően a Microsoftnak kompatibilitási réteget kellett írni, hogy a 32 bites programok továbbra is működjenek az új 64 bites rendszeren. Ez az oka annak, hogy egyes programok gyakran telepítve vannak a Program Files( x86) nevű mappába, ahol az x86 "32 bites".

A kompatibilitási rétegek sokkal inkább intimek a natív rendszerrel, mint az emulátorok. A VirtualBox emulálja az hardvert az operációs rendszerekhez *, és az általa emulált rendszerek nem rendelkeznek nagyon nagy kölcsönhatással a gazdarendszerrel. A WoW64 egy kompatibilitási réteg, amely lehetővé teszi a 32 bites programok futtatását 64 bites Windows rendszeren, integráltabb módon. A WoW64 segít az -kompatibilis programok helyett az -t emulálni -t egy elszigetelt környezetben.

A fordítókönyvtár a kompatibilitási rétegek összetevője. Ha a bináris kód nem natívan fut, a fordítási könyvtár segít a külföldi, nem natív hívások átirányítására a natív hívásokra, amelyeket a rendszer megért. Az eredeti TI-83-ra írt összeállítási programok esetleg nem kompatibilisek az újabb TI-83/84 Plus számológépekkel, mert a TI-83 architektúrában értelmezett bizonyos hívások többé már nem érvényesek a TI-83/84 + készüléken. A fordítási könyvtár( valószínűleg a MirageOS-ban lévő héjban is) biztosítja, hogy a TI-83-as hívások a TI-83/84 + számológépek új, frissített helyére kerüljenek.

Az platformtól független kódot olyan nyelven írták le, amely -t -nek értelmez, valami olyat, amely rendszerint natív módon fut. Például a PHP egy olyan programozási nyelv, amelyet a telepített PHP bináris értelmez és hajt végre, amely már lefordított natív Windows, Mac és Unix alapú operációs rendszerek számára. A PHP-kód, amelyet a webes szkriptek írnak, független a platformtól, lehetővé téve a kód működtetését több operációs rendszeren, mindaddig, amíg a PHP telepítve van az adott operációs rendszerek számára.

Van valami a magyarázat hozzáadásához? Hangzik ki a megjegyzésekben. Szeretne többet válaszolni a többi technikus-tudós Stack Exchange felhasználóiról? Nézze meg a teljes vitafonalat itt.