Microsoft создала родной слой эмуляции вызовов POSIX в Windows 10

2016-03-30

В ближайшие дни Microsoft представит совместную с Ubuntu разработку для ОС Windows 10, которая позволяет запускать немодифицированные (пока только консольные) бинарные файлы в Windows. Суть новинки заключается в трансляции системных вызовов Linux/POSIX в вызовы Win32 API, что позволяет достичь практически родной скорости выполнения Linux приложений в среде Windows. Если не вдаваться в тонкости, то разработчики из Microsoft написали Wine наоборот.

Некоторые детали реализации:

  • Все диски Windows будут тоступны через точки монтирования в /mnt.
  • Сама корневая система Linux/Ubuntu будет находится в C:\Users\$USER\AppData\Local\Lxss\rootfs\
  • На данный момент терминал vt100, который эмулируется для приложений Linux, реализован не полностью, поэтому такие утилиты, как byobu, screen и tmux пока не работают.
  • Основа всего - Ubuntu 14.04 LTS.
  • Ubuntu для Windows распространяется как приложение UWP, поэтому работает только в Windows 10.

Почему Microsoft пошла на это? Чтобы привлечь тех разработчиков, для которых cmd.exe и PowerShell не являются достаточными, а cygwin не обеспечивает достаточной скорости.

Подробности