Windows Subsystem for Linux

Windows Subsystem for Linux
Репозиторијум Уреди на Википодацима
Веб-сајтlearn.microsoft.com/windows/wsl

Windows подсистем за Linux (енгл. Windows Subsystem for Linux; скраћено WSL) је компонента Microsoft Windows-а која омогућава коришћење Linux окружења из самог Windows-а, чиме се избегава оптерећење виртуелне машине и представља алтернативу двоструком покретању. WSL алат за интерфејс командне линије је подразумевано инсталиран у Windows-у 11, али дистрибуција мора бити преузета и инсталирана преко њега пре употребе. [1] У Windows-у 10, WSL се може инсталирати или придруживањем програму Windows Insider или ручно путем Microsoft Store-а или Winget-а. [2]

Оригинална верзија, WSL 1, значајно се разликује од друге главне верзије, WSL 2. WSL 1 (објављен 2. августа 2016.), деловао је као слој компатибилности за покретање бинарних извршних датотека Linuxа (у ELF формату) имплементацијом системских позива Linuxа у Windows кернелу. [3] WSL 2 (најављен маја 2019.[4]), представио је прави Linux кернел – управљану виртуелну машину (преко Hyper-V-а) која имплементира пун Linux кернел. Као резултат тога, WSL 2 је компатибилан са више Linux бинарних датотека јер нису сви системски позиви имплементирани у WSL 1.[5]

Microsoft нуди WSL из више разлога. Microsoft замишља WSL као „алат за програмере – посебно веб програмере и оне који раде на или са пројектима отвореног кода“. [6] Microsoft такође тврди да „WSL захтева мање ресурса (CPU, меморију и складиште) него потпуна виртуелна машина“ (уобичајена алтернатива за коришћење Linuxа у Windowsу), а истовремено омогућава коришћење и Windows и Linux алата на истом скупу датотека. [6]

Већина WSL-а је објављена као софтвер отвореног кода 19. маја 2025., иако се одређене функције фајл система и даље ослањају на власничку библиотеку која тренутно није отвореног кода.

Дизајн

WSL 1

Firefox за Linux који ради на WSL-у

LXSS Manager Service је сервис задужен за интеракцију са подсистемом (кроз драјвере lxss.sys и lxcore.sys), и начин на који Bash.exe (не треба мешати са Shell-овима које пружају Linux дистрибуције) покреће процесе, као и за руковање системским позивима Linux-а и бинарним закључавањима током њиховог извршавања. [7] Сви процеси које покрене одређени корисник иду у такозвану „Linux инстанцу“ (обично је први позвани процес init). Када се све апликације затворе, инстанца се затвара.

Дизајн WSL 1 није садржао емулацију/виртуелизацију хардвера (за разлику од других пројеката као што је coLinux) и директно је користио фајл систем хоста (преко VolFS и DrvFS) [8] и неке делове хардвера, као што је мрежа, што гарантује интероперабилност. Веб серверима, на пример, може се приступити преко истих интерфејса и IP адреса конфигурисаних на хосту, и деле иста ограничења у коришћењу портова који захтевају администраторске дозволе или портова које већ заузимају друге апликације. [9] Постоје одређене локације (као што су системске фасцикле) и конфигурације чији је приступ/модификација ограничена, чак и када се покреће као root, са sudo из љуске. Инстанца са повишеним привилегијама мора бити покренута да би се добило „sudo“ за администраторске привилегије и омогућио такав приступ. [6]

WSL 1 није у стању да покреће сав Linux софтвер, као што су 32-битне бинарне датотеке[10][11] или оне који захтевају специфичне Linux кернел сервисе који нису имплементирани у WSL-у. Због потпуног недостатка Linux-а у WSL-у 1, модули језгра, као што су драјвери уређаја, не могу се покренути. WSL 2, међутим, користи живе виртуелизоване инстанце Linux језгра. Могуће је покренути неке графичке (GUI) апликације (као што је Mozilla Firefox) инсталирањем X11 сервера унутар Windows (хост) окружења (као што су VcXsrv или Xming), [12] иако не без ограничења, као што је недостатак аудио подршке (мада се то може решити инсталирањем PulseAudio-а у Windows-у на сличан начин као X11) или хардверско убрзање (што резултира лошим графичким перформансама). Подршка за OpenCL и CUDA такође се тренутно не имплементира, иако је планирана за будућа издања. [13] [14] Microsoft је изјавио да је WSL дизајниран за развој апликација, а не за десктоп рачунаре или производне сервере, препоручујући употребу виртуелних машина (Hyper-V), Kubernetes-а и Azure-а за те сврхе. [6]

