Pingwin w oknie: o potencjale i perspektywach WSL2

Cześć, Habr!

Podczas gdy nasze letnie wyprzedaże wciąż trwają, chcielibyśmy zaproponować omówienie jednego z najważniejszych tematów, nad którym pracujemy w ostatnim czasie — interakcji Windows i Linux, związanej zwłaszcza z rozwojem systemu. WSL 2 zbliża się wielkimi krokami, a my przedstawiamy krótki przegląd możliwości, które na nas czekają w tej podsystemie, a także prognozy dalszej integracji Windows i Linux. WSLW maju tego roku firma Microsoft ogłosiła, że WSL2, najnowsza wersja podsystemu Windows dla Linuxa, będzie działać na pełnoprawnym jądrze Linuxa zbudowanym przez firmę.

Pingwin w oknie: o potencjale i perspektywach WSL2

Dzięki temu Microsoft po raz pierwszy wprowadza jądro Linuxa jako jeden z komponentów do Windows. Microsoft wprowadza także w Windows nową linię poleceń, która rozszerzy możliwości PowerShell i WSL.
Zarówno jądro Linuxa dla WSL2, stworzone przez Microsoft, jak i nowa linia poleceń w Windows są szczególnie interesujące dla programistów.

«To najsilniejszy ruch w grze przeciwko AWS», zauważa Joshua Schwartz, kierownik programu cyfryzacji w firmie konsultingowej A.T. Kearney.

Przyszłość Microsoftu nie jest związana z rynkiem PC, chociaż firma nadal będzie mocno utrzymywać pozycję w tym segmencie. O wiele ważniejsze będzie umocnienie się na rynku chmurowym, jednym z elementów którego mogą w przyszłości stać się również komputery osobiste.

Co robi WSL2

WSL2 to najnowsza infrastruktura podsystemu Windows dla Linuxa. Umożliwia radykalne zwiększenie wydajności systemu plików i zapewnia pełną zgodność z wywołaniami systemowymi.

Jednym z głównych żądań społeczności WSL było rozwinięcie funkcjonalności. Na WSL2 działa znacznie więcej narzędzi pod Linuxem niż na WSL, w tym Docker i FUSE.

WSL2 obsługuje intensywne operacje plikowe, takie jak git clone, npm install, apt update i apt upgrade. Rzeczywiste zwiększenie prędkości zależy od konkretnej aplikacji oraz tego, jak współpracuje ona z systemem plików.
Pierwsze testy wykazały, że WSL2 jest około 20 razy szybsze w rozpakowywaniu tar z zipa niż WSL1. Przy użyciu git clone, npm install i cmake w różnych projektach system wykazywał wzrost wydajności od dwóch do pięciu razy.

Czy pomoże to zdobyć zaufanie programistów?

Czy to pomoże zdobyć zaufanie programistów?

W zasadzie Microsoft stara się zdobyć uznanie i zaufanie w społeczności programistów, biorąc się za opracowanie własnej wersji jądra Linux w celu wsparcia procesów WSL2 – uważa Cody Swann, CEO w Gunner Technology.

„Jeśli nie liczyć programów tworzonych wyłącznie pod Windows, tworzenie wszystkich innych aplikacji – chmurowych, mobilnych, webowych – na PC było bardzo niewygodne, przez co programista musiał w pewnym momencie wgrać dystrybucję Linuxa równolegle z systemem Windows. Microsoft to zaakceptował i zaproponował rozwiązanie,” podsumowuje.

Mało prawdopodobne, aby wprowadzenie własnego jądra Linux miało istotny wpływ na działanie systemu z perspektywy przeciętnego użytkownika. Jednak w takim przypadku otwierają się możliwości na bliższą współpracę między usługami Microsoftu a systemem operacyjnym Linux.
Taki krok ze strony Microsoftu jest rzeczywiście bardzo przemyślany, ponieważ pozwala głębiej zaangażować się w społeczność programistów oraz aktywnie korzystać z produktów rozwijanych przez kogoś innego – czyli połączyć się z open source – uważa Swann.

