Mida tähendab tarkvara käivitamine natiivselt?
Kui inimesed viitavad natiivse tarkvara, emulatsiooni ja tarkvara ühilduvusele, siis mida nad täpselt viitavad? Loe edasi, kui me siseneme natiivse tarkvara kontseptsiooni.
Tänane küsimuste ja vastuste seanss tuleb meile viisakalt SuperUser-Stack Exchange'i allüksus, kogukonnapõhine Q&A veebisaitide rühmitamine.
Küsimus
SuperUser-lugeja Throsby on uudishimulik, mida tähendab tarkvara algselt käivitada. Ta kirjutab:
Ma mõtlesin, mida see tähendab, et tarkvara hakkab natuke töötama. Mis täpselt on selline tarkvara ja kuidas see erineb tarkvarast, mis ei tööta natiivselt? Kuidas ma saan teada, kas antud tarkvara töötab minu arvutis? Kas arvutis on tõenäoliselt juba tarkvara, mis töötab sisuliselt?
Loe edasi suurepäraseks analoogiaks, mis selgitab täpselt, mida tähendab olla kohalikus antud süsteemis.
Vastus
SuperUser'i toetaja Deltik pakub fantastilist analoogiat, mis toob esile, mida tähendab tarkvara omakeelne ja millist muud tarkvara võib leida antud süsteemis:
Tarkvara on platvormil kohal, kui see on mõeldud sellel platvormil töötamiseks.
Platvorm viitab tavaliselt operatsioonisüsteemile, kuid seda saab kasutada ka selliste seadmete puhul nagu Nintendo Game Boy.
Kasutades näiteks Game Boy'i, saab selle tarkvara kassettidest. Need padrunid sisaldavad koodi, mis töötab sisuliselt mängu poiss.
Emulaatorid on kiht, mis võimaldab ühele platvormile mõeldud tarkvara teisele käivitamisele. Näiteks on emulaatorid, mis suudavad mängida Game Boy kassettide pilte ja võimaldavad mängida Game Boy mänge teie arvutis või isegi teie mobiiltelefonis.
A ühilduvuse kiht on nagu emulaator. Kui 64-bitised arvutid ja operatsioonisüsteemid muutusid peavooluks, pidid nad ühilduma olemasolevate 32-bitiste tehnoloogiatega. Kuna 64-bitised ja 32-bitised arhitektuurid on väga erinevad, on 64-bitistel masinatel 32-bitise tarkvara käivitamiseks sageli vajalik ühilduvuskiht. Microsoft Windowsi 64-bitiste väljaannete jaoks pidi Microsoft kirjutama ühilduvuse kihi nii, et 32-bitised programmid töötaksid endiselt uue 64-bitise süsteemiga. Seetõttu paigaldatakse mõned programmid sageli nimega kausta
Programmifailid (x86)
, kusx86
"32-bitine".Sobivuse kihid kipuvad olema empiiriliste süsteemidega intiimsemad kui emulaatorid. VirtualBoxemuleerib operatsioonisüsteemide riistvara * ja süsteemid, mida see emuleerib, ei ole väga otsesed suhted hostisüsteemiga. WoW64 on a ühilduvuse kiht see võimaldab 32-bitistel programmidel töötada 64-bitises Windowsis integreeritumal viisil. WoW64 aitab luua programme ühilduv pigem kuiemuleerida neid eraldatud keskkonnas.
A tõlkekogu on ühilduvuse kihtide komponent. Kui binaarne kood töötab mitte-sisuliselt, aitab tõlkekogu välismaiste, mitte-emakeelte kõnede suunamist kohalikesse kõnedesse, mida süsteem saab aru. Esialgse TI-83 jaoks kirjutatud assambleerimisprogrammid ei pruugi olla ühilduvad uuemate TI-83/84 Plus kalkulaatoritega, kuna mõned TI-83 arhitektuuri mõttes mõistlikud kõned ei pruugi enam TI-83/84 + puhul kehtida. Tõlkekogu (mis kuulub tõenäoliselt MirageOS-i ümbristesse) tagab, et TI-83 kõned lähevad TI-83/84 + kalkulaatorite uutesse, uuendatud kohtadesse.
Platvormist sõltumatu kood on kirjutatud keeles, mis on tõlgendatud midagi, mis tavaliselt kulgeb natiivselt. Näiteks PHP on programmeerimiskeel, mida tõlgendab ja teostab juba installitud PHP binaar sisuliselt Windows, Mac ja Unix-põhistele operatsioonisüsteemidele. PHP kood, mida veebi skriptijad kirjutavad, on platvormist sõltumatu, võimaldades koodil töötada mitmetes operatsioonisüsteemides, kui PHP on nende operatsioonisüsteemide jaoks installitud.
Kas teil on midagi lisada selgitusele? Hääletage kommentaarides. Kas soovite lugeda rohkem vastuseid teistelt tech-savvy Stack Exchange'i kasutajatelt? Vaadake siin täielikku arutelu lõiku.