Kaj to pomeni za programsko opremo za poganjanje?
Ko se ljudje sklicujejo na zaganjanje domače programske opreme, emulacijo in združljivost programske opreme, na kaj točno se nanašajo? Beri naprej, ko se poglobimo v koncept domače programske opreme.
Današnja seja vprašanj in odgovorov prihaja k nam vljudno SuperUser-a, ki je del skupine Stack Exchange, skupnost spletnih strani za vprašanja in odgovore.
Vprašanje
Bralnik SuperUser Throsby je radoveden, kaj pomeni zagnati programsko opremo. On piše:
Zanima me, kaj pomeni, da programska oprema teče izvirno. Kaj točno je takšna programska oprema in kako se razlikuje od programske opreme, ki ne deluje samodejno? Kako lahko ugotovim, ali se določena programska oprema samodejno izvaja na mojem računalniku? Ali obstaja verjetnost, da bo programska oprema že v mojem računalniku, ki se bo izvajala izvirno?
Preberite o odlični analogiji, ki natančno pojasnjuje, kaj pomeni biti avtohton na določenem sistemu.
Odgovor
Sodelavec SuperUser Deltik ponuja fantastično analogijo, ki poudarja, kaj pomeni, da je programska oprema domorodna in kakšno drugo programsko opremo lahko najdete v določenem sistemu:
Programska oprema je izvirna za platformo, če je bila zasnovana za delovanje na tej platformi.
Platforma se običajno nanaša na operacijski sistem, vendar se lahko uporablja tudi za naprave, kot je Nintendo Game Boy.
Z uporabo Game Boy-a dobite svojo programsko opremo iz kartuš. Te kartuše vsebujejo kodo, ki se izvaja izvirno na Game Boy.
Emulatorji so plast, ki omogoča, da se programska oprema, zasnovana za eno platformo, izvaja na drugem. Na primer, obstajajo emulatorji, ki lahko izvajajo slike kartuš Game Boy in omogočajo igranje iger Game Boy na vašem računalniku ali celo na vašem mobilnem telefonu..
A plast združljivosti je nekako kot emulator. Ko so 64-bitni računalniki in operacijski sistemi postali mainstream, so morali biti združljivi z obstoječimi 32-bitnimi tehnologijami. Ker so 64-bitne in 32-bitne arhitekture zelo različne, je za zagon 32-bitne programske opreme na 64-bitnih računalnikih pogosto potreben sloj združljivosti. Za 64-bitne izdaje Microsoft Windows je Microsoft moral napisati sloj združljivosti, da bi 32-bitni programi še vedno delali na novem 64-bitnem sistemu. Zato so nekateri programi pogosto nameščeni v imenik
Programske datoteke (x86)
, kjex86
pomeni »32-bit«.Sloji združljivosti so ponavadi bolj intimni z izvornim sistemom kot emulatorji. VirtualBoxemulira strojna oprema za operacijske sisteme * in sistemi, ki jih emulira, nimajo veliko neposredne interakcije z gostiteljskim sistemom. WoW64 je a plast združljivosti v tem, da omogoča 32-bitne programe na 64-bitnem Windows na bolj integriran način. WoW64 pomaga pri izdelavi programov združljivi raje kotposnemanje v izoliranem okolju.
A knjižnica za prevajanje je del plasti združljivosti. Kadar se binarna koda izvaja nenaravno, prevajalna knjižnica pomaga preusmeriti tuje, tujerodne klice na domače klice, ki jih sistem lahko razume. Montažni programi, napisani za originalni TI-83, morda niso združljivi z novejšimi kalkulatorji TI-83/84 Plus, ker nekateri klici, ki so imeli smisel v arhitekturi TI-83, morda niso več veljavni v TI-83/84 +. Prevajalska knjižnica (verjetno vključena v lupine, kot je MirageOS) zagotavlja, da so klici za TI-83 na novih, posodobljenih mestih v kalkulatorjih TI-83/84 +.
Koda neodvisna od platforme je napisana v jeziku, ki je razlagati z nečim, kar ponavadi poteka doma. PHP je na primer programski jezik, ki ga interpretira in izvaja nameščen binarni PHP, ki je že bil preveden izvirno za operacijske sisteme Windows, Mac in Unix. Koda PHP, ki jo pišejo skripti, je neodvisna od platforme, kar omogoča delovanje kode na več operacijskih sistemih, dokler je PHP nameščen za te operacijske sisteme..
Imate kaj dodati pojasnilu? Zvok izključen v komentarjih. Želite prebrati več odgovorov drugih uporabnikov tehnologije Stack Exchange? Oglejte si celotno nit razprave tukaj.