9Aug

Mida tähendab tarkvara natiivseks käitamiseks?

Kui inimesed viitavad kohaliku tarkvara, emuleerimise ja tarkvara ühilduvusele, mida täpselt nad viitavad? Loe edasi, kui me süvenevad natiivse tarkvara kontseptsioonist.

tänapäeva küsimus &Vastussessioon jõuab meile viisakalt -st SuperUserist - Stack Exchange'i osakond, Q & A veebisaitide kogukonnapõhine grupp.

Küsimus

SuperUser lugeja Throsby on uudishimulik, mis tähendab tarkvara käivitamist. Ta kirjutab:

Ma olen mõtlesin, mida see tähendab, et tarkvaral töötaks algupäraselt. Mis täpselt selline tarkvara on ja kuidas see erineb tarkvarast, mis ei toimi algupäraselt? Kuidas ma saan öelda, kas teatud tükk tarkvara käivitatakse mu arvutiga? Kas on tõenäoliselt juba arvutis tarkvaraga juba töötav tarkvara?

Lugege suurepärase analoogia põhjal, selgitades täpselt, mida see tähendab antud süsteemis emakeele kohta.

Vastus

SuperUseri kaastöötaja Deltik pakub fantastiline analoogiat, mis toob esile, mida see tähendab, et tarkvara peaks olema emakeelena ja millist tüüpi tarkvara võiks sellel süsteemil leida:

A tarkvara on platvormil, kui see oli kavandatud töötamasee platvorm.

Platvorm viitab tavaliselt operatsioonisüsteemile, kuid seda saab rakendada ka sellistele seadmetele nagu Nintendo Game Boy.

Kasutades Game Boy näiteks saab oma tarkvara kassettidest. Need kassetid sisaldavad koodi, mis käitab Gameboy'is -i algupäraselt -d.

emulatsioonid on kiht, mis võimaldab tarkvara, mis on loodud ühe platvormi jaoks teisele. Näiteks on olemas emulaatorid, mis suudavad täita Game Boy kassetid ja võimaldavad mängida mängukoopia mänge oma arvutis või isegi mobiiltelefonis.

A ühilduvuskiht on selline nagu emulator. Kui 64-bitised arvutid ja operatsioonisüsteemid said peavoolu, peavad need olema kooskõlas olemasolevate 32-bitiste tehnoloogiatega. Kuna 64-bitised ja 32-bitised arhitektuurid on väga erinevad, on 64-bitiste masinate jaoks 32-bitise tarkvara käivitamiseks vaja ühilduvuskihti. Microsoft Windowsi 64-bitiseks versiooniks oli Microsoft vaja kirjutada ühilduvuskiht nii, et 32-bitised programmid töötaksid endiselt uue 64-bitisse süsteemi. Sellepärast paigaldatakse mõned programmid kausta Program Files( x86), kus x86 tähendab "32-bitine".

Ühilduvuskihid on pigem sisemise süsteemiga kui emulaatorid. VirtualBox emuleerib riistvara operatsioonisüsteemidele * ja emuleeritavatel süsteemidel ei ole otsest sidet vastuvõtvasüsteemis. WoW64 on -i ühilduvuskiht , kuna see võimaldab 32-bitistel programmidel 64-bitiste Windowsidega integreeritumalt töötada. WoW64 aitab programmidel -ga ühilduvat -d, mitte , mis emuleerib neid -s isoleeritud keskkonnas.

A tõlke raamatukogu on ühilduvuskihtide komponent. Kui kahendkood töötab mitterahuldavalt, aitab tõlkebüroo suunata võõrkeelseid mitte-kohalikke kõnesid kohalikele kõnedele, mida süsteem saab aru saada. Originaali TI-83 jaoks koostatud monteerimisprogrammid ei pruugi ühilduda uuemate TI-83/84 Plus kalkulaatoritega, sest mõned TI-83 arhitektuuriga seotud kõned ei pruugi TI-83/84 + -s enam kehtivad. Tõlkebibliatuur( ilmselt sisaldub ka sellistes münte nagu MirageOS) tagab, et TI-83-i kutsed lähevad TI-83/84 + kalkulaatorite uuematesse kohtadesse.

Platvormist sõltumatu kood on kirjutatud keeles, mis tõlgendas midagi, mis tavaliselt töötab algupäraselt. Näiteks PHP on programmeerimiskeel, mida tõlgib ja juhib installitud PHP-binaar, mis on juba kompileerinud -i algupäraselt Windowsile, Macile ja Unix-põhistele operatsioonisüsteemidele. Veebikirjaliste kirjade PHP-kood on platvormist sõltumatu, mis võimaldab koodi töötada mitmel operatsioonisüsteemil, kui PHP on nende operatsioonisüsteemide jaoks installitud.

Kas teil on seletamiseks midagi lisada? Helistage kommentaarides. Kas soovite lugeda rohkem vastuseid teistelt tech-savvy Stack Exchange'i kasutajatelt? Tutvu täieliku arutelu teemaga siit.