![](https://habrastorage.org/getpro/habr/upload_files/06b/032/d5e/06b032d5e9f5d07afe349e70486a7b17.png)
16 декабря сего года, команда разработчиков ReactOS, спустя долгое время после последнего релиза (с последнего прошло почти полтора года) выпустила новую версию под номером 0.4.14. Это все еще альфа-версия.
Выпуск релиза так долго задерживался из-за соблюдения принципа, что число известных регрессий не должно быть больше, чем в предыдущем релизе. При этом, исправлять регрессии весьма трудная задача, а так как желающих заниматься этим добровольцев было мало, а число обнаруженных тестерами регрессий периодически увеличивалось, это и повлияло на сроки выхода новой версии.
В данной статье мы рассмотрим основные новшества как со стороны разработчиков, так и со стороны сообщества.
Новости от разработчиков
"Отправить в..." и улучшение проводника
![](https://habrastorage.org/getpro/habr/upload_files/8d2/3c7/a20/8d23c7a203302bdd55178f9ce0e8ca0a.png)
В проводник добавили функцию "Отправить в...", позволяющую отправлять файлы и каталоги в указанные места, такие как раздел "Мои Документы", "Рабочий стол" или в "Сжатую zip-папку".
![](https://habrastorage.org/getpro/habr/upload_files/831/98f/82f/83198f82fa44083b616aa40105207fca.png)
В контекстное меню рабочего стола добавлены команды "Открыть расположение объекта" и "Командная строка" для открытия каталога с выбранным файлом в файловом менеджере и открытия командной строки с указанным каталогом.
Решены проблемы с прокруткой, улучшены некоторые COM-интерфейсы (Component Object Model) и устранены регрессии в реализации drag&drop.
Улучшен диалог безопасного извлечения устройств, в котором теперь показываются подключенные устройства.
![](https://habrastorage.org/getpro/habr/upload_files/c1f/6ea/905/c1f6ea90540d6a7fc756fc356b7193f3.png)
Улучшения ICMP
В сетевом стеке улучшена поддержка протокола ICMP (Internet Control Message Protocol), реализация которого ранее была не полной. В новой версии появилась поддержка вызовов IOCTL_ICMP_ECHO_REQUEST и полностью переписаны все процедуры Icmp*.
Улучшения ядра
Была продолжена работа по устранению ошибок и повышению стабильности ядра системы. Внесены улучшения и переписаны некоторые части менеджера памяти, началась работа над реализацией поддержки PAE (Physical Address Extension). Из кодовой базы Wine перенесён код для обработки исключений в CRT (C Run-Time).
В драйвере PnP (classpnp.sys) исправлены ошибки, мешавшие нормальной работе устройств хранения. В подсистеме ввода/вывода улучшено взаимодействие с устройствами. Устранена серия уязвимостей, вызванных переполнениями буфера.
Добавлена начальная реализация библиотеки Resource Arbiter, которая может использоваться для разрешения конфликта доступа к ресурсам в драйверах в различных шинах, таких как PCI. Также добавлен код для отладки работы PnP и менеджеров ввода/вывода. В менеджере PnP обеспечена поддержка сопоставления возможностей устройств с флагами, отражающими эти возможности.
Обновлён отладчик ядра и связанные с ним модули. В интерактивном отладчике KDBG улучшена работа команд cregs и tss, переписан код обработки TSS. Завершена реализация отладочных фильтров.
NetKVM VirtIO
В состав включён драйвер NetKVM VirtIO, позволяющий ускорить выполнение сетевых операций в окружениях, работающих под управлением систем виртуализации на базе QEMU и KVM. Ранее его приходилось ставить вручную, а теперь он доступен "из коробки".
Другие улучшения
Улучшена работа загрузчика FreeLoader, в котором появилась возможность загрузки 64-разрядных систем на базе ядра Linux и решены проблемы с чтением из Ext2. Устранены сбои при загрузке в отладочном режиме. Добавлена эмуляция ARC, необходимая для поддержки оборудования NEC PC-98. Улучшена поддержка загрузки на устройствах Xbox.
Обновлены реализации экранной клавиатуры и инструментов для людей с ограниченными возможностями (переобразовали диалог в обычное окно; текст кнопок теперь соответствует выбранной раскладке клавиатуры, а не системному языку; кнопки обновляются автоматически при переключении раскладки (и при нажатии Shift / Capslock; обновление наиболее надежно, когда клавиатура сфокусирована; и пр.)
![](https://habrastorage.org/getpro/habr/upload_files/7ec/0f3/c66/7ec0f3c66ceb0c062b850823082fe241.png)
Продолжена работа над драйвером ISA PnP, обеспечивающим определение устройств на шине ISA.
Исправлены ошибки в модуле comctl32 (Common Controls), мешавшие нормальному отображению установщика Visual Basic 6.
Удалены устаревшие шрифты, что привело к небольшому увеличению производительности, снижению потребления ОЗУ и сокращению размера системных образов.
![](https://habrastorage.org/getpro/habr/upload_files/8a6/d29/b7d/8a6d29b7d1ca2dc082ba547164864132.png)
Осуществлена синхронизация с кодовой базой Wine Staging 4.18 и обновлены версии сторонних компонентов: mpg123 1.25.13, libjpeg 9d, mbedtls 2.7.14, libtiff 4.1.0, ACPICA 20200326, BtrFS 1.7.2, glu32 9.0.1. Обновлён список корневых сертификатов.
Удаление неподдерживаемых файловых систем
Из ReactOS удалена поддержка файловых систем ReiserFS и UFS. Причиной удаления стала неподдержка апстрима драйверов и полузаброшенное состояние самих файловых систем.
Новости от сообщества
UEFI
Участник сообщества ReactOS Illen составил рабочую инструкцию как с помощью свободной и opensource альтернативы winload.efi - Quibble - загрузить ReactOS через UEFI. На нашей русскоязычной вики есть перевод.
Freeldr + DOS/Win9x
Участник сообщества ReactOS Manuel сообщает, что после доработки freeldr - загрузчика ReactOS - и закрытия соответствующих багов, он находит установленные рядом FreeDOS/MS-DOS/Win9x и добавляет их в меню.
![](https://habrastorage.org/getpro/habr/upload_files/f03/75f/9c8/f0375f9c8bb973b8de68ff31f8a2f718.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/049/4d1/a86/0494d1a8666bf7dba21f147dff4f360f.jpg)
Chrome
![](https://habrastorage.org/getpro/habr/upload_files/2fb/3d1/a77/2fb3d1a773dd49a82969e0d2a7c1821b.jpg)
Участник сообщества @The_DarkFire__ запустил в ReactOS Google Chrome 49 - последнюю версию, доступную для Windows XP.
BeOS 5 PE
![](https://habrastorage.org/getpro/habr/upload_files/ae6/106/48e/ae610648e9f545ff04a275677a77fb4d.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/d3b/e9f/3f0/d3be9f3f0700f942d89d72816f9b7881.jpg)
Один из участников сообщества установил и запустил из под ReactOS BeOS 5 Personal Edition.
Запуск ReactOS с CF-карты
![](https://habrastorage.org/getpro/habr/upload_files/3c2/715/71f/3c271571f8448e3384905029904fcc07.jpg)
Один из участников сообщества @tommi117 прислал новость:
"HP Pavilion 15 с разбитым экраном и неисправным жестким диском. Моя CompactFlash-карта Trippleboot с Win7 (0x7b) не запускается с USB, но ReactOS таким образом загружается нормально. Я даже могу установить родное разрешение экрана."
SMP
На последнем GSoC один из студентов начал реализацию многопроцессорности и многоядерности в ReactOS.
Один из участников сообщества @The_DarkFire поделилися видео с тестом:
Dsound.dll
Один из участников сообщества, а теперь еще и разработчик Олег Дубинский работает над реализацией Dsound.dll библиотеки реализующей DirectSound, необходимой для вывода звука в разных играх и программах.
Видео, загруженно в VK и Хабр вставить его не дает. Поэтому прикрепляю ссылками:
-https://vk.com/wall-1086956_86128
-https://vk.com/wall-1086956_86336
WOW16
Совсем недавно, месяц назад, в систему была добавлена поддержка WOW16 на основе Winevdm. В первых тестах участники правили реестр для запуска программ, а сейчас система автоматически запускает 16-битные программы если Winevdm установлен.
![](https://habrastorage.org/getpro/habr/upload_files/c08/d30/13f/c08d3013ff26f445dae600131497312e.jpg)
Программы и игры
Заключение
Скачать релиз можно по ссылке с sourceforge.net, как BootCD, так и LiveCD.
Вам понравился этот релиз? Ждем ваших комментариев и мнений! Не забывайте, что вы можете помочь проекту не только пожертвованиями, но и просто поставив ему звездочку на гитхабе!
Вы вдруг захотели поставить ReactOS первый раз в своей жизни? Обязательно прочтите этот мануал по установке системы. Если у вас остались вопросы, то мы с радостью ответим на них в нашем чате.