Microsoft revela el seu funcionament del subsistema linux de Windows 10

Vídeo: Que es Windows Subsystem Linux 2 (WSL2) en Windows 10 2024

Vídeo: Que es Windows Subsystem Linux 2 (WSL2) en Windows 10 2024
Anonim

El Bash on Ubuntu de Windows permet als binaris ELF64 natives per executar-se a Windows mitjançant el subsistema de Windows per a Linux (WSL). Tot i que molta gent va quedar impactada per l’anunci Bash sobre Ubuntu, val a dir que obre noves portes per a la compatibilitat entre diferents sistemes operatius. Microsoft fa un altre pas endavant i revela com funciona la seva WSL per entendre millor com els dos sistemes es comuniquen entre ells.

WSL va ser creat per l'equip del nucli de Microsoft Windows i conté components del mode d'usuari i del mode del nucli. Més concretament, el sistema està format per:

  • un servei de gestor de sessions en mode usuari que gestiona el cicle de vida de la instància de Linux
  • Controladors de proveïdors de Pico (lxss.sys, lxcore.sys) el paper dels quals és emular un nucli Linux mitjançant la traducció de sistemes de Linux
  • Pico processa l’allotjament del mode d’usuari Linux no modificat (per exemple / bin / bash).

La connexió entre els tres components es descriu de la següent manera:

És l'espai entre els binaris Linux del mode d'usuari i els components del nucli de Windows on es produeix la màgia. Posant binaris Linux no modificats en processos Pico, permetem dirigir les trucades del sistema Linux al nucli de Windows. Els controladors lxss.sys i lxcore.sys tradueixen les trucades del sistema Linux a API de NT i emulen el nucli de Linux.

El principal repte del procés és fer que els dos sistemes treballin conjuntament:

WSL executa binaris ELF64 de Linux no modificats virtualitzant una interfície del nucli Linux a la part superior del nucli de Windows NT. Una de les interfícies del nucli que exposa són les trucades del sistema (syscalls). Un syscall és un servei proveït pel nucli que es pot anomenar des del mode d'usuari. Tant el nucli de Linux com el nucli de Windows NT exposen diversos centenars de sistemes de treball al mode d'usuari, però tenen una semàntica diferent i generalment no són directament compatibles. Per exemple, el nucli de Linux inclou coses com forquilla, obrir i matar, mentre que el nucli de Windows NT té els comparables NtCreateProcess, NtOpenFile i NtTerminateProcess.

El subsistema de Windows per a Linux inclou controladors de mode del nucli (lxss.sys i lxcore.sys) que s'encarreguen de gestionar les sol·licituds de trucades del sistema Linux en coordinació amb el nucli de Windows NT. Els controladors no contenen codi del nucli Linux, sinó que són una implementació neta d’interfícies del nucli compatible amb Linux. A Linux natiu, quan un syscall es realitza des d'un executable en mode d'usuari, el nucli de Linux el gestiona. A WSL, quan un syscall es fa des del mateix executable, el nucli de Windows NT reenvia la sol·licitud a lxcore.sys. Quan sigui possible, lxcore.sys tradueix el syscall de Linux a la trucada equivalent de Windows NT, que al seu torn fa un fort augment.

Tenint en compte l’interès de Microsoft per les plataformes de codi obert, molta gent es va preguntar si el gegant de la tecnologia hauria d’adquirir grans empreses centrades en Linux, com Canonical, la companyia del sistema operatiu Ubuntu. Tot i que Microsoft i Canonical van cooperar en programari de codi obert, tampoc van emetre cap comentari sobre aquesta possibilitat.

Si us interessa l'evolució de la interacció Linux - Windows, aneu al bloc de Microsoft. L’equip va prometre que seguirien més publicacions de blocs sobre aquest tema.

Microsoft revela el seu funcionament del subsistema linux de Windows 10