Microsoft раскрывает, как работает ее подсистема Linux в Windows 10

How to effectively deal with bots on your site? The best protection against click fraud.

В Bash в Ubuntu в Windows позволяет запускать собственные двоичные файлы Linux ELF64 в Windows через подсистему Windows для Linux (WSL). Хотя многие люди были шокированы объявлением Bash on Ubuntu, стоит упомянуть, что он открывает новые возможности для совместимости между различными операционными системами. Microsoft делает еще один шаг вперед и показывает, как работает ее WSL, чтобы мы могли лучше понять, как две системы взаимодействуют друг с другом.

WSL был создан командой Microsoft Windows Kernel и содержит компоненты как пользовательского режима, так и режима ядра. В частности, система состоит из:

  • служба диспетчера сеансов пользовательского режима, обрабатывающая жизненный цикл экземпляра Linux
  • Драйверы поставщика Pico (lxss.sys, lxcore.sys), роль которых заключается в эмуляции ядра Linux путем перевода системных вызовов Linux.
  • Процессы Pico, размещающие немодифицированный пользовательский режим Linux (например, / bin / bash).

Связь между тремя компонентами описывается следующим образом:

instagram story viewer

Это пространство между двоичными файлами Linux пользовательского режима и компонентами ядра Windows, где происходит волшебство. Помещая немодифицированные двоичные файлы Linux в процессы Pico, мы позволяем направлять системные вызовы Linux в ядро ​​Windows. Драйверы lxss.sys и lxcore.sys переводят системные вызовы Linux в API NT и эмулируют ядро ​​Linux.

Основная задача в этом процессе - заставить две системы работать вместе:

WSL выполняет немодифицированные двоичные файлы Linux ELF64 путем виртуализации интерфейса ядра Linux поверх ядра Windows NT. Один из интерфейсов ядра, который он предоставляет, - это системные вызовы (системные вызовы). Системный вызов - это служба, предоставляемая ядром, которую можно вызывать из пользовательского режима. И ядро ​​Linux, и ядро ​​Windows NT предоставляют несколько сотен системных вызовов пользовательскому режиму, но они имеют разную семантику и, как правило, не совместимы напрямую. Например, ядро ​​Linux включает такие вещи, как fork, open и kill, в то время как ядро ​​Windows NT имеет сопоставимые NtCreateProcess, NtOpenFile и NtTerminateProcess.

Подсистема Windows для Linux включает драйверы режима ядра (lxss.sys и lxcore.sys), которые отвечают за обработку запросов системных вызовов Linux в координации с ядром Windows NT. Драйверы не содержат кода ядра Linux, а представляют собой чистую реализацию Linux-совместимых интерфейсов ядра. В собственном Linux, когда системный вызов выполняется из исполняемого файла пользовательского режима, он обрабатывается ядром Linux. В WSL, когда системный вызов выполняется из того же исполняемого файла, ядро ​​Windows NT перенаправляет запрос на lxcore.sys. Там, где это возможно, lxcore.sys преобразует системный вызов Linux в эквивалентный вызов Windows NT, который, в свою очередь, выполняет тяжелую работу.

Принимая во внимание интерес Microsoft к платформам с открытым исходным кодом, многие люди задавались вопросом: технологический гигант должен приобрести крупные компании, ориентированные на Linux, такие как Canonical, компания, стоящая за операционной системой Ubuntu. Хотя Microsoft и Canonical сотрудничали в области программного обеспечения с открытым исходным кодом, никто не комментировал эту возможность.

Если вам интересно, как развивается взаимодействие Linux и Windows, перейти в блог Microsoft. Команда пообещала, что последуют и другие сообщения в блоге на эту тему.

СВЯЗАННЫЕ ИСТОРИИ, КОТОРЫЕ НЕОБХОДИМО ВЫБРАТЬ:

  • Пользователи Linux сообщают о проблемах «Наушники перестали работать в Windows 8.1»
  • Microsoft и Canonical представляют Bash в Windows 10 на выставке Build 2016
  • Мюнхен начинает распространять бесплатные компакт-диски Ubuntu для пользователей Windows XP
Teachs.ru
Microsoft раскрывает, как работает ее подсистема Linux в Windows 10

Microsoft раскрывает, как работает ее подсистема Linux в Windows 10подсистема Windows Linux

В Bash в Ubuntu в Windows позволяет запускать собственные двоичные файлы Linux ELF64 в Windows через подсистему Windows для Linux (WSL). Хотя многие люди были шокированы объявлением Bash on Ubuntu,...

Читать далее
Как получить доступ к файлам в подсистеме Windows для Linux

Как получить доступ к файлам в подсистеме Windows для LinuxWindows 10подсистема Windows LinuxБаш

Для решения различных проблем с ПК мы рекомендуем DriverFix:Это программное обеспечение будет поддерживать ваши драйверы в рабочем состоянии, тем самым защищая вас от распространенных компьютерных ...

Читать далее
Microsoft внесла множество улучшений в Bash на Ubuntu в Windows 10

Microsoft внесла множество улучшений в Bash на Ubuntu в Windows 10Windows 10подсистема Windows Linux

Microsoft представила множество улучшений в Windows 10 Preview с последняя сборка 14361. Функция, которая, вероятно, получила наибольшее количество изменений, - это Bash в Ubuntu в Windows 10. Micr...

Читать далее
ig stories viewer