LINUX.ORG.RU

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

 , , , ,


8

8

В ближайшие дни 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 не обеспечивает достаточной скорости.

>>> Подробности

★★★★★

Проверено: fallout4all ()

Ответ на: комментарий от Aceler

Домохозяйкам-вендузятникам и не надо. Сабж нужен чтобы люди которые например девелопят под серверный онтопик для разработки использовать венду. Никакой гуйни не потребуется: нжинкс, редис, руби и т.п. позапускать хватит, а для развлечений хватает нативного софта. Таким образом микрософт с одной стороны признает нужность линукса на сервере и с другой стороны подстраховывается от потери вендой десктопного сегмента.

anonymous ()
Ответ на: комментарий от annulen

Базовая поддержка POSIX в винде существует очень давно и никуда не девалась, но ее возможности очень ограничены.


Человек прав ,Posix подсистему в виндовс 8 и старше убрали .Хотя честно толку было немного ,не развивалась ,на ошибки не реагировали ,ошибку с print (print x) 3 года не чинили (хотя с этим кодом приложение приводило к синему экрану ) .Поток Posix в NTFS вообще нечем не проверялся ,я так 2 бага с NTFS-3G словил ,которые нечем не чинились: бесконечный кольцевой каталог , и 1 нтмл файл по разному просматривался под linux и Виндовс, размеры соответственно тоже различались .

maximnik0 ★★ ()
Ответ на: комментарий от question4

Для какой реальной работы? У нас что, все программисты и админы?

На кой хрен юникс при работе с текстовыми и табличными документами? На кой хрен юникс в графическом дизайне? На кой хрен юникс писателю? На кой хрен юникс 3д моделеру?

Я не говорю, что юникс не нужен, нужен. Но не всем и не всегда. В куче разных работ его наличие\отсутствие - вообще не критерий.

dk- ()
Ответ на: комментарий от mandala

Кмк, цель теперь совсем другая. Максимально влезть/паразитировать в сегмент linux (unix-like по вендузячьи).

Ну да. Портировать всё, что было непортируемо.

question4 ★★★★★ ()
Ответ на: комментарий от sudopacman

А какой профит от этого для убунты?

Составить конкуренцию RedHat с её cygwin?

grem ★★★★★ ()
Ответ на: комментарий от dk-

Для какой реальной работы? У нас что, все программисты и админы?

Для реальной работы, требующей POSIX-систему. Да, про соответствие POSIX выше — это была цитата из мануала для разработчиков программ.

question4 ★★★★★ ()
Ответ на: комментарий от dk-

Для какой реальной работы? У нас что, все программисты и админы?

Так и программисту не нужен. Нужен только некоторой категории веб-макак, которые впрочем давно пригрелись на маке. Админу тоже не нужен, у него путти есть. Бородатый свитер очевидно побрезгует какой-то сраной эмуляцией. Вот и остается единственная ЦА - мамкины хакиры с дуалбутом.

anonymous ()
Ответ на: комментарий от dk-

У нас что, все программисты и админы?

У тебя что, офис и фотошоп портировать собрались? Нет? А что выступаешь?

MS отгрызает у linux небольшой процент + дает виндовозам дополнительные возможности без лишнего гемороя.

mandala ★★★★ ()
Ответ на: комментарий от Stanson

Ладно почти уговорили, может и так. Ибо мне:

вывод на экран

Было пофиг, для офисных приложений роли не играло.

работу с последовательным портом

Не пользовал для этого винду от слова совсем (мыша не считается). Так что даже не буду спорить.

отсутствие глюка с прокруткой то-ли в комбобоксе, то-ли в самом листбоксе

Не было такого, ну не помню я этого. А так как я использовал что один что второй в своих приложениях (bcpp и позже delphi) и глюков не помню, а коллеги еще на «супермега фигне» писали PAL емнип называлось (это такой fox от борланда с таблицами paradox), значит не было такого :) Хотяяяя может в 3.1 и было, а я в основном сталкивался с 3.11 где возможно уже глюка не было.

