Як реально працює новий "Bash на Windows 10"?


25

Я в Інтернеті читав, що Ubuntu і bash приходять до Windows 10. Також я читав, що це не емулятор або віртуальна машина, що працює над windows, а щось інше. То як саме це все поєднується? І чи справді це буде настільки ж стабільним і зручним для користувачів, як баш в ubuntu?



Це насправді не дає прекрасної картини того, що насправді відбувається під кришкою.
Маверік

@maaverik З тих пір ми створили низку публікацій у блогах та супровідних відео, що роз'яснюють внутрішні положення WSL. Дивіться мою відповідь нижче за посиланнями :)
Rich Turner

Відповіді:


21

Це не емулятор так, як WINE - це не емулятор. Тобто вони додали інтерфейс ядра Linux до свого ядра Windows. Коли програма намагається використовувати ядро ​​Linux, воно переводиться на вихідний системний виклик Windows, а будь-які відповіді з ядра переводяться у відповідь Linux. Тож додаток вважає, що він працює на ядрі Linux, і тому його не потрібно змінювати.

Однак це суто технологія Windows, тому якщо ви хочете отримати більше деталей, вам слід отримати їх із групи підтримки Windows чи чогось іншого. Windows продовжує залишатися власною ОС, тому я б очікував обмеженої кількості деталей.

І чи справді це буде настільки ж стабільним і зручним для користувачів, як баш в ubuntu?

З точки зору Ubuntu, ми просто працюємо на примітивному ядрі Linux, порівнянні з запуском сучасного робочого столу на примітивному сервері X. Якщо ви використовуєте лише функції, що підтримуються підробленим ядром, воно буде стабільним та зручним для користувачів. Якщо ви використовуєте непідтримувані функції, вона буде нестабільною.

Це не буде найближчим часом повного досвіду Ubuntu.


2
"Не емулятор", ймовірно, належить до лапок; як Wine - це емулятор, не лише на апаратному рівні, а на рівні API. Обидва призводять до втрати продуктивності залежно від того, що ви робите (тобто скільки системних дзвінків ви здійснюєте).
thomasrutter

2
@thomasrutter Вибачте, я не згоден. Визначення "емулятора" занадто вільне. Під такою інтерпретацією ми також повинні викликати проксі-емулятори (але вони не є). Емулятор, за визначенням, імітує речі. WSL (і проксі) не імітують речі, вони перетворюють і передають речі і повертають відповідь.
1818

21

Для тих, хто цікавиться, як працює підсистема Windows для Linux (WSL) та як вона працює з нативними бінарними файлами Linux ELF-64, ми опублікували серію публікацій в блогах та супровідні відео, що пояснюють архітектуру WSL, процеси, системні дзвінки та підтримку файлової системи .

Скотт Хензельман також зробив чудове покрокове відео, яке висвітлює процес інсталяції та налаштування Bash на Ubuntu для Windows:

HTH


3
Перше посилання більше не працює, я думаю, що він перемістився сюди: blogs.msdn.microsoft.com/commandline/…
dpritch

Хороший улов - спасибі. Виправлено посилання на точку нашого скороченого посилання.
Багатий Тернер

2

Частини bash дуже добре працюють у WSL.

Частин ядра немає. Наприклад, немає /sys/class/backlight/intel_backlight/brightnessдоступу до встановленої яскравості екрана. Є команди Powershell, які ви можете легко викликати для цього, якщо ви не заперечуєте над дуже довгими іменами поля стилю COBOL. MS Powershell можна викликати безпосередньо з баш. Таким чином, ви можете сказати, що потужні функції Windows тепер вбудовані в bash. Тим самим, що MS Powershell може назвати баш, я вважаю. Так що, якщо вірно Powershell отримує доступ до функцій , як grep, awk, head, tailі т.д.

GUI для Ubuntu Desktop ( gedit, nautilusтощо) працює лише після встановлення VcXsrvабо чогось подібного.

Спільний доступ до файлів між Linux та Windows WSL є складним для налаштування. Коли під час переміщення файлів між загальною папкою WSL + Linux NTFS у мене з'явився певний дозвіл на файли "дивацтва" через моє незнання або недолік програмного забезпечення.

Швидкість у WSL набагато повільніше, ніж в Ubuntu. Насправді ви можете бачити символ фарби екрана за символом під час запуску calабо toilet: Які відмінності між Windows bash та cygwin?

Я вважаю, що WSL - це хороший продукт, і мені подобається повозитися з ним під час подвійного завантаження в Windows-World. Він ніколи не стане чудовим продуктом через відсутність фінансування МС, і вони дійсно не хочуть мати прекрасний дистрибутив Linux Free-Ware Distro. Якби у вас було достатньо оперативної пам'яті, ви, ймовірно, були б щасливішими з VM. З ціною лише 8 ГБ і оперативною пам’яттю, які зростають до середини 2019 року або близько того, я із задоволенням дотримуюся WSL і поки що відмовився від оновлення на 32 ГБ оперативної пам’яті.

Я відвідав кілька форумів MS, і мушу сказати, що Річ Тернер та його члени команди WSL - одні з найкращих професіоналів, яких я бачив.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.