Witamy w Nowym Microsoft

Trend w kierunku tworzenia i wspierania jądra Linuxa „specjalnie dla Windows” odzwierciedla zdecydowane nastawienie do rozwoju w stronę open source, które promuje CEO Satya Nadella. Microsoft to już nie ten sam, co za czasów Gatesa i Ballmera, gdy wszystko było ukryte za zamkniętymi drzwiami, a o interoperacyjności nikt nawet nie myślał.

„Satya całkowicie przekształcił Microsoft w znacznie bardziej nowoczesną platformę, a ta strategia opłaciła się z nawiązką. Cześć, kapitalizacja na kilka bilionów dolarów,” mówi Schwartz.

Zdaniem Charlesa Kinga, głównego analityka w Pund-IT, dwa główne atuty Microsoftu związane są z efektywnością i bezpieczeństwem.

„Aktywnie korzystając z własnych poważnych osiągnięć – zasobów i narzędzi – firma może zapewnić klientom, że jądro będzie w pełni aktualne i wyposażone w najnowsze poprawki oraz aktualizacje, zapewniając pełne bezpieczeństwo,” dodaje.

Programiści również zyskują.

Pliki binarne Linux pełnią wiele funkcji dzięki wywołaniom systemowym, na przykład odwołując się do plików, żądając pamięci i tworząc procesy. WSL1 opiera się na poziomie translacji, który interpretuje wiele z tych wywołań systemowych i umożliwia im współpracę z jądrem Windows NT.

Najtrudniejsze jest wdrożenie wszystkich wywołań systemowych. Ponieważ w WSL1 to nie zostało wykonane, niektóre aplikacje nie mogły tam działać. W WSL2 pojawia się wiele nowych aplikacji, które poprawnie funkcjonują w tym środowisku.

Nowa architektura pozwala Microsoftowi wprowadzać najnowsze optymalizacje do jądra Linux znacznie szybciej niż w przypadku WSL1. Microsoft może aktualizować jądro WSL2, a nie wdrażać wszystkie ograniczenia od nowa.

Całkowicie otwartoźródłowe narzędzie

Opracowanie własnego jądra Linux przez Microsoft było zwieńczeniem wieloletniej pracy wykonanej przez grupę Linux Systems, a także wiele innych zespołów działających w całej korporacji Microsoft – podaje Jack Hammons, menedżer programów w Linux Systems Group, Microsoft.

Jądro udostępniane dla WSL2 będzie całkowicie otwartoźródłowe, a Microsoft opublikuje na GitHubie instrukcje dotyczące kompilacji takiego jądra. Firma będzie współpracować z programistami, którzy chcą pomóc w projekcie oraz stymulować zmiany w kierunku współpracy.

Programiści Microsoftu tworzyli WSL2 za pomocą systemów ciągłej integracji i dostarczania, działających w firmie. Oprogramowanie to będzie aktualizowane przez system aktualizacji Windows i będzie całkowicie przejrzyste dla użytkownika. Jądro będzie na bieżąco aktualizowane i będzie zawierać wszystkie funkcje najnowszej stabilnej wersji Linux.

Aby zapewnić dostępność źródeł, firma lokalnie odbija repozytoria oraz ciągle monitoruje zawartość poczty Linux w sprawach bezpieczeństwa, a także współpracuje z kilkoma firmami wspierającymi pracę z bazami danych w środowisku wirtualnym (CVE). Dzięki temu zapewnione jest, że w jądrze Linux od Microsoft będą uwzględniane najnowsze aktualizacje i eliminowane wszelkie pojawiające się zagrożenia.

Zmiany w kierunku współpracy stają się obowiązkowe

