Microsoft razkriva, kako deluje njegov podsistem Windows 10 Linux

The Bash na Ubuntuju v sistemu Windows omogoča, da se domači binarni elementi ELF64 za Linux izvajajo v sistemu Windows prek podsistema Windows za Linux (WSL). Čeprav je bil marsikdo šokiran zaradi napovedi Bash on Ubuntu, je treba omeniti, da odpira nova vrata za združljivost med različnimi operacijskimi sistemi. Microsoft naredi še en korak naprej in razkrije, kako deluje njegov WSL, da bomo lahko bolje razumeli, kako oba sistema komunicirata med seboj.

WSL je ustvarila ekipa jedra Microsoft Windows in vsebuje tako uporabniški način kot tudi jedrski način. Natančneje, sistem je sestavljen iz:

  • storitev upravitelja sej v uporabniškem načinu, ki obravnava življenjski cikel primerka Linux
  • Gonilniki ponudnikov Pico (lxss.sys, lxcore.sys), katerih vloga je posnemati jedro Linuxa s prevajanjem syscalls Linuxa
  • Pico procesi, ki gostijo nespremenjeni uporabniški način Linux (npr. / Bin / bash).

Povezava med tremi komponentami je opisana na naslednji način:

To je prostor med binarnimi datotekami v uporabniškem načinu Linux in komponentami jedra sistema Windows, kjer se zgodi čarovnija. Z namestitvijo nespremenjenih binarnih datotek Linuxa v procese Pico omogočamo usmerjanje sistemskih klicev Linuxa v jedro sistema Windows. Gonilnika lxss.sys in lxcore.sys prevajata sistemske klice Linuxa v API-je NT in posnemata jedro Linuxa.

Glavni izziv v procesu je združiti oba sistema:

WSL izvaja nespremenjene binarne datoteke ELF64 za Linux z virtualizacijo vmesnika jedra Linuxa na vrhu jedra Windows NT. Eden od vmesnikov jedra, ki ga izpostavi, so sistemski klici (syscalls). Syscall je storitev, ki jo omogoča jedro in jo lahko prikličete iz uporabniškega načina. Tako jedro Linuxa kot jedro Windows NT izpostavi več sto syscalls uporabniškemu načinu, vendar ima različno semantiko in na splošno ni neposredno združljivo. Na primer, jedro Linuxa vključuje stvari, kot so fork, open in kill, medtem ko ima jedro Windows NT primerljive NtCreateProcess, NtOpenFile in NtTerminateProcess.

Podsistem Windows za Linux vključuje gonilnike načina jedra (lxss.sys in lxcore.sys), ki so odgovorni za obdelavo zahtev sistemskih klicev Linux v koordinaciji z jedrom Windows NT. Gonilniki ne vsebujejo kode iz jedra Linuxa, ampak so namesto tega uvedba vmesnikov jedra, združljivih z Linuxom. V izvornem Linuxu, ko je syscall izdelan iz uporabniškega načina, ga obdela jedro Linuxa. Na WSL, ko je syscall narejen iz iste izvršljive datoteke, jedro sistema Windows NT posreduje zahtevo na lxcore.sys. Kjer je to mogoče, lxcore.sys prevede sistemski klic v sistem Linux v enakovreden klic Windows NT, ki nato težko dvigne.

Ob upoštevanju zanimanja Microsofta za odprtokodne platforme se je marsikdo vprašal, ali tehnološki velikan bi moral pridobiti glavna podjetja, usmerjena v Linux, kot je Canonical, podjetje, ki stoji za operacijskim sistemom Ubuntu. Čeprav sta Microsoft in Canonical sodelovala pri odprtokodni programski opremi, nobena od teh možnosti ni objavila nobenega komentarja.

Če vas zanima, kako se razvija interakcija Linux - Windows, pojdite na Microsoftov spletni dnevnik. Ekipa je obljubila, da bo sledilo še več objav na to temo.

POVEZANE ZGODBE, KI JIH MORATE OGLEDATI:

  • Uporabniki Linuxa poročajo o težavah »Slušalke so prenehale delovati v sistemu Windows 8.1«
  • Microsoft in Canonical prinašata Bash v Windows 10 na Build 2016
  • München začne distribuirati brezplačne CD-je Ubuntu uporabnikom sistema Windows XP
Kako namestiti Linux Bash v Windows 10 [Enostaven način]

Kako namestiti Linux Bash v Windows 10 [Enostaven način]NamestiteVodniki Za Windows 10Podsistem Windows LinuxBaš

Če želite odpraviti različne težave z računalnikom, priporočamo Restoro PC Repair Tool:Ta programska oprema bo popravila pogoste napake računalnika, vas zaščitila pred izgubo datotek, zlonamerno pr...

Preberi več
Microsoft podpira Linux GUI aplikacije za Windows 10

Microsoft podpira Linux GUI aplikacije za Windows 10Microsoft Build 2020Podsistem Windows Linux

Za tiste, ki ne poznajo WSL, podsistem uporabnikom sistema Windows omogoča zagon izvornih, nespremenjenih orodij in aplikacij za ukazno vrstico Linux neposredno v operacijskem sistemu Windows, tako...

Preberi več
Microsoft razkriva, kako deluje njegov podsistem Windows 10 Linux

Microsoft razkriva, kako deluje njegov podsistem Windows 10 LinuxPodsistem Windows Linux

The Bash na Ubuntuju v sistemu Windows omogoča, da se domači binarni elementi ELF64 za Linux izvajajo v sistemu Windows prek podsistema Windows za Linux (WSL). Čeprav je bil marsikdo šokiran zaradi...

Preberi več