WSL — различия между версиями
Fog (обсуждение | вклад) |
Fog (обсуждение | вклад) |
||
Строка 16: | Строка 16: | ||
Пользователю доступны apt, ssh, rsync, find, grep, awk, sed, sort, xargs, md5sum, gpg, curl, wget, apache, mysql, redis, python, perl, ruby, php, gcc, tar, vim, emacs, diff, patch и большинство бинарных пакетов из архива Ubuntu, содержащих консольные и серверные приложения. При этом некоторые приложения пока остаются неработоспособны, например, из-за неполной эмуляции терминала VT100 невозможно использовать byobu, screen и tmux. Также ничего не говорится о реализации запуска графических приложений. | Пользователю доступны apt, ssh, rsync, find, grep, awk, sed, sort, xargs, md5sum, gpg, curl, wget, apache, mysql, redis, python, perl, ruby, php, gcc, tar, vim, emacs, diff, patch и большинство бинарных пакетов из архива Ubuntu, содержащих консольные и серверные приложения. При этом некоторые приложения пока остаются неработоспособны, например, из-за неполной эмуляции терминала VT100 невозможно использовать byobu, screen и tmux. Также ничего не говорится о реализации запуска графических приложений. | ||
+ | |||
+ | |||
+ | Приложения Ubuntu выполняются в отдельном представлении файловой системы, повторяющей организацию файловой иерархии в Linux. Файловые системы Windows доступны на запись в форме разделов, примонтированных в директории /mnt. Например, директория "C:\Users\Kirkland\Downloads" доступна как "/mnt/c/Users/Kirkland/Downloads". А для Windows-приложений корневая ФС Ubuntu видна как "C:\Users\Kirkland\AppData\Local\Lxss\rootfs\". Для установки дополнительных пакетов и обновления системы применяется инструментарий apt с загрузкой штатных пакетов и обновлений из репозиториев Ubuntu. | ||
'''Производительность''' | '''Производительность''' | ||
− | Утилита sysbench демонстрирует практически эквивалентные показатели работы процессора, оперативки и операций ввода-вывода». Система прошла подавляющее большинство LTP-тестов на производительность и работает хорошо | + | Утилита sysbench демонстрирует практически эквивалентные показатели работы процессора, оперативки и операций ввода-вывода». Система прошла подавляющее большинство LTP-тестов на производительность и работает хорошо. |
Строка 36: | Строка 39: | ||
Источники | Источники | ||
*[http://www.pcweek.ru/pc/article/detail.php?ID=184453 Ubuntu (но не Linux) под Windows — как это работает] | *[http://www.pcweek.ru/pc/article/detail.php?ID=184453 Ubuntu (но не Linux) под Windows — как это работает] | ||
− | *[ | + | *[http://www.opennet.ru/opennews/art.shtml?num=44141 В Windows обеспечена поддержка запуска исполняемых файлов Linux] |
{{ReactOS}} | {{ReactOS}} |
Версия 14:13, 4 апреля 2016
Windows Subsystem for Linux (WSL, подсистема Windows для приложений на базе Linux).
Подсистему WSL без лишних громких слов поместили в код Windows 10 (билд № 14251) в конце января 2016 года. Несколько дней спустя Алекс Ионеску высказал предположение о том, что две новые подсистемы внутри файлов lxcore.sys и lxss.sys могут стать вспомогательным средством разработки приложений под Linux для Windows-программистов.
Главное предназначение подсистемы WSL состоит в том, чтобы эмулировать Linux (на начальном этапе - Ubuntu) в пользовательском режиме. В результате можно запускать нативную оболочку Bash для Ubuntu под операционной системой Windows. Подсистема WSL еще не готова к повсеместному использованию. Представитель компании Canonical сказал, что сейчас «она находится на ранней стадии — это всего лишь бета-версия».
Это не Cygwin
Но это вовсе не разновидность среды Cygwin, т.к. чтобы Linux-приложения могли нативно работать под Windows, их код специально нужно перекомпилировать. А в WSL можно запускать "родные" ELF-бинарниках Ubuntu, с идентичной контрольной суммой, которые запускаются прямо из-под Windows.
Это не coLinux, это "WINE наоборот" Запуск исполняемых файлов Linux реализован путём включения специальной прослойки (код подсистемы закрыт), которая в режиме реального времени транслирует системные вызовы Linux в системные вызовы Windows. Концептуально, такой подход является противоположностью среды WINE.
Функциональность
Пользователю доступны apt, ssh, rsync, find, grep, awk, sed, sort, xargs, md5sum, gpg, curl, wget, apache, mysql, redis, python, perl, ruby, php, gcc, tar, vim, emacs, diff, patch и большинство бинарных пакетов из архива Ubuntu, содержащих консольные и серверные приложения. При этом некоторые приложения пока остаются неработоспособны, например, из-за неполной эмуляции терминала VT100 невозможно использовать byobu, screen и tmux. Также ничего не говорится о реализации запуска графических приложений.
Приложения Ubuntu выполняются в отдельном представлении файловой системы, повторяющей организацию файловой иерархии в Linux. Файловые системы Windows доступны на запись в форме разделов, примонтированных в директории /mnt. Например, директория "C:\Users\Kirkland\Downloads" доступна как "/mnt/c/Users/Kirkland/Downloads". А для Windows-приложений корневая ФС Ubuntu видна как "C:\Users\Kirkland\AppData\Local\Lxss\rootfs\". Для установки дополнительных пакетов и обновления системы применяется инструментарий apt с загрузкой штатных пакетов и обновлений из репозиториев Ubuntu.
Производительность
Утилита sysbench демонстрирует практически эквивалентные показатели работы процессора, оперативки и операций ввода-вывода». Система прошла подавляющее большинство LTP-тестов на производительность и работает хорошо.
Исторические корни
Идея уходит корнями в подсистему POSIX операционной системы Windows NT. NT Posix была задумана для того, чтобы запускать нативные бинарные коды для Unix внутри Windows NT.
Установка
Для упрощения установки для пользователей Windows подготовлена специальная сборка Ubuntu, содержащая образ корневой системы с набором базовых приложений. Пакет будет доступен для установки из каталога Windows Store. Установив данный пакет пользователь Windows 10 сможет через меню Start вызвать командную оболочку cmd.exe, запустить в ней bash и получить штатный интерфейс командной строки Ubuntu.
Источники
- Ubuntu (но не Linux) под Windows — как это работает
- В Windows обеспечена поддержка запуска исполняемых файлов Linux