Microsoft zapewnia, że wszystkie zmiany w jądrze będą rozprzestrzeniane w górę – to ważny aspekt filozofii Linuxa. Wsparcie dla patchy w dół wiąże się z dodatkowymi trudnościami; ponadto taka praktyka nie jest powszechnie akceptowana w społeczności wolnego oprogramowania.

Celem Microsoftu, aktywnie korzystającego z Linuxa, jest stać się zdyscyplinowanym członkiem tej społeczności i udostępniać wprowadzane zmiany społeczności. Aby osiągnąć stabilność gałęzi związanych z długoterminowym wsparciem, niektóre patche – na przykład te zawierające nowe funkcje – mogą być włączane tylko do nowych wersji jądra, a nie portowane do aktualnej wersji LTS w trybie zgodności wstecznej.

Gdy źródła jądra WSL staną się dostępne, będą składać się z odnośników do zestawu patchy oraz długoterminowej stabilnej części źródeł. Microsoft szacuje, że z czasem ta lista się skróci, w miarę jak patche będą rozprzestrzeniane w górę, a nowe lokalne patche będą dodawane w celu wsparcia świeżych możliwości WSL.

Bardziej przyjemny interfejs okien

Microsoft ogłosił również wydanie nadchodzącej zimowej wersji Windows Terminal – to nowe aplikacja dla użytkowników pracujących z narzędziami wiersza poleceń i powłokami, w szczególności Command Prompt, PowerShell i WSL.

Pingwin w oknie: o potencjale i perspektywach WSL2

Windows Terminal

Windows Terminal 1.0 oferuje wiele ustawień i możliwości konfiguracyjnych, które zapewniają pełniejszą kontrolę nad wyglądem okna terminala oraz nad powłokami/profilami, które mają być otwierane jako nowe karty.

Ustawienia będą przechowywane w zorganizowanym pliku tekstowym, dzięki czemu łatwo będzie je konfigurować i dostosować wygląd terminala do własnych upodobań.

Microsoft zaprzestaje rozwijania istniejącej konsoli Windows, a tworzy nową od podstaw, decydując się na świeże podejście. Windows Terminal instalowany jest i działa równolegle z istniejącą aplikacją Windows Console, dostarczaną "z pudełka".

Jak to działa

Kiedy użytkownik Windows 10 uruchamia bezpośrednio Cmd/Powershell itp., uruchamia proces powiązany z normalnym wystąpieniem Konsoli. Mechanizm konfiguracji nowego terminala pozwala użytkownikom Windows tworzyć wiele profili dla wszystkich preferowanych powłok/aplikacji/narzędzi, czy to w PowerShell, wierszu poleceń, Ubuntu, czy nawet podczas połączeń SSH z Azure lub urządzeniami Internetu Rzeczy.

Te profile mogą zawierać własne kombinacje stylizacji i rozmiaru czcionki, motywy kolorystyczne, poziomy rozmycia lub przezroczystości tła. Ponadto użytkownicy będą mogli wybrać nową czcionkę monospaced, aby okno terminala wyglądało bardziej nowocześnie i elegancko. Ta czcionka będzie zawierać ligatury programistyczne, zostanie udostępniona publicznie i będzie przechowywana w osobnym repozytorium.

Główne zalety nowego interfejsu poleceń Windows to wiele kart i atrakcyjny tekst. Obsługa wielu kart była najbardziej pożądanym żądaniem dotyczącym rozwoju terminala. Atrakcyjny tekst uzyskuje się dzięki silnikowi renderowania opartemu na DirectWrite/DirectX, wyposażonemu w akcelerację GPU.

Silnik wyświetla znaki tekstowe, glify i znaki specjalne zawarte w czcionkach, w tym chińskie, japońskie i koreańskie ideogramy (CJK), emoji, symbole powerline, ikony i ligatury programistyczne. Ponadto ten silnik wyświetla tekst znacznie szybciej niż GDI, wcześniej używane w konsoli.

