Microsoft paljastaa, miten sen Windows 10 Linux -alijärjestelmä toimii

 Bash Ubuntussa Windowsissa mahdollistaa alkuperäisten Linux ELF64 -binaarien suorittamisen Windowsissa Windows-alijärjestelmän Linuxille (WSL) kautta. Vaikka monet ihmiset olivat järkyttyneitä Bash on Ubuntu -ilmoituksesta, on syytä mainita, että se avaa uudet ovet eri käyttöjärjestelmien yhteensopivuudelle. Microsoft ottaa uuden askeleen eteenpäin ja paljastaa WSL-toimintansa, jotta voimme paremmin ymmärtää, miten nämä kaksi järjestelmää kommunikoivat keskenään.

WSL: n on luonut Microsoft Windows Kernel -tiimi, ja se sisältää sekä käyttäjä- että ytintilan komponentteja. Tarkemmin sanottuna järjestelmä koostuu:

  • käyttäjätilan istunnonhallintapalvelu, joka käsittelee Linux-ilmentymän elinkaarta
  • Pico-palvelun ohjaimet (lxss.sys, lxcore.sys), joiden tehtävänä on jäljitellä Linux-ydintä kääntämällä Linux-järjestelmäkutsut
  • Pico käsittelee muokkaamattoman käyttäjätilan Linuxin (esim. / Bin / bash).

Kolmen komponentin välinen yhteys kuvataan seuraavasti:

Taika tapahtuu käyttäjätilassa olevien Linux-binäärien ja Windows-ytimen komponenttien välillä. Sijoittamalla modifioimattomat Linux-binaarit Pico-prosesseihin mahdollistamme Linux-järjestelmäkutsujen ohjaamisen Windows-ytimeen. Lxss.sys- ja lxcore.sys-ohjaimet kääntävät Linux-järjestelmän puhelut NT-sovellusliittymiksi ja jäljittelevät Linux-ydintä.

Suurin haaste prosessissa on saada nämä kaksi järjestelmää toimimaan yhdessä:

WSL suorittaa muokkaamattomat Linux ELF64 -binaaritiedostot virtualisoimalla Linux-ytimen käyttöliittymän Windows NT -ytimen päälle. Yksi sen esittämistä ytimen rajapinnoista on järjestelmäkutsuja (syscalls). Syscall on ytimen tarjoama palvelu, johon voidaan soittaa käyttäjätilasta. Sekä Linux- että Windows NT -ydin altistavat useita satoja syscalleja käyttäjätilalle, mutta niillä on erilainen semantiikka ja ne eivät yleensä ole suoraan yhteensopivia. Esimerkiksi Linux-ydin sisältää asioita, kuten haarukka, avaa ja tappaa, kun taas Windows NT -ydin sisältää vastaavat NtCreateProcess-, NtOpenFile- ja NtTerminateProcess-toiminnot.

Windows-alijärjestelmä Linuxille sisältää ydintilan ohjaimet (lxss.sys ja lxcore.sys), jotka vastaavat Linux-järjestelmän puhelupyyntöjen käsittelystä koordinoidusti Windows NT -ydimen kanssa. Ohjaimet eivät sisällä koodia Linux-ytimestä, mutta ne ovat sen sijaan Linux-yhteensopivien ytimen rajapintojen puhdastilan toteutus. Alkuperäisessä Linuxissa, kun syscall tehdään käyttäjätilan suoritettavasta tiedostosta, sitä hoitaa Linux-ydin. Kun WSL: ssä tehdään syscall samasta suoritettavasta tiedostosta, Windows NT -ydin välittää pyynnön lxcore.sys: lle. Jos mahdollista, lxcore.sys kääntää Linux-syscallin vastaavaksi Windows NT-kutsuksi, joka puolestaan ​​tekee raskaan nostamisen.

Kun otetaan huomioon Microsoftin kiinnostus avoimen lähdekoodin alustoille, monet ihmettelivät teknisen jättiläisen pitäisi hankkia suuria Linux-keskittyviä yrityksiä, kuten Canonical, yritys Ubuntu-käyttöjärjestelmän takana. Vaikka Microsoft ja Canonical tekivät yhteistyötä avoimen lähdekoodin ohjelmistojen alalla, kumpikaan ei kommentoinut tätä mahdollisuutta.

Jos olet kiinnostunut siitä, miten Linux - Windows-vuorovaikutus kehittyy, siirry Microsoftin blogiin. Tiimi lupasi, että lisää aiheeseen liittyviä blogiviestejä seuraisi.

Aiheeseen liittyvät tarinat, jotka sinun on tarkistettava:

  • Linux-käyttäjät ilmoittavat ongelmista, että kuulokkeet eivät enää toimi Windows 8.1: ssä
  • Microsoft ja Canonical tuovat Bashin Windows 10: een Build 2016: ssa
  • München alkaa jakaa ilmaisia ​​Ubuntu-CD-levyjä Windows XP -käyttäjille
Microsoft tukee Linuxin käyttöliittymäsovelluksia Windows 10: een

Microsoft tukee Linuxin käyttöliittymäsovelluksia Windows 10: eenMicrosoft Rakentaa 2020Windows Linux Alijärjestelmä

Niille, jotka eivät tunne WSL: ää, alijärjestelmää antaa Windows-käyttäjille mahdollisuuden suorittaa alkuperäisiä, muokkaamattomia Linux-komentorivityökaluja ja -sovelluksia suoraan Windowsissa, a...

Lue lisää
Microsoft paljastaa, miten sen Windows 10 Linux -alijärjestelmä toimii

Microsoft paljastaa, miten sen Windows 10 Linux -alijärjestelmä toimiiWindows Linux Alijärjestelmä

 Bash Ubuntussa Windowsissa mahdollistaa alkuperäisten Linux ELF64 -binaarien suorittamisen Windowsissa Windows-alijärjestelmän Linuxille (WSL) kautta. Vaikka monet ihmiset olivat järkyttyneitä Bas...

Lue lisää
Kuinka käyttää tiedostoja Windows-alijärjestelmässä Linuxille

Kuinka käyttää tiedostoja Windows-alijärjestelmässä LinuxilleWindows 10Windows Linux AlijärjestelmäLyödä

Erilaisten PC-ongelmien korjaamiseksi suosittelemme DriverFix-tiedostoa:Tämä ohjelmisto pitää ajurit käynnissä ja pitää sinut turvassa tavallisista tietokonevirheistä ja laitteistovikoista. Tarkist...

Lue lisää