/ / Ko nozīmē, ka programmatūra darbojas natīvi?

Ko nozīmē programmatūras palaišana natīvā veidā?

Kad cilvēki atsaucas uz vietējās programmatūras darbību, emulāciju un programmatūras savietojamību, uz ko viņi īsti atsaucas? Lasiet tālāk, kad mēs iedziļināmies vietējās programmatūras jēdzienā.

Mūsdienu jautājumu un atbilžu sesija mūs sagaida ar prieku no SuperUser - Stack Exchange apakšsadalījums, kas ir sabiedrības virzīts jautājumu un atbilžu vietņu grupējums.

Jautājums

SuperUser lasītājs Throsby ir ieinteresēts, ko nozīmē programmatūras vietējā palaišana. Viņš raksta:

Esmu domājis, ko nozīmē programmatūrapalaist natīvi. Kas īsti ir šāda programmatūra un kā tā atšķiras no programmatūras, kas nedarbojas vietējā līmenī? Kā es varu noteikt, vai konkrētā programmatūra manā datorā darbosies sākotnēji? Vai, iespējams, manā datorā jau ir programmatūra, kas darbojas vietējā līmenī?

Izlasiet izcilu analoģiju, precīzi izskaidrojot, ko nozīmē būt dzimtajai dotajā sistēmā.

Atbilde

SuperUser līdzstrādnieks Deltiks piedāvā fantastisku analoģiju, kas izceļ to, ko nozīmē, ka programmatūra ir dzimtā, un kāda cita programmatūra var atrasties dotajā sistēmā:

Programmatūra ir vietējā platforma, ja tā bija paredzēta darbībai šajā platformā.

Platforma parasti attiecas uz operētājsistēmu, bet to var izmantot arī tādām ierīcēm kā Nintendo Game Boy.

Izmantojot Game Boy kā piemēru, tas iegūst savu programmatūru no kasetnēm. Šajās kasetnēs ir kods, kas darbojas dzimtā uz spēles zēns.

Emulatori ir slānis, kas ļauj izveidot programmatūru, kas paredzēta vienamplatformu, kas darbināma uz citas. Piemēram, ir emulatori, kas var izpildīt Game Boy kārtridžu attēlus un ļauj jums spēlēt Game Boy spēles datorā vai pat mobilajā tālrunī.

A saderības slānis ir tāds kā emulators. Kad 64 bitu datori un operētājsistēmas kļuva populāras, tiem bija jābūt savietojamiem ar esošajām 32 bitu tehnoloģijām. Tā kā 64 bitu un 32 bitu arhitektūras ir ļoti atšķirīgas, 32 bitu programmatūras palaišanai 64 bitu mašīnās bieži ir nepieciešams saderības slānis. Microsoft Windows 64 bitu izdevumiem Microsoft bija jāraksta saderības slānis, lai 32 bitu programmas joprojām darbotos jaunajā 64 bitu sistēmā. Tāpēc dažas programmas bieži tiek instalētas mapē ar nosaukumu Program Files (x86), kur x86 nozīmē “32 bitu”.

Savietojamības slāņi parasti ir intīmāki ar vietējo sistēmu nekā emulatori. VirtualBoxlīdzinās aparatūra operētājsistēmām *, un sistēmām, kuras tā atdarina, nav ļoti tiešas mijiedarbības ar resursdatora sistēmu. WoW64 ir a saderības slānis tādā ziņā, ka tas ļauj 32 bitu programmām darboties 64 bitu Windows integrētākā veidā. WoW64 palīdz veidot programmas saderīgs nevislīdzināties tos izolētā vidē.

A tulkošanas bibliotēka ir saderības slāņu sastāvdaļa. Ikreiz, kad binārais kods darbojas netālu, tulkošanas bibliotēka palīdz novirzīt ārvalstu, ne vietējos, zvanus uz vietējiem zvaniem, kurus sistēma var saprast. Montāžas programmas, kas rakstītas oriģinālajam TI-83, var nebūt saderīgas ar jaunākajiem TI-83/84 Plus kalkulatoriem, jo ​​daži zvani, kuriem bija jēga TI-83 arhitektūrā, iespējams, vairs nebūs derīgi TI-83/84 +. Tulkojumu bibliotēka (iespējams, iekļauta čaumalās, piemēram, MirageOS) nodrošina, ka zvani uz TI-83 tiek pārvietoti uz jaunajām, atjauninātajām vietām TI-83/84 + kalkulatoros.

No platformas neatkarīgs kods ir rakstīts valodā, kas ir interpretēts ar kaut ko, kas parasti darbojas dabiski. Piemēram, PHP ir programmēšanas valoda, kuru interpretē un izpilda instalētais PHP binārais fails, kas jau ir apkopots dzimtā operētājsistēmām Windows, Mac un Unixsistēmas. Web skriptu rakstītais PHP kods nav atkarīgs no platformas, ļaujot kodam darboties vairākās operētājsistēmās, ja vien šīm operētājsistēmām ir instalēts PHP.


Vai ir ko pievienot skaidrojumam? Skaņa komentāros. Vai vēlaties uzzināt vairāk atbilžu no citiem tehnoloģiski gudriem Stack Exchange lietotājiem? Pārbaudiet pilnu diskusiju sadaļu šeit.