ROS NTVDM — различия между версиями

Материал из Русский WINE
Перейти к: навигация, поиск
(Ссылки)
 
(не показано 7 промежуточных версии этого же участника)
Строка 1: Строка 1:
 
[[Category:ReactOS]]
 
[[Category:ReactOS]]
 
=NTVDM в ReactOS=
 
=NTVDM в ReactOS=
Обсуждение на форуме: https://reactos.org/forum/viewtopic.php?f=11&t=14558
+
Обсуждение на форуме: http://reactos.org/forum/viewtopic.php?f=11&t=14558
 
----
 
----
 
NTVDM (NT Virtual Dos Machine) — виртуальная машина, которая в связке с [[ROS WOW|WOW (WindowsOnWindows)]] обеспечивает запуск 16-битных программ (DOS и Win3.x) в современных версиях Windows.
 
NTVDM (NT Virtual Dos Machine) — виртуальная машина, которая в связке с [[ROS WOW|WOW (WindowsOnWindows)]] обеспечивает запуск 16-битных программ (DOS и Win3.x) в современных версиях Windows.
  
 
==Начало==
 
==Начало==
Долгое время этот компонент отсутствовал в ReactOS, пока участник сообщества по имени Александар Андрейевич (Aleksandar Andrejevic) не предложил свою помощь в его реализации. 16 июня 2013 для него [https://code.reactos.org/changelog/reactos?cs=59241 была создана] отдельная ветка, в которой разрабатывались базовые возможности NTVDM.
+
Долгое время этот компонент отсутствовал в ReactOS, пока участник сообщества по имени Александар Андрейевич (Aleksandar Andrejevic) не [[ROS Newsletter97#NTVDM|предложил свою помощь]] в его реализации. 16 июня 2013 для него [http://github.com/reactos/reactos/commit/4f0b8d3db0ecd44a6dcdc9177b4c3e84a60a92a0 была создана] отдельная ветка, в которой разрабатывались базовые возможности NTVDM.
  
 
==Текущее состояние==
 
==Текущее состояние==
 
На [http://reactos.org/ru/node/794 13 марта 2014 года] была реализована поддержка 486-совместимых процессоров, основного управления памятью, базовая поддержка звука и видео, 32-битного BIOS и 32-битного DOS.
 
На [http://reactos.org/ru/node/794 13 марта 2014 года] была реализована поддержка 486-совместимых процессоров, основного управления памятью, базовая поддержка звука и видео, 32-битного BIOS и 32-битного DOS.
  
Немало функций по-прежнему отсутствуют, в том числе и в вышеперечисленных функциях. Например, нет поддержки видео для VESA+ или EGA шрифтов, звук работает только через внутренний динамик ПК, а не через эмулированный SoundBlaster, также эмулятор процессора не имеет блока с плавающей точкой.
+
Немало функций по-прежнему отсутствуют, в том числе и в вышеперечисленных функциях. Например, нет поддержки видео для VESA+ или EGA шрифтов, звук работает только [http://youtu.be/Mv8uQi_LKzE через внутренний динамик ПК], а не через эмулированный SoundBlaster, также эмулятор процессора не имеет блока с плавающей точкой.
  
 
Ранее, для запуска DOS программы NTVDM нужно было запустить вручную. В настоящее время, благодаря работе проведенной в CSRSS, NTVDM автоматически запускается при открытии 16-битной программы. Так же, в дальнейшем, CSRSS будет отвечать за принятие решения, запустить новый экземпляр NTVDM или повторно использовать уже существующий. Эта особенность особенно важна для завершения и приостановки программ, которые включают в себя много игр.
 
Ранее, для запуска DOS программы NTVDM нужно было запустить вручную. В настоящее время, благодаря работе проведенной в CSRSS, NTVDM автоматически запускается при открытии 16-битной программы. Так же, в дальнейшем, CSRSS будет отвечать за принятие решения, запустить новый экземпляр NTVDM или повторно использовать уже существующий. Эта особенность особенно важна для завершения и приостановки программ, которые включают в себя много игр.
Строка 17: Строка 17:
 
В отличие от Windows, NTVDM ReactOS не устанавливает процессор в 16-битный режим эмуляции, а основывается на новой реализации заброшенного эмулятора softx86 и авторской библиотеке эмуляции процессора fast486. Преимущество подхода ReactOS, в том, что его NTVDM может использоваться на 64-битных, x86 и ARM процессорах.
 
В отличие от Windows, NTVDM ReactOS не устанавливает процессор в 16-битный режим эмуляции, а основывается на новой реализации заброшенного эмулятора softx86 и авторской библиотеке эмуляции процессора fast486. Преимущество подхода ReactOS, в том, что его NTVDM может использоваться на 64-битных, x86 и ARM процессорах.
  
6 мая 2014 года ntvdm [http://code.reactos.org/changelog/reactos?cs=63177 была влита] в основную ветку и с тех пор разрабатывается в ней.
+
6 мая 2014 года ntvdm [http://github.com/reactos/reactos/commit/c32b8d2f39defb7a5577fb1428d5fb9758d2ac91 была влита] в основную ветку и с тех пор разрабатывается в ней.
  
 
==Дополнительный функционал==
 
==Дополнительный функционал==
Строка 23: Строка 23:
 
*26 марта 2015 г. была добавлена поддержка DOS-устройств <del>({{JIRA|9370}})</del>
 
*26 марта 2015 г. была добавлена поддержка DOS-устройств <del>({{JIRA|9370}})</del>
 
*7 марта 2015 г. был добавлен файл конфигурации NTVDM <del>({{JIRA|7832}})</del>
 
*7 марта 2015 г. был добавлен файл конфигурации NTVDM <del>({{JIRA|7832}})</del>
*6 июля 2016 г. была реализована [http://code.reactos.org/changelog/reactos?cs=71830 поддержка VBE]
+
*6 июля 2016 г. была реализована [http://github.com/reactos/reactos/commit/cb085e5f4ab49b93111446cbce3984bc00fba869 поддержка VBE]
*28 августа 2016 г. была реализована [http://code.reactos.org/changelog/reactos?cs=72496 поддержка VESA]
+
*28 августа 2016 г. была реализована [http://github.com/reactos/reactos/commit/78bb2563790b8396b4bd6134d88b498199dba66a поддержка VESA]
 +
 
 +
===PIF===
 +
Расширение PIF – это ярлык, привязанный к программе MS-DOS и содержит информацию о параметрах запуска DOS-приложений, в том числе инструкцию для выполнения приложения DOS в среде Windows, а так же размер доступной памяти для использования, путь к исполняемому файлу, шрифт и тип окна, дата создания и модификации, приоритетности процесса и т.д.
 +
 
 +
.PIF – это аббревиатура от Program Information File и переводится как «информация о приложении Windows». Файл создается в момент создания ярлыка LNK к программе MS-DOS или изменения его или любого свойства программы.
 +
*{{JIRA|13545}} - Добавление поддержки PIF
 +
*{{JIRA|10291}} - Реализация поддержки PIF
 +
*{{JIRA|11607}} - PIF-файлы всегда отображаются без расширения
 +
*<s>{{JIRA|10253}}</s> - Добавить pifmgr.dll
  
 
==Скриншоты==
 
==Скриншоты==
Строка 30: Строка 39:
 
[[Файл:Ntvdm_reactos2.jpg|250px]]
 
[[Файл:Ntvdm_reactos2.jpg|250px]]
 
==Ссылки==
 
==Ссылки==
*[https://yadi.sk/d/VFA0cTPTzaTWR DOS-игры, Windows 3.11 RUS и игры для нее]
+
*[http://yadi.sk/d/VFA0cTPTzaTWR DOS-игры, Windows 3.11 RUS и игры для нее]
 
*[[Видео_про_ReactOS#NTVDM|Видео про NTVDM]]
 
*[[Видео_про_ReactOS#NTVDM|Видео про NTVDM]]
 
{{ReactOS}}
 
{{ReactOS}}

Текущая версия на 07:31, 8 декабря 2017

NTVDM в ReactOS

Обсуждение на форуме: http://reactos.org/forum/viewtopic.php?f=11&t=14558


NTVDM (NT Virtual Dos Machine) — виртуальная машина, которая в связке с WOW (WindowsOnWindows) обеспечивает запуск 16-битных программ (DOS и Win3.x) в современных версиях Windows.

Начало

Долгое время этот компонент отсутствовал в ReactOS, пока участник сообщества по имени Александар Андрейевич (Aleksandar Andrejevic) не предложил свою помощь в его реализации. 16 июня 2013 для него была создана отдельная ветка, в которой разрабатывались базовые возможности NTVDM.

Текущее состояние

На 13 марта 2014 года была реализована поддержка 486-совместимых процессоров, основного управления памятью, базовая поддержка звука и видео, 32-битного BIOS и 32-битного DOS.

Немало функций по-прежнему отсутствуют, в том числе и в вышеперечисленных функциях. Например, нет поддержки видео для VESA+ или EGA шрифтов, звук работает только через внутренний динамик ПК, а не через эмулированный SoundBlaster, также эмулятор процессора не имеет блока с плавающей точкой.

Ранее, для запуска DOS программы NTVDM нужно было запустить вручную. В настоящее время, благодаря работе проведенной в CSRSS, NTVDM автоматически запускается при открытии 16-битной программы. Так же, в дальнейшем, CSRSS будет отвечать за принятие решения, запустить новый экземпляр NTVDM или повторно использовать уже существующий. Эта особенность особенно важна для завершения и приостановки программ, которые включают в себя много игр.

В отличие от Windows, NTVDM ReactOS не устанавливает процессор в 16-битный режим эмуляции, а основывается на новой реализации заброшенного эмулятора softx86 и авторской библиотеке эмуляции процессора fast486. Преимущество подхода ReactOS, в том, что его NTVDM может использоваться на 64-битных, x86 и ARM процессорах.

6 мая 2014 года ntvdm была влита в основную ветку и с тех пор разрабатывается в ней.

Дополнительный функционал

  • 17 апреля 2015 г. был добавлен драйвер мыши (CORE-9166)
  • 26 марта 2015 г. была добавлена поддержка DOS-устройств (CORE-9370)
  • 7 марта 2015 г. был добавлен файл конфигурации NTVDM (CORE-7832)
  • 6 июля 2016 г. была реализована поддержка VBE
  • 28 августа 2016 г. была реализована поддержка VESA

PIF

Расширение PIF – это ярлык, привязанный к программе MS-DOS и содержит информацию о параметрах запуска DOS-приложений, в том числе инструкцию для выполнения приложения DOS в среде Windows, а так же размер доступной памяти для использования, путь к исполняемому файлу, шрифт и тип окна, дата создания и модификации, приоритетности процесса и т.д.

.PIF – это аббревиатура от Program Information File и переводится как «информация о приложении Windows». Файл создается в момент создания ярлыка LNK к программе MS-DOS или изменения его или любого свойства программы.

  • CORE-13545 - Добавление поддержки PIF
  • CORE-10291 - Реализация поддержки PIF
  • CORE-11607 - PIF-файлы всегда отображаются без расширения
  • CORE-10253 - Добавить pifmgr.dll

Скриншоты

Ntvdm reactos.png Ntvdm reactos2.jpg

Ссылки

ReactOS
Search.png
Доклады
О ReactOSARWINSSЧеЗа
Информация Новости Выпуски новостейПереводы блоговНовости проектаВидеоReactOS на ХабреUSB от Вадима Галянта
Разработка Руководство по программированиюОтсутствующая функциональностьВетви разработкиКомпоненты системыReactOS и WineПлан работRoadmap ядра by VgalРазработчикиСовместимость с dll WindowsНаиболее значимые изменения за годИспользуемые проектыGoogle Summer of CodeИзвестные проблемы
Порты AMD64ARMXboxPowerPC
Компоненты Файловые системыРежим совместимостиОтчеты об ошибкахПечатьUSBЯдро
Загрузчик Восстановление MBRЗагрузка из GRUBПараметры загрузки
Прочее ARWINSSПриложения в ReactOSОформление ReactOSКоординаторы"Пасхальные яйца"Монетизация
Другое Типы ядерFreeWin95
Помощь
RAM-диск ReactOS по PXEс жесткого диска
Разработка Стиль написания кодаСтандарты RC-файловРабота с документациейВенгерская нотацияGNU Indent • [ Subversion : ветвислияниеиспользование TortoiseSVN ] • Основы переводаОтправка патчей
Репорты Отладка в VirtualBoxОтладка на экранДобавление программы в менеджер приложенийОтправка отчетов
Отладка Com0comGDBKdbgRossym.gdbRoswin.gdbWinDBGРуководство по WinDBGВключение трассировки ядраКоды DPRINTУдалённый отладчик ReactOS
Сборка CMakeRBuildФайлы RBuildАвтоматическое копирование файловСборка MINGW-w64Сборка модулейСреда сборки
Тестирование VirtualBoxVMwareQEMUHyper-VНеобходимый объём дискаПеренос файлов на виртуальный дискУстановка ReactOSУстановка драйверов
Сеть Общие папкиSambaNFS
Игры Установка DirectPlay
Обновление ReactOSЗагрузочная флешкаЧем можно помочь проектуСоздание нового пользователяЗвук и сеть в VirtualBoxСъемка и публикация видеоIRC-каналСторонние компонентыFAQReactOS как рабочая станцияReactOS и UEFI
Обзоры ОболочкаNTVDMWOWCommunity EditionИстория сайтаReactOS ServerКриптографияПО времен XP