9Aug

Mitä tarkoittaa ohjelmiston toimiminen luonnollisesti?

Kun ihmiset viittaavat alkuperäisten ohjelmistojen suorittamiseen, emulointiin ja ohjelmistojen yhteensopivuuteen, mihin juuri he tarkoittavat? Lue lisää, kun käsittelemme alkuperäisen ohjelmiston käsitteitä.

Päivän kysymys &Vastausistunto tulee meille kohteliaasti : stä SuperUserista - Stack Exchange-jaosta, joka on yhteisöllinen Q & A-sivustojen ryhmittely.

Kysymys

SuperUser-lukija Throsby on utelias tietämättään siitä, mitä tarkoitetaan ohjelmiston käyttämiseksi luonnollisesti. Hän kirjoittaa:

Olen ihmetellyt, millaista se tarkoittaa, että ohjelmisto toimii natiivisti. Mikä on tällainen ohjelmisto ja miten se eroaa ohjelmistosta, joka ei toimi nativisesti? Miten voin kertoa, jos tietyn ohjelmiston toimi natively tietokoneellani? Onko tietokoneellani todennäköisesti ohjelmistoa, joka toimii natiivisti?

Lue erinomaisesta analogiasta, joka kertoo täsmälleen, mitä se tarkoittaa, että se syntyy tietyssä järjestelmässä.

Vastaus

SuperUser -edustaja Deltik tarjoaa fantastisen analogian, joka korostaa, mitä ohjelmisto vaatii alkuperäisiksi ja millainen muu ohjelmisto löytyy tietyssä järjestelmässä:

Ohjelmisto on kotoisin alustalle, jos se on suunniteltu toimimaanettä alusta.

Alustalla tarkoitetaan yleensä käyttöjärjestelmää, mutta sitä voidaan soveltaa myös laitteisiin, kuten Nintendo Game Boy.

Esimerkiksi Game Boy -ohjelmistolla se saa ohjelmistonsa patruunoilta. Nämä patruunat sisältävät koodia, joka ajaa -mallia nerokkaasti : llä Game Boy -pelissä.

Emulaattorit ovat kerros, joka mahdollistaa yhden alustan suunnitellun ohjelmiston ajettavaksi toisella. Esimerkiksi emulaattoreita, jotka pystyvät suorittamaan Game Boy -kasettien kuvia, voit pelata Game Boy -pelejä tietokoneellasi tai jopa matkapuhelimellasi.

A -yhteensopivuuskerros on erilainen kuin emulaattori. Kun 64-bittiset tietokoneet ja käyttöjärjestelmät tulivat valtavirtaan, niiden pitäisi olla yhteensopivia nykyisten 32-bittisten tekniikoiden kanssa. Koska 64-bittiset ja 32-bittiset arkkitehtuurit ovat hyvin erilaisia, tarvitaan usein yhteensopivuuskerros 32-bittisen ohjelmiston suorittamiseen 64-bittisissä koneissa. Microsoft Windows 64-bittisten versioiden tapauksessa Microsoft tarvitsi kirjoittamaan yhteensopivuuskerroksen niin, että 32-bittiset ohjelmat toimisivat edelleen uuden 64-bittisen järjestelmän kanssa. Siksi jotkut ohjelmat asennetaan usein kansioon nimeltä Program Files( x86), jossa x86 tarkoittaa "32-bittistä".

Yhteensopivuuskerrokset ovat yleensä älykkäämpiä kuin emulaattorit. VirtualBox jäljittelee -laitteistoa käyttöjärjestelmille * ja emuloimallaan järjestelmillä ei ole paljon suoraa vuorovaikutusta isäntäjärjestelmään. WoW64 on -yhteensopivuuskerros , joka mahdollistaa 32-bittisten ohjelmien suorittamisen 64-bittisessä Windowsissa integroidummin. WoW64 auttaa tekemään ohjelmia yhteensopiva eikä emuloida niitä eristetty ympäristössä.

A käännösteksti on osa yhteensopivuuskerroksia. Aina kun binäärikoodi on käynnissä ei-luonnollisesti, käännöskirjasto auttaa ohjaamaan vieraita, ei-alkuperäisiä puheluita alkuperäisiin puheluihin, joita järjestelmä voi ymmärtää.Alkuperäisen TI-83: ​​n kirjoittamat asennusohjelmat eivät välttämättä ole yhteensopivia uudempien TI-83/84 Plus-laskinten kanssa, koska tietyt TI-83: ​​n arkkitehtuurista järkevät puhelut eivät enää voi olla voimassa TI-83/84 +: ssa. Käännöskirjasto( luultavasti mukana MirageOSin kaltaisissa kuoreissa) takaa, että TI-83: ​​n puhelut menevät TI-83/84 + -laitteiden uuteen päivitettyyn paikkaan.

Platform-riippumaton koodi on kirjoitettu kielellä, joka on tulkittu : llä jotain, joka yleensä toimii natiivisti. Esimerkiksi PHP on ohjelmointikieli, jota asennettu PHP-binääri tulkitsee ja toteuttaa, ja se on jo koonnut natively Windows-, Mac- ja Unix-pohjaisille käyttöjärjestelmille. PHP-koodit, jotka web-kirjoittajat kirjoittavat, ovat riippumattomia alustasta, joten koodi toimii useilla käyttöjärjestelmillä niin kauan kuin PHP on asennettu kyseisille käyttöjärjestelmille.

Onko sinulla jotain lisättävä selitykseen? Kuulkaa kommentit. Haluatko lukea lisää vastauksia muilta tech-tajuilta Stack Exchange-käyttäjiltä?Katso koko keskusteluketju täältä.