WSL 2

Синаптик који ради на WSL-у

Верзија 2 уводи промене у архитектури. Microsoft се определио за виртуелизацију кроз високо оптимизовани подскуп Hyper-V функција, како би покренуо кернел и дистрибуције (засноване на кернелу), обећавајући перформансе еквивалентне WSL 1. Ради компатибилности са претходним верзијама, програмери не морају ништа да мењају у својим објављеним дистрибуцијама. Подешавања WSL 2 могу се прилагодити помоћу глобалне конфигурације WSL-а, која се налази у INI датотеци под називом .wslconfig у фолдеру Кориснички профил. [15] [16]

Инсталација дистрибуције се налази унутар ext4 -форматираног фајл система унутар виртуелног диска, а хост фајл систем је транспарентно доступан путем 9P протокола,[17] слично другим технологијама виртуелних машина попут QEMU-а. [18] За кориснике, Microsoft је обећао до 20 пута веће перформансе читања/писања од WSL 1. [4] Из Windows-а је обезбеђен IFS мрежни преусмеравач за приступ датотекама гостију Linux-а користећи UNC префикс путање \\wsl$ .

WSL 2 захтева Windows 11, [19] или Windows 10 верзију 1903 или новију, са Build 18362 или новијом, за x64 системе, и верзију 2004 или новију, са Build 19041 или новијом, за ARM64 системе. [2]

WSL 2 на Windows 11 задржава 95% перформанси изворног Ubuntu 20.04 LTS-а. [20]

WSL 1 и WSL 2 подржавају IPv6 конекције.[21][22] Подршка за IPv6 у WSL 2 захтева Windows 11. [23]

Пријем и критика

2017. Ричард Столман је изразио забринутост да би интеграција GNU функционалности у Windows ометала развој слободног софтвера, називајући напоре попут WSL-а „кораком уназад у кампањи за слободу“. [24]

WSL се најчешће описује као алат који се користи и користи за програмере,[25] а генерално се не препоручује крајњим корисницима. [26][27][28] Рецензенти су критиковали нека ограничења, напомињући да није исто што и имати Linux и да пати од неких ограничења перформанси, укључујући спор улазно-излазни саобраћај са диска. [25]

