Ve Windows 10 nebude virtualizován linuxový kernel, ani se programy nebudou překompilovávat (jako to dělá projekt Cygwin). Linuxové aplikace budou spuštěny na jádrem Windows. WSL zachytává systémová volání z Linuxu a v reálném čase s minimálním dopadem na výkon je překládá pro systémová volání z Windows. Je to totéž, jako umí Wine, ten akorát slouží pro obrácený převod aplikací z Windows na Linux.
WSL bude spouštět binárky z repozitářů Ubuntu. Na řešení Microsoft úzce spolupracoval právě s Canonicalem. Spouštět se v Bashi budou pouze programy pro příkazovou řádku (bez grafického rozhraní). Jde o funkci pro vývojáře, kteří by kvůli některým úkonům museli bootovat do Linuxu, případně využívat virtualizaci.
V praxi to bude fungovat tak, že uživatel přes nabídku Start spustí Bash. Otevře se okno cmd.exe s otevřeným /bin/bash z Ubuntu (aktuálně ve verzi 14.04 LTS, ale plánuje se upgrade na 16.04 LTS). V příkazové řádce už bude možné přímo spouštět konkrétní programy jako wget, tar, gpg, gcc, rsync, md5sum, ssh, apache, mysql, python, perl, ruby, php, gcc, tar, vim či instalovat nové pomocí apt install.
Bash má přístup k datům z Windows
Ne všechno poběží dokonale, ostatně ani Wine nespustí všechno. Sám Microsoft si je omezení vědom a také proto bude vrstva WSL zatím označena jako betaverze. Firma nedoporučuje WSL používat jako serverové řešení, byť by to technicky bylo možné. Aplikace z Windows budou mít přístup k datům z Linuxu a naopak. Z Bashe ale nebude možné spouštět programy pro Windows, stejně jako z PowerShellu nepůjde spouštět ty linuxové.
Až si někde přečtete, že „peklo zamrzlo a Linux běží na Windows“, nebude to tak úplně pravda. Linux (myšleno kernel) tam neběží, ale zbytek Ubuntu (mimo grafického desktopu) ano. Je to velká věc pro Microsoft a pro vývojáře, ale běžných uživatelů se to nijak nedotkne. Jak už jsem ostatně psal před měsícem: Microsoft miluje Linux, ale…
Zdroj: Microsoft, Dustin Kirkland