anc ★★★★★ ()

Где официальные пруфцы? Или ссылка на блог какого-то дебила это уровень ЛОРа? Кретины мамины.

anonymous ()
Ответ на: комментарий от mandala

MS отгрызает у linux небольшой процент

Один процент от одного процента? Сильный ход.

anonymous ()
Ответ на: комментарий от anonymous

Нужен только некоторой категории веб-макак, которые впрочем давно пригрелись на маке

Кроме веб-макак, есть всякие бизнес-софт-макаки. Вся движуха ныне связана с веб-технологиями. И бизнес-софт постепенно переезжает туда. Но вот проблема в мире веб-технологий все хостятся на Линуксе. Соответственно микрософту надо либо попытаться примазаться к этому всему как-нибудь или проиграть. Судя по портированию .NET-а (серверных частей), SQL Server-а и сабжу выбран всё таки первый пункт.

anonymous ()
Ответ на: комментарий от anonymous

Основная аудитория оффтопика не целевая для это фичи.

mandala ★★★★ ()
Ответ на: комментарий от anonymous

Мне интересно, как они запилили mmap с гранулярностью в 4КБ. Винда вроде меньше, чем в 64КБ не умеет.

anonymous ()
Ответ на: комментарий от anonymous

А вот и подоспел комментарий от разработчика из Microsoft.

Да, вызов fork() они засунули в ядро Windows. Я - гений!

bitcrazed 4 hours ago

So do Cygwin and/or MSYS emulate the fork()

Yes. That's one thing we spent considerable engineering effort on in this first version of the Windows Subsystem for Linux: We implement fork in the Windows kernel, along with the other POSIX and Linux syscalls. This allows us to build a very efficient fork() and expose it to the GNU/Ubuntu user-mode apps via the fork(syscall). We'll be publishing more details on this very soon.

// b.

Source: https://news.ycombinator.com/item?id=11391797

anonymous ()
Ответ на: комментарий от anonymous

NT IS AGNOSTIC!!11

fork() — That's one thing we spent considerable engineering effort

Ясно.

anonymous ()

В общем вываливаю всю инфу на тему от Microsoft:

Your points are fair, but color with the fact that the Windows Subsystem for Linux (WSL) is build to be distro-agnostic. We picked Ubuntu in this first version due to its popularity with developers, but there are few technical reasons (other than us fully and accurately implementing the necessary syscalls) why it shouldn't support other distro's userland environments in the future. Knowing this, what should we call it? Windows Subsystem for Running POSIX + Linux Syscall API Compatible Userland Tools? WSRPLSACUMT? :) I'm genuinely interested on what you all feel would be a good way to think about naming moving forward.

So do Cygwin and/or MSYS emulate the fork()

Yes. That's one thing we spent considerable engineering effort on in this first version of the Windows Subsystem for Linux: We implement fork in the Windows kernel, along with the other POSIX and Linux syscalls. This allows us to build a very efficient fork() and expose it to the GNU/Ubuntu user-mode apps via the fork(syscall). We'll be publishing more details on this very soon.

In other words, they're not using «Linux» at all. It's an Ubuntu userland on top of the Windows kernel, similar to how Nexenta was an Ubuntu userland on top of the OpenSolaris kernel.

You pretty much nailed it :)

No - this is a whole new thing. The Windows POSIX subsystem which shipped in NT 3.5.1 was a minimal implementation of POSIX syscall API plus a userland toolset. That was replaced with Interix which was renamed Services for Unix (SFU) which had a more comprehensive kernel implementation and more up to date userland. However that tech was not resurrected to build the Windows Subsystem for Linux (WSL). Importantly, WSL doesn't ship with a distro - we download a genuine Ubuntu userland image at install-time and then run binaries within it.

Yes - Cygwin is essentially the GNU tools recompiled as Win32 apps using a helper library for shared code etc. Windows Subsystem for Linux (WSL) which underpins Ubuntu on Windows is new Windows kernel infrastructure that exposes a LINUX-compatible syscall API layer to userland and a loader that binds the two. This means you can run real, native, unmodified Linux command-line tools directly on Windows.