Zgodność wsteczna pozostaje w pełni zapewniona, chociaż w razie potrzeby można spróbować również Windows Terminal.

Chronologia: jak to będzie

Microsoft będzie udostępniać Windows Terminal przez Microsoft Store w Windows 10 i regularnie go aktualizować. Dzięki temu użytkownicy zawsze będą korzystać z najnowszych wersji i najnowszych poprawek – praktycznie bez większego wysiłku.

Microsoft planuje wprowadzenie nowego terminala w najbliższą zimę. Po wydaniu Windows Terminal 1.0, programiści będą kontynuować pracę nad wieloma funkcjami, które już zostały odłożone w backlogu.

Kod źródłowy Windows Terminal i Windows Console już został opublikowany na GitHubie.

Czego możemy się spodziewać w przyszłości?

Możliwość, że Microsoft zacznie wykorzystywać własne jądro Linux także do innych celów, na przykład do opracowania własnej dystrybucji Linux, wydaje się dziś nieco hipotetyczna.

Prawdopodobnie końcowy wynik zależy od tego, czy Microsoft uda się dostrzec znaczące zapotrzebowanie na taki produkt oraz jakie możliwości komercyjne mogą otworzyć takie rozwinięcia – uważa Charles King.

Sądzi, że w przewidywalnej przyszłości firma skoncentruje swoje główne wysiłki na zapewnieniu coraz ściślejszej współpracy między Windows a Linuxem oraz ich wzajemnym uzupełnieniu.

Joshua Schwartz uważa, że w tym przypadku należy dokładnie ocenić, jakie będą nakłady na tę pracę oraz jakie przyniesie to korzyści. Gdyby dzisiaj Microsoft był całkowicie młodą firmą, prawdopodobnie opierałby się na Linuxie. Jednak przeniesienie wszystkich dotychczasowych rozwiązań Microsoftu na natywną architekturę Linuxa wydaje się dziś kosztownym i skomplikowanym projektem, który z pewnością nie przyniesie dobrego zwrotu. Miłośnicy Linuxa zyskają Linuxa, podczas gdy główna architektura pozostanie nietknięta.

Gdy Apple w 2000 roku na nowo wynalazło Mac OS, ten system operacyjny oparty był na BSD Unix, które jest bardziej zbliżone do Linuxa niż do DOS. Dziś zaś, nowa wersja Microsoft Windows tworzona jest właśnie na bazie Linuxa.

Może przed nami otwiera się nowe drzwi?

Jądro Linux od Microsoftu może otworzyć drogę do ściślejszej współpracy między usługami Windows a systemem operacyjnym Linux. W istocie te osiągnięcia Microsoftu świadczą o tym, że sama firma Microsoft dostrzega już, że dziś niemal nie ma klientów, którzy wolą funkcjonować w świecie, gdzie wszędzie dominuje Windows.

Znacznie rozsądniej jest wykorzystywać heterogeniczne technologie i systemy, które najlepiej odpowiadają wymaganiom biznesowym oraz konkretnym sytuacjom praktycznym.

Bardziej istotne pytanie strategiczne dotyczy tego, jakie nowe możliwości strategiczne otwiera ten krok dla samej platformy Microsoft?

Azure – chmurowy ekosystem Microsoft – już teraz oferuje ogromne wsparcie dla Linuxa. Wcześniej Windows dobrze wspierał Linuxa za pomocą maszyn wirtualnych.

Kluczowe zmiany, które mają miejsce dzisiaj, związane są z tym, że teraz procesy Linux będą natywnie realizowane na jądrze Windows, co oznacza, że praca z Linuxem z poziomu Windows będzie znacznie szybsza niż na maszynach wirtualnych. Jest bardzo prawdopodobne, że w wyniku tego Azure wzbogaci się o całą rzeszę inżynierów wykorzystujących Linux na dużą skalę.

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster