Miesięcznik informatyków i menedżerów IT sektora publicznego

Artur Pęczak

Pingwin w Okienkach

Windows Subsystem for Linux umożliwia programistom i administratorom używanie ulubionych aplikacji i usług linuksowych bezpośrednio na komputerze z Windows 10. Nie ma przy tym potrzeby konfigurowania i uruchamiania dedykowanej maszyny wirtualnej.

Konsola środowiska Windows Subsystem for Linux (WSL) umożliwia pracę z aplikacjami wiersza poleceń. Uruchamianie programów graficznych wymaga instalacji serwera X Window na komputerze z Windows.

Windows Subsystem for Linux (WSL) to funkcja systemu Windows 10 oraz Windows Server 2019, która umożliwia uruchamianie natywnych aplikacji Linuksa w środowisku Windows. Narzędzie skierowane jest głównie do programistów aplikacji webowych oraz administratorów serwerów sieci Web, którzy mogą teraz korzystać z dużej liczby swoich narzędzi, aplikacji i usług systemu Linux bezpośrednio na komputerze z Windows. Mowa tutaj o aplikacjach typowych dla systemów klasy UNIX, np. grep, sed, awk, vim, emacs, tmux, interpreterach języków programowania Python, Ruby czy serwerach takich usług jak MySQL, Apache lub Lightspeed.

Bez maszyny wirtualnej

Podsystem Windows dla systemu Linux, bo tak brzmi polska nazwa tego rozwiązania, umożliwia uruchamianie 64-bitowych aplikacji, skompilowanych w formacie ELF64, dostarczonych wraz z systemem Linux lub instalowanych z repozytorium pakietów przez menedżera pakietów dedykowanego dla danej dystrybucji Linuksa. Wszystko to otrzymujemy bez konieczności uruchamiania maszyny wirtualnej i związanego z tym narzutu wydajnościowego (CPU, pamięć RAM, dysk), przy dodatkowej integracji z systemem Windows. Windows Subsystem for Linux pozwala na uruchamianie aplikacji Windows z wiersza poleceń Linux i odwrotnie. Zapewnia też dostęp do dysków komputera w środowisku Linux – partycje Windows montowane są jako kolejne udziały w katalogu /mnt. Współdzieli interfejs sieciowy oraz adres IP z systemem Windows. Istnieje możliwość uruchamiania aplikacji graficznych z wykorzystaniem zewnętrznego systemu X Window zainstalowanego na komputerze Windows 10. W tym miejscu warto dodać, że WSL nie służy do uruchamiania serwerów i usług w trybie produkcyjnym.

Na przestrzeni lat wiele narzędzi, bibliotek programistycznych, aplikacji czy serwerów usług zostało przeniesionych (porty) ze środowiska Linux do Windows. Problem w tym, że nie zawsze implementacja danego oprogramowania dla Windows odzwierciedla dokładnie tę z systemu Linux: brakuje dodatkowych bibliotek i narzędzi dostępnych w Linuksie, aplikacje używają różnych ścieżek systemu plikowego albo różnią się (nieznacznie) konfiguracją. W wielu takich przypadkach użycie środowiska Linux w swoich projektach usprawnia pracę i pozwala uniknąć problemów – WSL daje taką możliwość.

Architektura rozwiązania

Windows Subsystem for Linux to zestaw komponentów, które pozwalają na uruchamianie natywnych plików binarnych Linuksa (ELF64) przestrzeni jądra oraz przestrzeni użytkownika w systemie Windows. Rozwiązanie to implementuje w środowisku Windows ideę pico procesów (pico processes), która zakłada uruchamianie programów linuksowych w formie specjalnych, niewielkich, izolowanych procesów jądra NT, niezależnych od innych procesów systemu Windows. Poprzez uruchomienie niezmodyfikowanego pliku wykonywalnego (binarnego) ELF64 w formie pico procesu WSL może obsłużyć wywołania systemowe oraz wyjątki aplikacji linuksowej bezpośrednio w jądrze Windows. W rezultacie procesy uruchamiane w środowisku Linux, np. top, widoczne są w Menedżerze zadań.

Emulacja jądra Linuksa oraz translacja wywołań systemowych Linuksa na wywołania jądra NT realizowana jest przez sterowniki lxss.sys oraz lxcore.sys. Usługa systemowa LXSS Manager Service działa jako pośrednik między Windows a sterownikiem podsystemu WSL, kontrolując jednocześnie proces Bash.exe (nie mylić z powłoką bash w Linuksie), odpowiedzialny za uruchamianie plików binarnych w środowisku Linux. Windows Subsystem for Linux używa dwóch typów systemu plikowego – VolFs oraz DriveFS, które zapewniają środowisko wymagane do uruchamiania aplikacji linuksowych oraz możliwość korzystania z plików na dyskach Windows w systemie Linux.

[...]

Autor zawodowo zajmuje się informatyką. Publikuje w magazynach komputerowych i serwisach internetowych.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma. Zapraszamy do składania zamówień na prenumeratę i numery archiwalne.
 
 

Polecamy

Biblioteka Informacja Publiczna

Specjalistyczne publikacje książkowe dla pracowników administracji publicznej

więcej