Want to make this absolutely clear - this is a command-line only toolset for developers. It is not built to support GUI desktops/apps. It is not built to run production Linux server workloads. It is not suitable for running micro-services or containerized environments. Again - this is A COMMAND-LINE-ONLY DEVELOPER TOOLSET!

Это всё можно добавить в новость, но по сути в ней уже всё есть.

// b.

anonymous ()
Ответ на: комментарий от tailgunner

Microsoft and Canonical continue to work more closely together

Ой, что-то мне это напоминает. Были уже такие тесно сотрудничавшие. Ну и где теперь та Novell? Шатлворт всё: я устал, я мухожук.

anonymous ()

Эта новость точно никак не связана с наступающим 1-ым Апреля? Не? Ну ладно, как скажете.

mbivanyuk ★★★★★ ()
Ответ на: комментарий от anonymous

Супер. Эльфы под виндой без извращений с PE. Реально будет мощная система. Странно, что они раньше такое не делали.

EXL ★★★★★ ()

Где официальные пруфцы? Или ссылка на блог какого-то дебила это уровень ЛОРа?

Вот так взял и испортил все удовольствие. А так хорошо обсуждали. Злой ты анонимус.

mbivanyuk ★★★★★ ()
Ответ на: комментарий от anonymous

Были уже такие тесно сотрудничавшие. Ну и где теперь та Novell? Шатлворт всё: я устал, я мухожук.

Бизнес, ничего личного. Думаю, он неплохо заработал.

tailgunner ★★★★★ ()
Ответ на: комментарий от mbivanyuk

Никак не можешь поверить, что Шатлворт продался и убунту закапывают?

anonymous ()
Ответ на: комментарий от mbivanyuk

Где официальные пруфцы?

Вот так взял и испортил все удовольствие.

Тебе мало приведенных пруфов? Ты реально странный.

tailgunner ★★★★★ ()
Ответ на: комментарий от mbivanyuk

Будешь теперь убунту вместе с вендой покупать, лол.

anonymous ()
Ответ на: комментарий от anc

Не было такого, ну не помню я этого.

Что-то там про то, что если в список запихнуть строку длиннее определённого количества символов, то при прокрутке эта строчка размножалась. Деталей не помню уже, за давностью лет. Наверно в гугле можно поискать.

Stanson ★★★★★ ()
Ответ на: комментарий от EXL

Сдаётся мне, что написать ядро линукса _без_ ядра линукса и чтобы оно органично работало под ntoskrnl не так легко и быстро. Хотя, если говорить совсем по существу, то им надо было реализовать:

fs/(vfs, blkid, etc)
ipc/*
mm/*
net/(по мелочи)

Итого, примерно 5MB исходников на C. Не удивлюсь, если те два драйвера, про которые упоминали раньше, весят в сумме примерно 3MB ;-)

Вопрос не «почему не делали», а «почему не хотели тратить на это море ресурсов и денег» (в Microsoft, в отличие от OSS/Linux, есть жёсткий QA/QC, который пипец стоит денег - на каждый syscall желательно иметь testcase).

// b.

anonymous ()
Ответ на: комментарий от tailgunner

Я как-бы пруфов пока вообще не вижу. Упоминаний в сети много но все на уровне этого бложика. Официального анонса от MS пока не встречал, хотя честно говоря и не искал особо. Если пруфы есть у тебя - кинь нам сейчас ссылочку. Но что-то мне подсказывает что ты как всегда - одни понты. ))

mbivanyuk ★★★★★ ()
Ответ на: комментарий от mbivanyuk

Ты и пачка других идиотов, которые пытаются вспоминать про 1 апреля - просто дебилы, которые не знают английский и не умеют использовать Google.

Официальная новость от Ubuntu:

https://insights.ubuntu.com/2016/03/30/ubuntu-on-windows-the-ubuntu-userspace...

Официальная конференция в Microsoft (с которой стянуты скрины):

https://azure.microsoft.com/en-us/campaigns/build-2016/

// b.

anonymous ()
Ответ на: комментарий от anonymous

Спасибо. Но смысл был в том, что ссылка на новость должна вести не на бложики. Приведенные тобой ссылки бы вполне подошли.

mbivanyuk ★★★★★ ()
Ответ на: комментарий от anonymous

Да это просто убунтоиды на стадии отрицания.

anonymous ()
Ответ на: комментарий от anonymous

Ubuntu binaries running natively in Windows. Microsoft calls it their “Windows Subsystem for Linux”

Ага, вот теперь как убунту называется, лол.

anonymous ()
Ответ на: комментарий от mbivanyuk

Бложик этот - одного из известных разработчиков бубунты. Никак не подумал, что этого мало.

Dustin Kirkland is part of Canonical's Ubuntu Product and Strategy team, led by Mark Shuttleworth. Dustin leads the technical strategy, road map, and life cycle of the Ubuntu Cloud and IoT commercial offerings

// b.

anonymous ()
Ответ на: комментарий от question4

В те времена (NT 3-4) Cygwin только начинал, тогда exceed (надеюсь не соврал в написании) в ходу был.

anc ★★★★★ ()
Ответ на: комментарий от dk-

На кой хрен юникс в графическом дизайне? На кой хрен юникс 3д моделеру?

Да что вы говорите... А мужики-то и не знали... но почему-то уже мноооого лет пользуются им .

anc ★★★★★ ()
Ответ на: комментарий от anc

Ожидал этого комментария. Но он мимо.

anonymous ()
Ответ на: комментарий от anonymous

Админу тоже не нужен, у него путти есть.

Сейчас будет ругань. Это сраное мышевозное дерьмо, с полностью нелогичной настрокой? Нет уж спасибо, жрите сами.

anc ★★★★★ ()

пока только консольные

А что, для графики нужны какие-то особые системные вызовы и приложение не сможет подконнектиться к X-серверу без них?

cvs-255 ★★★★★ ()
Ответ на: комментарий от Stanson

btw возможно. Ладно, уговорили полностью. :)
Хотя все еще не исключаю сравнения 3.1 vs 3.1, а не 3.11 емнип в 3.11 фиксов достаточно было.

anc ★★★★★ ()
Ответ на: комментарий от MuZHiK-2

А нативное апи винды это не win32api, а что-то хитрое и большей частью недокументированное

cvs-255 ★★★★★ ()
Ответ на: комментарий от cvs-255

А нативное апи винды это не win32api, а что-то хитрое и большей частью недокументированное

Спасибо КО. То что от м$ «что-то хитрое и большей частью недокументированное» повелось еще со времен dos. Собстно за счет этого и «вырывали победу» перед конкурентами, «свои» знают «все про недокументированные функции», партнерам сообщим чуть меньше, а остальные жрите что дали (разбирайтесь сами, почему это у вас работает хуже чем у нас родных).

anc ★★★★★ ()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от cvs-255

Просто в MS не хотят тянуть говно из 70-ых, так что будет сразу Wayland.

EXL ★★★★★ ()
Ответ на: комментарий от EXL

Наконец-то появился дистрибутив с нормальным DE

Дико ржу с такой жирноты.
Уродливее и неудобнее DE чем у мелкомягких ещё поискать надо.

WatchCat ★★★★★ ()
Ответ на: комментарий от WatchCat

Ставишь тему Windows Classic и вперёд, за работу!

Прилизаные кнопочки в псевдо3D будут радовать твой взгляд, а иконочки с налётом старины и аутентичных IBM PC с мех. клавой, ласкать твой взор.

http://i.imgur.com/GqaudyB.png

http://i.imgur.com/5sKMCh3.png

http://i.imgur.com/zapB5xU.png

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 2)
Ответ на: комментарий от EXL

Ставишь тему Windows Classic и вперёд, за работу!

С xp не попутали? Это последняя которую из каробки можно было в win classic превратить, для 7-ой это уже многостраничные мануалы.

anc ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.