Mitä se tarkoittaa ohjelmistolle juoksevasti?
Kun ihmiset viittaavat natiiviin ohjelmistoon, emulointiin ja ohjelmistojen yhteensopivuuteen, mitä he tarkoittavat? Lue, kun kaivamme alkuperäisen ohjelmiston käsitteen.
Tänään Kysymys ja vastaus -istunto tulee meille kohteliaasti SuperUser-Stack Exchange -palvelun osa-alue, Q & A-sivustojen yhteisöpohjainen ryhmittely.
Kysymys
SuperUser-lukija Throsby on utelias siitä, mitä tarkoittaa ohjelmiston suorittaminen natiivisti. Hän kirjoittaa:
Olen miettinyt, mitä se tarkoittaa ohjelmiston juoksemiseen. Mikä tarkalleen on tällainen ohjelmisto ja miten se eroaa ohjelmistosta, joka ei toimi natiivisti? Miten voin kertoa, toimiiko tietty ohjelmisto natiivisti tietokoneellani? Onko tietokoneessani jo olemassa ohjelmisto, joka toimii luonnollisesti?
Lue loistava analogia, jossa selitetään tarkalleen, mitä tarkoittaa olla kotoisin tietystä järjestelmästä.
Vastaus
SuperUser-avustaja Deltik tarjoaa loistavan analogian, joka korostaa, mitä ohjelmistojen merkitys tarkoittaa, ja millaisia muita ohjelmistoja löytyy tietystä järjestelmästä:
Ohjelmisto on luontainen alustalle, jos se on suunniteltu toimimaan kyseisellä alustalla.
Järjestelmä viittaa yleensä käyttöjärjestelmään, mutta sitä voidaan soveltaa myös Nintendo Game Boy -laitteeseen.
Käyttämällä Game Boyia esimerkkinä se saa ohjelmiston kaseteista. Nämä patruunat sisältävät koodin, joka toimii natiivisti on Game Boy.
emulaattorit on kerros, joka sallii yhden alustan ohjelmiston, joka voidaan ajaa toisella. On esimerkiksi emulaattoreita, jotka voivat suorittaa kuvia Game Boy -patruunoista ja voit pelata Game Boy -pelejä tietokoneellasi tai jopa matkapuhelimellasi.
yhteensopivuuskerros on sellainen kuin emulaattori. Kun 64-bittiset tietokoneet ja käyttöjärjestelmät tulivat valtavirtaan, niiden oli oltava yhteensopivia nykyisten 32-bittisten teknologioiden kanssa. Koska 64-bittiset ja 32-bittiset arkkitehtuurit ovat hyvin erilaisia, yhteensopivuuskerros tarvitaan usein 32-bittisen ohjelmiston suorittamiseen 64-bittisissä koneissa. Microsoft Windowsin 64-bittisissä versioissa Microsoftin oli kirjoitettava yhteensopivuuskerros, jotta 32-bittiset ohjelmat toimivat edelleen uudessa 64-bittisessä järjestelmässä. Siksi jotkin ohjelmat asennetaan usein nimettyyn kansioon
Ohjelmatiedostot (x86)
, missäx86
tarkoittaa "32-bittistä".Yhteensopivuuskerrokset ovat yleensä intiimimpiä alkuperäisen järjestelmän kanssa kuin emulaattorit. VirtualBoxemuloi käyttöjärjestelmien laitteisto *, ja emuloiduilla järjestelmillä ei ole paljon suoraa vuorovaikutusta isäntäjärjestelmän kanssa. WoW64 on a yhteensopivuuskerros sillä se mahdollistaa 32-bittisten ohjelmien suorittamisen 64-bittisessä Windowsissa integroidummin. WoW64 auttaa tekemään ohjelmia yhteensopiva mielummin kuinjäljittelemällä niitä eristetyssä ympäristössä.
käännöskirjasto on yhteensopivuuskerrosten osa. Aina kun binaarikoodi toimii ei-luonnollisesti, käännöskirjasto auttaa ohjaamaan ulkomaisia, ei-alkuperäisiä puheluja alkuperäisiin puheluihin, joita järjestelmä ymmärtää. Alkuperäiselle TI-83: lle kirjoitetut kokoonpano-ohjelmat eivät välttämättä ole yhteensopivia uudempien TI-83/84 Plus -laskurien kanssa, koska jotkut TI-83: n arkkitehtuurissa järkevät puhelut eivät ehkä enää ole voimassa TI-83/84 +: ssa. Kääntökirjasto (luultavasti MirageOSin kaltaisissa kuorissa) takaa, että TI-83: n puhelut siirtyvät uusiin, päivitettyihin paikkoihin TI-83/84 + laskimissa.
Platformista riippumaton koodi on kirjoitettu kielellä, joka on tulkita jotain, joka yleensä kulkee natiivisti. Esimerkiksi PHP on ohjelmointikieli, jota tulkitsee ja suorittaa asennettu PHP-binaari, joka on jo koottu natiivisti Windows-, Mac- ja Unix-pohjaisiin käyttöjärjestelmiin. PHP-koodit, jotka web scripters kirjoittaa, ovat riippumattomia alustasta, jolloin koodi toimii useissa käyttöjärjestelmissä niin kauan kuin PHP on asennettu näille käyttöjärjestelmille.
Onko jotain lisättävää selitykseen? Ääni pois kommenteista. Haluatko lukea lisää vastauksia muilta tech-savvy Stack Exchange -käyttäjiltä? Tutustu koko keskusteluketjuun täällä.