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 ()
Последнее исправление: Psych218 (всего исправлений: 4)

Just IMHO.
Самая веселуха начнётся, когда/если они (MS) доведут это до состояния пригодности к использованию теми самыми разработчиками, что помянуты в новости. И оные разработчики станут кодить под это, закладываясь на это-специфичные баги^Wособенности (а их там будет — к гадалке не ходи).
И разработчикам ядра Linux придётся особенности этого эмулировать в настоящем ядре (привет от разработчиков WINE).

KOHb-TPOJIJIbJIEP
()
Ответ на: комментарий от zz

А я и не говорил, что surface book — единственная альтернатива макбуку.

К этому: Microsoft создала родной слой эмуляции вызовов POSIX в Windows 10 (комментарий)

Мы обсуждали перспективы десктопного линукса и смерть десктопов вообще. Наличие любого софта под макось ничего не сулит линуксу и никак не угрожает десктопам. Но МС угрожает, это да. Но я никак не думаю, что сабжевая новость — это иллюстрация их побега с тонущего корабля или предчувствия катастрофы.

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

А я и не говорил, что surface book — единственная альтернатива макбуку.

А я говорил :)

zz ★★★★
()

Наконец можно будет писать нормальные баш-скрипты для администрирования винды, и пользоваться нормальным терминалом. Power shell говно, а уж батники и подавно.

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

Наличие блендера делает юникс для этих работ необходимым? С логикой как?

Я разве что-то сказал про блендер? имхо нет. Я про него даже не вспоминал.

А чего стыдливо умолчал про работу с документами?

например mco 2011, не ?

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

Дежавю...

Там выше был посыл, что «юникс необходим для работы». Я утверждаю, что это лютое 4.2 за исключением некоторых областей типа админства и кодинга (и то не полностью).

Что тут не ясного?

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

Все что вы перечислили (ну кроме скрола, тут вы буржуй) актуально было для любой ос. А вот это: «а то приходилось в биос пропысывать дорожки и целиндры» нужно было для dos/винды и если не дуалбут то для лин этого не нужно было совсем, и это не «кривой ide контролеры» с ним все нормально, а биос который про lba не знал.
«Процессоры Cyrix отдельная песня» - для которых шел патч под винду, но вот линь с полумухом работали и так нормально, возможно не все шло в ядре, да для некоторого оборудования скачивали модули отдельно (вспомнил про vortex и платы видеозахвата/тв тюнеры), но на фоне того что в принципе под другой ос (включая dos) надо было делать то же самое не так уж и напрягало, а вот то что из каробки работало большее кол-во оборудования не могло не радовать.

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

Вы написли «На кой хрен юникс в графическом дизайне? На кой хрен юникс 3д моделеру?»
Я вам ответил, что вы не правы и что люди много лет им пользуются с большим удовольствием для этих целей.
Задам вопрос вашими же словами: «Что тут не ясного?»

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

Ответ неправильный. РедХат не развивает линуксовый десктоп.

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

С головой как? Я возразил на то, что «юникс необходим для работы». Это утверждение не явялется полностью истинным. Он может быть как необходим, так и нафиг не нужным. Зависит от работы и выбранных инструментов.

Дизайнить можно как с спо инструментами, так и с проприетарщиной.

Что тут не ясного?

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

Такой-такой. Как я понимаю, принцип построения тот-же, что и у подсистем NTVDM, OS/2(16-bit), POSIX - модуль в ядре + сервис, обеспечивающий управление из подсистемы Win32 (или как оно там на 64-х разрядных виндах называется). То есть еще одна подсистема сбоку.

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

Я возразил на то, что «юникс необходим для работы»

Оооочень многие дизайнеры как раз считают что «юникс» именно необходим для их работы. И это как раз напрямую связано с «выбранных инструментов.» Так-то им ясен пень пофиг какая «именно» ОС под капотом лиш бы работала.

Дизайнить можно как с спо инструментами, так и с проприетарщиной.

А вот вопрос инструментов спо/не_спо как раз не обсуждался.

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

Как я понимаю, принцип построения тот-же, что и у подсистем NTVDM, OS/2(16-bit), POSIX - модуль в ядре

POSIX не нужен был модуль в ядре, OS/2 - тоже.

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

ms обещала нативный докер

Ну да, но а) Docker Engine есть только для Windows Server, б) линуксовые приложения он не запускает - а потом заливать их на линуксовый сервер. Вот и они и затыкают эту дыру - будут девелоперские версии крутить на докере внутри убунты внутри винды. И есть vim!

Ждём постов от новообращенных виндузятников перешедших с макоса и россказни о том как всё перестало тормозить без виртуалбокса-то!

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

Я возможно уже что-то путаю, но в общем случае реализация подсистемы в NT предполагает поддержку со стороны ядра (как минимум нужно учесть особенности виртуальной памяти). Для POSIX наверное использовались те же механизмы, что и для Win32. Но вот для OS/2 нужно организовать сегментную VM - как это сделать без специальной поддержки в ядре я что-то не представляю.

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

Да щаз. Всяческие геморрои с доступом к железу и влияние многозадачности системы часто делали невозможным работу всяких софтин и девайсов,

Я видать какой-то другой полуосью пользовался, т.к. как раз с железом проблем не возникало. Работал даже вариант когда необходимо было читать из строго определённой ячейки памяти, за пределами 640к.

Возможно у кого-то руки из другого места росли и они просто не умели читать доку и настраивать полуосевой эмулятор.

Винда же была просто нашлёпкой на чистый DOS, поэтому полуосёвый эмулятор был гораздо хуже винды.

Лол нет. Уже в 95-й натолкнулись на ряд проблем. А уже начиная с 2000-й (которая таки NT) у полуоси не осталось конкурентов. Даже сейчас держим полуосевую машину чтобы гонять разный легаси софт, который лень переписывать или исходники давно пролюблены.

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

Я возможно уже что-то путаю, но в общем случае реализация подсистемы в NT предполагает поддержку со стороны ядра

Поддержку со стороны ядра - да, компонент режима ядра - нет. По крайней мере, в изначальной NT.

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

Офис на маках поддерживать в российских условиях - тот ещё изврат)

И чем же оно отличается от «не российских условий» ?

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

Еще как настраивается. Не смотрите на то, что только из каробки, если у вас «особые пристрастия» есть командная строка да в конце концов для эстетов куча твикалок с красивым гуи которые мышкотыканьем выполнят эти команды за вас.

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

Я возразил на то, что «юникс необходим для работы»

Да ты намешал всё в кучу. Баш с утилитами - это не юникс. С другой стороны, махровая вендузня в гейоси - юникс. Вот такая диалектика. Может ты имел ввиду юникс-вей? Ну так вантузом не получится в таком стиле управлять и программировать его, даже с башем. Это будет просто нашлепка сбоку для инвалидов, не осиливающих нормальную систему (веб-макаки и т.п.).

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

Работал даже вариант когда необходимо было читать из строго определённой ячейки памяти, за пределами 640к.

Возможно у кого-то руки из другого места росли и они просто не умели читать доку и настраивать полуосевой эмулятор.

Возможно кто-то ничем кроме чтения ячеек памяти не занимался, и ничего про real-time и работу с железом вообще не слышал.

Лол нет. Уже в 95-й натолкнулись на ряд проблем.

В 95-й вообще было чрезмерно много проблем.

А уже начиная с 2000-й (которая таки NT) у полуоси не осталось конкурентов.

Таки NT 3.1/4.0/2000/XP/... вообще-то принципиально другая система, по сравнению с Win 3.1/3.11/95/98/ME

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

Софт гонять много ума не надо. Да и полуоси тоже. Оно и в dosbox каком-нибудь прекрасно работать будет. Ты попробуй железо погонять, где тайминги интерфейса задаются NOP'ами или пустыми циклами. Хрен у тебя чего получится, если в системе реализована вытесняющая многозадачность.

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

Пруф на то, что это все в ядре, а не в юзерспейсе? Вон в новости указано, что

разработчики из Microsoft написали Wine наоборот

wine не в ядре же. Да и C:\Users\$USER\AppData\Local\Lxss\rootfs\ не в ядре наверняка.

Ubuntu для Windows распространяется как приложение UWP

Ну так приложение же.

Deleted
()

С одной стороны это очевидный линуксокапец, с другой даже мээс признал существование вне чукотских цивилизаций

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

Самая веселуха начнётся, когда/если они (MS) доведут это до состояния пригодности к использованию теми самыми разработчиками, что помянуты в новости. И оные разработчики станут кодить под это, закладываясь на это-специфичные баги^Wособенности (а их там будет — к гадалке не ходи).
И разработчикам ядра Linux придётся особенности этого эмулировать в настоящем ядре (привет от разработчиков WINE).

Visual C++ for Linux Development
https://visualstudiogallery.msdn.microsoft.com/725025cf-7067-45c2-8d01-1e0fd3...

amorpher ★★★★★
()
Последнее исправление: amorpher (всего исправлений: 1)

Шо, опять? Оно же было в NT4, в двухтонке выкинули.

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

Ее же, вроде, бесплатной сделать собирались. Или нет? Не слежу за виндой.

Difrex ★★★★
()

«МАМА РОДИ МЕНЯ ОБРАТНО!!!» (с) народный

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

Возможно кто-то ничем кроме чтения ячеек памяти не занимался, и ничего про real-time и работу с железом вообще не слышал.

А ничё что в эту ячейку памяти некий девайс выставлял своё состояние и данные с определённой частотой.
Но ты у нас телепат, да. И всё знаешь.

Оно и в dosbox каком-нибудь прекрасно работать будет.

Внезапно! Оно там не работает. Но ты конечно умный телепат по интернету.

Ты попробуй железо погонять, где тайминги интерфейса задаются NOP'ами или пустыми циклами. Хрен у тебя чего получится, если в системе реализована вытесняющая многозадачность.

Т.е. ты пытаешься придумать искусственный случай когда эмулятор доса в ос2 не будет работать.
Вот только в таких условиях не будет работать никакой эмулятор в других операционках.
Но ты в своей отаке забыл уже моё изначальное сообщение и обосрался.
На, прочитай ещё раз: Microsoft создала родной слой эмуляции вызовов POSIX в Windows 10 (комментарий)
И попытайся понять что там написано.

WatchCat ★★★★★
()

Зачем так громко?

Ни чего они не создавали. Они, как обычно, - с...ли - позаимствовали.

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

И вот где-то в этих облаках они будут предлагать свой новый windows server без граф.интерфейса и с возможностью запускать консольный linux soft.

Дааа. Киллер фича виндоуса - теперь он за деньги сможет запускать линукс софт.*

*плохо запускать

В чём смысл-то? Нафига покупать лицензию на винду если ты планируешь крутить линукс софт? В облаках тем более винда нафиг не впёрлась, если хочешь разворачивать кучу микро-инстансов. Там всё это лицензирование - лишний головняк на ровном месте.

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

Вот они просто взяли эти пакеты с репозитория убунты и запустили ELF'ы

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

Там всё это лицензирование - лишний головняк на ровном месте.

Навеяло словом «лицензирование», а прикиньте если они сабж еще не под всякой лицензией впихивать будут, ну типа только в максималочке или вообще как доп. хренотень по отдельной лицензии, с них ведь станется...

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

А вот их и так устраивает. И кстати не особо им объяснять это нужно, они твикалки скорее сами найдут.

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

И оные разработчики станут кодить под это, закладываясь на это-специфичные баги^Wособенности (а их там будет — к гадалке не ходи).

Вы бредите.

Если у них будут баги в виду non compliant POSIX behaviour, Linus плевать будет на них, ибо kBSD Debian работает идеально, а, значит, разрабы Microsoft будут решать проблемы, а не кто-то другой.

// b.

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

Учитывая что это не что иное как попытка пришить суровыми нитками POSIX-compliance, консоль и привичные утилиты на виндоус (cygwin от Micrsoft), то ограничивать доступность этого они не станут. А если станут, то это будет просто очередной козырь в глазах хомячков (если поддержка GNU обвязки и совместимость с POSIX - это модно и элитарно и есть только в юбер-редакциях винды, то тогда чистый линукс - это вообще эпик вин какой-то, надо пойти пощупать.

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

Слоупок на фоне микрософта выглядит ёжиком Соником.

Никто не спорит. А может это раньше никому было не нужно.

Ну и «репозитории с пакетами софта», это ты Windows Store так польстил?

Нет. Имелось в виду что-то типа этого:

https://habrahabr.ru/post/143996/

http://geeksmagazine.org/post/284/v-windows-10-poyavitsya-paketnyj-menedzher

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

Лучше бы сделали какой-то рандомное число. Вроде 28.02 или 03.03. Тогда много кто принял бы все новости за день всерьез). Выходит что 1 апреля никогда не наступит на лоре в этом году =(

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

Кстати стоило бы добавить еще и ответ от Ubuntu. Точнее подверждение. http://blog.dustinkirkland.com/2016/03/ubuntu-on-windows.html?utm_source=omgu... Но все же: «More details on the integration (and the possibilities it provides developers with) are to be announced at the Microsoft ‘Build’ developer conference, which is being held March 30 – April 1, 2016 in San Francisco, CA.». Обращаем внимание на дату March 30 - April 1. И не забываем о April Fools' Day :)

link0802
()

Полезная фича. Было пару раз такое когда надо было переименовать и отфильтровать файлы нетривиальным способом. Мне предлагали изучать powershell, но я решил что проще сделать restart, загрузится в linux, подключить ntfs том и сделать все что требовалось. А сейчас и рестарта не надо будет в таких случаях.

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