Чи працює WSL2 Linux у віртуальній машині або поряд з ядром Windows?


16

Я завжди хотів термінал Linux у Windows, і він виконував WSL 1. Але це було болісно повільно, оскільки це було (я думаю) віртуальною машиною, керованою Hyper-V. З WSL 2 це відносно швидше, але я не можу зрозуміти, як Microsoft це зробив.

Вони покращили Hyper-V або перестали використовувати віртуальну машину і створили якусь магію для паралельного запуску ядра Linux?


3
Це все ще віртуально, але WSL2 використовує ядро ​​linux (4.9) замість того, щоб змінювати дзвінки до API API та обробляти його таким чином.
guiverc

9
@Sachin WSL 1 запускає бінарні файли ELF у Windows, переводячи системні дзвінки Linux на системні виклики Windows, завдяки чому саме так і описується його назва, "Підсистема Windows для Linux"
wjandrea

6
WSL 1 не був віртуальним @guiverc
Адріан

3
@ Sachin.Verma: Що ви маєте на увазі під словом "підступ"? WSL 1 був реалізацією API ядра Linux та ABI, як і ядро ​​Linux, це реалізація API ядра Linux та ABI. Насправді саме так працює більшість шарів сумісності Linux, наприклад, такі, як FreeBSD, HP-UX, AIX, Solaris тощо, є також здебільшого незалежними повторними реалізаціями ядра Linux ABI та API замість портів ядра Linux. Це також працює навпаки: усі рівні сумісності комерційних Unices в Linux були незалежними повторними реалізаціями своїх API та ABI.
Йорг W Міттаг

4
WinE також працює так само. Він реалізує API Windows і ABI, замість того, щоб переносити Windows для роботи на Linux (що не могло б бути юридично можливим).
Йорг W Міттаг

Відповіді:


17

Зі статті про WSL 2 Microsoft Docs:

Короткий огляд архітектури WSL 2

Для запуску свого ядра Linux всередині легкої віртуальної віртуальної машини (VM) WSL 2 використовує найновішу і найбільшу технологію віртуалізації. Однак WSL 2 НЕ буде традиційним досвідом роботи з машинами. Традиційний досвід роботи з VM може повільно завантажуватися, ізольований, споживає багато ресурсів і вимагає вашого часу для управління ним. У WSL 2 цих атрибутів немає. Це все ще дасть чудові переваги WSL 1: Високий рівень інтеграції між Windows та Linux, надзвичайно швидкий час завантаження, невеликий слід ресурсів, а найкраще не потребуватимуть конфігурації та управління VM. У той час як WSL 2 використовує VM, ним керуватиме та працюватиме за кадром, залишаючи у вас такий же досвід роботи, що і WSL 1.

Як ми можемо бачити в наступних статтях (та обговореннях під ними) WLS 2 використовує функцію Hyper-V:


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