Как стать автором
Обновить

Комментарии 23

В DSL среда Linux интегрирована в систему MS-DOS. Пользователи могут запускать приложения DOS и Linux из командной строки DOS. В настоящее время DSL можно запустить в MS-DOS 6.22 или FreeDOS.

Из описания непонятно — это по сути дос-подсистема для линукса (что было бы логично, но не нужно — есть же dosbox или как там эмулятор доса в линуксе называется, хоть bochs используй), или все-таки Линукс система для запуска в досе? Но практическая ценность последнего тем более непонятна.

Судя по скринкастам второе. из DOS запускаются части Linux приложений правда для этого подымается qemu

Но тогда это Linux Subsystem for DOS. Но вот аббревиатура получается не очень...

На правах шутки: а мне кажется, вполне соответствует происходящему. :)

Нет, Windows Subsystem for Linux — это то, что запускает Linux программы в Windows (т. е. компонент Windows для работы с Linux-приложениями), аналогично, DOS Subsystem for Linux — то, что запускает Linux программы в DOS.

Убивает такой подход формирования названий.
Может это связано с нашим языком, но пока не столкнулся, а только читал, всегда думал, что WSL это конкурент Wine.
А оказалось — сильно наоборот, и даже не рядом.
Ну как бы у Windows NT изначально были subsystem'ы что работали поверх native api, по сути транслятор API вроде Wine но на стероидах, была кстати и для OS/2 subsystem, очень старой, была POSIX Subsystem (что позволило говорить что NT — POSIX-совместимая система, правда там все равно надо пересобирать приложения и нормально работать пользуясь только этой подсистемой было нельзя). А потом куски от подсистемы Win32 потащили в ядро для быстродействия. Сильно потом — сделали WSL1(вроде как изначально делали для очередного закрытого проекта по запуску Андроида на Windows) — по сути транслятор API-вызовов,Wine наоборот, (кроме новой подсистемы — пришлось в очередной раз доработать ядро для поддержки особых типов процессов), а потом выяснилось что вариант с API-траслятором приводит к тому что и новые API Linux сложно добавлять и реализацию поддерживать совместимой сложно и тормозит все из-за мелких отличий в NTFS и линуксовых файловых системах. Ну и сделали WSL2, которая по сути — очень качественно интегрированная виртуальная машина (пришлось правда разделить собственно ядро Hyper-V (которое использует теперь и WSL2 и например эмулятор андроида на AMD и еще кое кто, а также — VMWare (если это ядро загружено, нельзя нормально два гипервизора иметь включеными) и пользовательский интерфейс Hyper-v(который для Pro версии только) и все окончательно запуталось.
Да, WSL2 и WSL1 можно еще и одновременно использовать.

Винде сразу надо было идти по пути https://www.qubes-os.org/https://www.qubes-os.org/
маленькое гипервизор ядро. Остальное — в виртуалочках. Хотя… все равно сама архитектура x86 дырявая, т.к. виртуализацию прикручивали к ней уже потом, впопыхах

Фактически DSL запускает реальную копию MS-DOS на виртуальной машине QEMU и запускается с нее

При этом зачем-то DSL запускает MS-DOS внутри QEMU. Зачем системе, запущенной из DOS, запускать MS-DOS?
Формулировка какая-то неясная

немного не так.
в линуксе запускается дос, который можнет дергать линукс.
DOS Subsystem for Linux integrates a real Linux environment into MS-DOS systems, allowing users to make use of both DOS and Linux applications from the DOS command prompt.


Из первого же абзаца на гитхабе проекта.

Есть ненулевая вероятность того, что разработчик просто постебался над Microsoft с их WSL.

В качестве теории заговора — есть досовские программы, которые нельзя\трудно заменить, но можно к ним добавить батники с вызовами линуксовых утилит, выдающих требуемые данные.

Выпустили бы Windows Subsystem for MS-DOS (по аналогии с Windows Subsystem for Linux) — запуск старых экзешников в винде, как это было до 32-битной семёрки. А то досбокс конечно хорош, но никто не проэмулирует MS-DOS лучше самой MS, мне кажется.

Когда то такое было (NT Virtual DOS Machine, NTVDM) но выпилили с переходом на 64 бита. Работало кстати хуже досбокса (у досбокса же подход — эмулируем все и качественно а что системные требования могут быть в разы больше чем у эмулируемой среды, потому что там и процессор тоже эмулируется, — ну и что, все равно копейки).

Существует кстати github.com/otya128/winevdm — поддержка 16-bit Windows программ и аналог NTVDM для 64-бит версий Windows.

О спасибо за ссылку на winevdm. Попробую на нем игрушки позапускать, ради которых пришлось подбирать версию Vmware достаточно новыую, чтоб запускалось на Win10, и при этом достаточно старую, чтобы эмулировать оборудование на котором заводится без бубна WinME.

Насколько я помню, int 21h сымитировать — не проблема. Сложная магия начиналась, когда надо писать в магические порты и вызывать магические прерывания видеокарт/BIOS, что не необходимо тянуть благодаря EFI.
Для этого, быть может, и полезно оставить 1й МБ нетронутым (интересно, а современные машины вообще имеют тот слой совместимости для чего-то большего, чем прочитать несколько секторов с диска и вернуться в защищённый режим?).
о никто не проэмулирует MS-DOS лучше самой MS, мне кажется.

Вам кажется.
Реальный опыт показал, что ПО, работающее под DOS, начинало сильно стабильнее работать под OS/2. Эмуляция DOS у них была великолепная.
Более того, при этом ещё добавлялась многозадачность, то есть можно было и в ворде что-то писать, и переключившись по Alt+Tab в DOS программу, провести обследование.
Это были аппаратные измерители в больничках, с ПО только под DOS.
В рекламе IBM OS/2 Warp 3.0 Говорилось, что это DOS лучше чем DOS и Windows лучше чем Windows. Эту рекламу я хорошо помню и в 99.999% — это оказывалось правдой. Полуось была весьма капризной во время установки, капризничала с оборудованием из-за отсутствия драйверов, но зато если уж завелась и работала — так уж работала на полную, без глюков и сбоев.
И это же ее и погубило.
Windows-приложения идут лучше чем в Windows? А зачем тогда делать родный для OS/2 ведь можно одним приложением накрыть и Windows и OS/2?
Полностью согласен.
IBM сделала действительно хорошую вещь, но не смогла правильно её подать + грязные закулисные игры Макрософт с производителями компов сделали своё дело. Да и маркетинговый отдел IBM не умел работать с не корпоративными заказчиками и вызывал вопросы. Жаль систему, и особенно то, что они её не могут и не хотят перевести в оупенсорс.
ну это очень похоже на классический loadlin.exe
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Другие новости

Истории