If-Koubou

Mitä tarkoittaa ohjelmiston toimiminen luonnollisesti?

Mitä tarkoittaa ohjelmiston toimiminen luonnollisesti? (Miten)

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ä.

Tämän päivän kysymys- ja vastausistunto tulee meihin kohteliaastiof SuperUser - jakautuminen Stack Exchange -yhteisöön, Q & A-sivustojen yhteisöllinen 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-avustaja Deltik tarjoaa fantastisen analogian, joka korostaa, mitä ohjelmistoa varten tarvitaan, ja millaisia ​​muita ohjelmistoja löytyy tietyssä järjestelmässä:

Ohjelmisto on kotoisin alustalle, jos se on suunniteltu toimimaan kyseisellä alustalla.

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

Käyttämällä Game Boy -ohjelmaa esimerkkinä se saa sen ohjelmiston patruunoilta. Nämä patruunat sisältävät koodin, joka kulkeenatiivisti Game Boyissa.

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

yhteensopivuuskerros on eräänlainen 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. Tämän vuoksi jotkin ohjelmat asennetaan usein kutsuttuun kansioonOhjelmatiedostot (x86), missäx86 tarkoittaa "32-bittistä".

Yhteensopivuuskerrokset ovat yleensä älykkäämpiä kuin emulaattorit. VirtualBoxemuloi laitteisto käyttöjärjestelmille * ja emuloidut järjestelmät eivät ole kovinkaan suoraa vuorovaikutusta isäntäjärjestelmän kanssa. WoW64 onyhteensopivuuskerros sillä se mahdollistaa 32-bittisten ohjelmien suorittamisen 64-bittisessä Windowsissa integroidummin. WoW64 auttaa tekemään ohjelmiayhteensopiva mielummin kuinjäljittelemällä heidät eristettyyn ympäristöön.

käännöskirjasto 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 ontulkita jotain, joka tavallisesti kulkee nativisesti. Esimerkiksi PHP on ohjelmointikieli, jota asennettu PHP-binaari tulkitsee ja toteuttaa, joka on jo koottunatiivisti Windows, Mac ja Unix-pohjaiset käyttöjärjestelmät. PHP-koodit, jotka web-kirjoittajat kirjoittavat ovat riippumattomia alustasta, sallivat koodin toimivan useilla käyttöjärjestelmillä niin kauan kuin PHP on asennettu kyseisille käyttöjärjestelmille.

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