Linux Subsystem for Windows (WSL)
Linux Subsystem for Windows, znany także jako WSL (ang. Windows Subsystem for Linux), to warstwa kompatybilności umożliwiająca uruchamianie binarnych programów linuksowych bezpośrednio w systemie operacyjnym Windows. WSL zapewnia interfejs systemowy zgodny z POSIX, dzięki czemu wiele dystrybucji Linuxa może działać w środowisku Windows bez potrzeby korzystania z maszyn wirtualnych czy podwójnego rozruchu.
Historia
Projekt powstał w 2016 roku pod auspicjami firmy Microsoft jako część strategii łączenia ekosystemu otwartego oprogramowania z własnym systemem operacyjnym. Pierwsza wersja, oznaczona jako WSL 1, została udostępniona w ramach aktualizacji Windows 10 pod nazwą Anniversary Update. W kolejnych latach, w szczególności w 2019 roku, wprowadzono WSL 2, oparty na pełnym jądrze Linux uruchamianym w lekkiej maszynie wirtualnej.
Architektura
W zależności od wersji, architektura WSL różni się pod względem implementacji:
- WSL 1 – tłumacz translate system calls (TLB) przekłada wywołania systemowe Linuksa na odpowiedniki systemu Windows, bez użycia wirtualizacji.
- WSL 2 – korzysta z lekkiej wirtualizacji opierającej się na technologii Hyper‑V. Wirtualny system posiada własne jądro Linux Kernel, co zapewnia wyższą zgodność i lepszą wydajność przy obsłudze intensywnych operacji systemowych.
Wsparcie dystrybucji
Użytkownicy mogą instalować różnorodne dystrybucje dostępne w Microsoft Store, m.in.:
Każda dystrybucja jest dostępna jako samodzielny pakiet, a użytkownik może jednocześnie korzystać z kilku środowisk linuksowych.
Instalacja i konfiguracja
Podstawowe kroki instalacji WSL w systemie Windows:
- Włączenie funkcji systemowej:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart(dla WSL 1) lubdism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart(dla WSL 2). - Pobranie i instalacja wybranej dystrybucji z Microsoft Store lub przy użyciu polecenia
wsl --install. - Ustawienie wersji domyślnej przy pomocy
wsl --set-default-version 2(jeśli dostępny jest WSL 2). - Uruchomienie środowiska binarnie:
wsllub poprzez skrót tworzący powłokę Bash.
Zastosowania
WSL jest wykorzystywany w wielu scenariuszach:
- Rozwój oprogramowania – umożliwia programistom pracę z narzędziami typowymi dla Linuksa, takimi jak Git, Docker (przez Docker Desktop), Node.js, Python i innymi.
- Administracja systemami – pozwala na uruchamianie skryptów bash i narzędzi zarządzania serwerami bez konieczności posiadania oddzielnej maszyny.
- Edukacja – studenci mogą uczyć się systemu Linux bez instalacji dodatkowego oprogramowania.
- Badania – umożliwia testowanie aplikacji linuksowych w środowisku Windows.
Ograniczenia
Mimo licznych zalet, WSL posiada pewne ograniczenia:
- Ograniczona obsługa systemd w WSL 1 (dodana w późniejszych wersjach WSL 2).
- Brak natywnego wsparcia dla niektórych sterowników sprzętowych, np. GPU w wersji przed WSL 2.0 + CUDA.
- Potencjalne problemy z kompatybilnością aplikacji zależnych od niskopoziomowego dostępu do sprzętu, takich jak niektóre programy do wirtualizacji.
Rozwój i przyszłość
Microsoft kontynuuje rozwój WSL, wprowadzając nowe funkcje takie jak:
- Wsparcie przyspieszenia GPU dla aplikacji uczenia maszynowego.
- Integracja z Docker Desktop umożliwiająca uruchamianie kontenerów Linux bezpośrednio w WSL.
- Ulepszenia w interoperacyjności plików pomiędzy systemem Windows a środowiskiem Linux.
- Rozszerzenia WSLg (Linux GUI) umożliwiające uruchamianie graficznych aplikacji Linux w Windows.
W kolejnych wersjach planowane jest pełne wsparcie dla systemd, lepsza integracja z PowerShell oraz dalsza optymalizacja wydajności.
Powiązane pojęcia
Więcej informacji można znaleźć w następujących artykułach encyklopedycznych: