Что подразумевается под «облегченным виртуальным компьютером», как обсуждалось в технологическом стеке для WSL2? - PullRequest
0 голосов
/ 19 июня 2019

Насколько я понимаю, Docker в Windows в настоящее время использует "обычную виртуальную машину" под капотом.WSL2 ( и Docker ) переключатся на использование облегченной виртуальной машины.Но что это на самом деле означает;это просто использование меньшего начального отпечатка памяти с какой-то техникой передачи памяти или есть что-то большее?

1 Ответ

1 голос
/ 20 июня 2019

TL; DR

Большое изменение заключается в переходе от виртуализированного интерпретатора системных вызовов Linux для ядра Windows в WSL к полноценному ядру Linux, предоставляемому в WSL2. Этот шаг значительно сокращает накладные расходы на виртуализацию.

Сочные детали

Непосредственно из Поста DevBlogs по объявлению WSL2 :

Microsoft будет поставлять ядро ​​Linux с Windows ... Это ядро ​​было специально настроено для WSL 2. Оно было оптимизировано для размера и производительности, чтобы обеспечить удивительный опыт работы с Linux в Windows.

Это отступление от нынешнего ( на момент написания ) WSL, в котором не используется надлежащее ядро ​​Linux, продемонстрированного в оригинальном обзоре WSL от 2016 .

WSL выполняет неизмененные двоичные файлы Linux ELF64 путем виртуализации интерфейса ядра Linux поверх ядра Windows NT.

Служба WSL LXCore выполняет своего рода интерпретатор для системных системных вызовов Linux, а также выполняет свои собственные операции VolFs и DriveFs для обеспечения доступа к файлам между WSL и Windows 10, который, по сути, выполняет роль традиционного уровня перевода виртуальной машины, подобного VirtualBox.

WSL components chart* * 1030

Образец цитирования: Блог MSDN

Мало что известно о точной системе, используемой для WSL2, о чем мы знаем из Build2019 WSL2 talk . Чтобы помочь ответить на вопрос об изменениях файловой системы и легких ВМ:

Timestamp: 29:58

Здесь мы видим, что ядро ​​Linux работает вместе с ядром NT, а не как виртуальная среда поверх него. ( в качестве службы Windows ). Облегченная виртуальная машина, вероятно, вступает в игру для облегчения необходимых взаимодействий между двумя ядрами.

Timestamp: 41:11

Это дает возможность взглянуть на внутреннюю работу этого уровня взаимодействия. Обсуждаемые в устной речи на Build2019, два ядра обслуживают файлы друг друга через файловые серверы, размещенные на собственном сервере (, недоступные для пользовательского пространства Windows с помощью средств, отличных от WSL2 ).

Опять же, с нашей точки зрения, многие из нас все еще находятся в эфире из-за ограниченных деталей, которые в настоящее время нам доступны на момент написания.

...