Microsoft har släppt verktygslådan WSL 3.0 (Windows Delsystem för Linux), så att du kan springa Linux-applikationer i WindowsDen nya grenen är känd för implementeringen av möjligheten att lansera Linux-containrar i Windows och övergången till att använda kärnan Linux 6.18. Kod för kommandoradsverktyg som används i WSL, bakgrundsprocesser för Linux-miljöer, tjänster för att köra containrar och virtuella maskiner, och grafikstacken wslg är öppen källkod under MIT-licensen. Ändringar i kärnan Linux är licensierade under GPLv2-licensen
WSL tillhandahåller en virtuell maskin med en fullständig kärna. Linux (baserat på 6.18-grenen), som kan köra distributioner LinuxKärnan inkluderar WSL-specifika ändringar, såsom optimeringar för att minska starttid och minnesförbrukning, möjligheten att återställa Windows befriad LinuxMinne- och konfigurationsprocesser för att eliminera onödiga drivrutiner och delsystem. Systemet installeras i en separat diskavbildning (VHD) med ett ext4-filsystem och ett virtuellt nätverkskort.
Den nya grenen innehåller verktyg för att skapa, distribuera och köra Linux-containrar i Windows, vilket inkluderar kommandoradsgränssnittet wslc (WSL Containers) och ett tillhörande API som låter dig köra Linux-containrar från Windows-program. Huvudfunktioner i wslc:
- Hanteringsåtgärder för containerlivscykeln, såsom att skapa, starta, stoppa, exportera, rengöra, inspektera, köra, rapportera containeraktivitetshändelser och kopiera filer till och från en container.
- Begränsa CPU- och minnesförbrukning för enskilda containrar.
- Bygg, ladda ner, ladda upp, importera, spara och verifiera systemavbildningar. Kommandon för att visa listor över tillgängliga avbildningar. Batchåtgärder med flera avbildningar samtidigt. Möjlighet att paketera flera avbildningar till en enda tarball.
- Skapa och hantera virtuella nätverk. Koppla containrar till flera nätverk. Skapa anpassade nätverkstyper. Vidarebefordra nätverksportar.
- Skapa, visa och ta bort partitioner. Arbeta med virtuella diskar (VHD).
- Få åtkomst till GPU:er från containrar och tillhandahåll bibliotek för oprivilegierade användare att arbeta med GPU:er.
- Skapa sessioner efter behov, tilldela sessionsnamn, anpassningsbar lagringsplats.
- SDK med API för att automatisera arbete med containrar från C++ och C#/WinRT-program.
- Kommandot "wslc logs" för att visa och extrahera data från loggar. Visar statistik om containeroperationer. Markering av utdata i verktyget "wslc".
- Integration med MSBuild och CMake.
- Stöd för hantering med hjälp av ADMX-grupprinciper.
- Stöd för containertillägget VS Code dev för att köra och bygga utvecklingskod i en container.
- Möjlighet att använda wslc som en runtime för att köra containrar i Aspire-verktygslådan.
- Med tillägget vscode-container-client kan du hantera containrar inifrån VS Code-redigeraren.
- Hantera wslc-containrar via Lazywslc-textgränssnittet eller WinUI 3-skrivbordsapplikationen.
- Sjösättningssele Linux-containrar från distributioner Linux, körs i WSL.

Containrar använder virtiofs-filsystemet som standard, vilket visar en dubbel acceleration av åtkomst till Windows-filer och nätverksdriftsläget "consomme", vilket ger förbättrad kompatibilitet med olika nätverkskonfigurationer (VPN, proxy, etc.). I "consomme"-läge Linux-trafiken leds vidare via Windows, vilket gör att den kan användas för Linux applikationer alla funktioner i nätverksmiljön Windows, inklusive säkerhetspolicyer och verktyg för integration med företagssystem.
Den privilegierade användaren är ansvarig för att köra containrar. Windows- tjänsten wslservice.exe, som startar виртуальные машины och använder dem för att utföra LinuxTill skillnad från WSL skapar tjänsten wslservice.exe en underprocess, wslcsession.exe, för containrar. Denna process körs med den aktuella användarens behörigheter och hanterar åtgärder som att skapa containrar, montera kataloger och vidarebefordra nätverksportar. Olika sessioner är strikt isolerade från varandra och körs i separata processer. Varje session tilldelas en separat VHD-lagring som finns i katalogen %AppData%\Local\wslc\sessions. Montering är möjlig i Linux-behållare Windows-sökvägar för fildelning.

Källa: opennet.ru