Референце

  1. ^ „How to install Linux on Windows with WSL”. Microsoft (на језику: енглески). 19. 11. 2024. Приступљено 2025-02-25. 
  2. ^ а б pokhrel, bishal (2023-12-27). „Install WSL on Windows 10 or 11”. Droid Crafts (на језику: енглески). 
  3. ^ Leeks, Stuart (2020). Windows Subsystem for Linux 2 (WSL 2) Tips, Tricks, and Techniques: Maximise Productivity of Your Windows 10 Development Machine with Custom Workflows and Configurations. Birmingham: Packt Publishing. стр. 18—19. ISBN 978-1-80056-352-0. OCLC 1202451000. 
  4. ^ а б Craig Loewen (2019-05-06). „Announcing WSL 2”. Windows Command Line Tools For Developers. 
  5. ^ mscraigloewen (19. 11. 2024). „About WSL 2”. docs.microsoft.com. 
  6. ^ а б в г „Frequently Asked Questions for WSL”. Microsoft. Приступљено 13. 11. 2016. 
  7. ^ Jack Hammons (22. 4. 2016). „Windows Subsystem for Linux Overview”. Windows Subsystem for Linux blog on MSDN. 
  8. ^ Jack Hammons (15. 6. 2016). „WSL File System Support”. Windows Subsystem for Linux blog on MSDN. 
  9. ^ Jack Hammons (8. 11. 2016). „WSL Networking”. Windows Subsystem for Linux blog on MSDN. 
  10. ^ „Please enable WSL to run 32 bit ELF binaries”. Windows Developer feedback (Microsoft/UserVoice). Архивирано из оригинала 23. 8. 2019. г. Приступљено 21. 1. 2018. 
  11. ^ „Support for 32-bit i386 ELF binaries”. GitHub. 
  12. ^ „Windows 10's Bash shell can run graphical Linux applications with this trick”. PC World. Приступљено 10. 9. 2018. 
  13. ^ „GPU not accesssible [sic] for running tensorflow and installing CUDA · Issue #1788 · Microsoft/WSL”. GitHub. Приступљено 10. 9. 2018. 
  14. ^ „OpenCL & CUDA GPU support”. Windows Developer feedback (Microsoft/UserVoice). 15. 9. 2016. Архивирано из оригинала 7. 7. 2018. г. Приступљено 10. 9. 2018. 
  15. ^ Loewen, Craig (26. 7. 2019). „What's new for WSL in Insiders Preview Build 18945”. Microsoft devblog. Архивирано из оригинала 26. 7. 2019. г. Приступљено 26. 7. 2019. „In this new update we’ve added the ability to start using global config options for WSL. These options are targeted towards power users who want to further customize their WSL experience. 
  16. ^ Hillis, Ben (25. 7. 2019). „MicrosoftDocs/WSL | Build 18947”. GitHub. Архивирано из оригинала 26. 7. 2019. г. Приступљено 26. 7. 2019. 
  17. ^ „A Deep Dive Into How WSL Allows Windows to Access Linux Files”. Windows Command Line Tools For Developers (на језику: енглески). 2019-05-30. Приступљено 2019-06-24. 
  18. ^ Jujjuri, Venkateswararao; Van Hensbergen, Eric; Liguori, Anthony; Pulavarty, Badari (13—16. 7. 2010). „VirtFS—A virtualization aware File System pass-through” (PDF). Linux Symposium. 
  19. ^ „Comparing WSL 1 and WSL 2”. Microsoft Learn. 2022-10-04. Приступљено 2022-10-18. 
  20. ^ Larabel, Michael (29. 9. 2021). „Windows 11 WSL2 Performance is Quite Competitive Against Ubuntu 20.04 LTS / Ubuntu 21.10”. Phoronix. 
  21. ^ craigloewen-msft (2023-12-15). „Comparing WSL Versions”. learn.microsoft.com (на језику: енглески). Приступљено 2023-12-16. 
  22. ^ craigloewen-msft (2023-07-31). „Accessing network applications with WSL”. learn.microsoft.com (на језику: енглески). Приступљено 2023-10-11. 
  23. ^ „wsl: Hyper-V firewall is not supported wsl: Mirrored networking mode is not supported, falling back to NAT networking · Issue #10495 · microsoft/WSL”. GitHub (на језику: енглески). Приступљено 2023-12-16. 
  24. ^ Heath, Nick (2017-09-20). „Will Microsoft love Linux to death? Shuttleworth and Stallman on whether Windows 10 is free software's friend” (на језику: енглески). TechRepublic. Архивирано из оригинала 2022-12-01. г. Приступљено 2022-02-18. 
  25. ^ а б „How Does the Windows 10 Subsystem for Linux Work and What Is It For? - Petri IT Knowledgebase” (на језику: енглески). 2018-02-12. Приступљено 2025-03-30. 
  26. ^ Salter, Jim (2020-03-19). „Windows Subsystem for Linux is making inroads with developers”. Ars Technica (на језику: енглески). Приступљено 2025-03-30. 
  27. ^ Walker, Brian (2023-04-27). „No, You Don't Need Microsoft Windows Subsystem for Linux (WSL), and Here's Why”. MUO (на језику: енглески). Приступљено 2025-03-30. 
  28. ^ Bhartiya, Swapnil (2018-02-12). „Windows Subsystem for Linux: A Bridge Between Two Platforms”. Linux.com (на језику: енглески). Приступљено 2025-03-30. 

Литература

  • Barnes, Hayden (2021). Pro Windows Subsystem for Linux (WSL): Powerful Tools and Practices for Cross-Platform Development and Collaboration. Apress. ISBN 978-1484268728. 
  • Leeks, Stuart (2020). Windows Subsystem for Linux 2 (WSL 2) Tips, Tricks, and Techniques: Maximise productivity of your Windows 10 development machine with custom workflows and configurations. Packt Publishing. ISBN 978-1800562448. 
  • Singh, Prateek (2020). Learn Windows Subsystem for Linux: A Practical Guide for Developers and IT Professionals. Apress. ISBN 978-1484260371. 

Спољашње везе

Prefix: a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9

Portal di Ensiklopedia Dunia

Kembali kehalaman sebelumnya