Pull to refresh
49.85
Фонд ReactOS
Операционная система

Пятнадцатый релиз ReactOS в четвертой ветке

Level of difficultyEasy
Reading time5 min
Views4.2K

Здравствуйте, дорогие друзья. Без каких-то предварительных сообщений, 21 марта 2025 года проект ReactOS выпустил новый релиз — 0.4.15. В данной статье мы рассмотрим новые функции релиза и некоторые особенности.

Данный релиз был выпущен в честь первого коммита разработчика-старожила Эрика Коля, который вступил в проект в 1999 году. В этом году он отмечает 26-летний юбилей.

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

Plug-and-Play

Виктор Переверткин сделал значительную переработку менеджера Plug-and-Play в ядре ReactOS. Благодаря этим изменениям ReactOS теперь может запускать больше сторонних драйверов и загружаться с USB-устройств.

Так же данное изменение позволяет ReactOS загружаться на чипсетах с контроллерами EHCI, OHCI и UHCI. Эта работа стала важным шагом на пути к полной совместимости ReactOS с драйверами производителей для Windows.

Йоханнес Андервальд (janderwald) решил проблему, при которой USB-драйвер зацикливался, если USB-устройство не переходило в состояние готовности. Исправление этого бесконечного цикла позволило ReactOS загружаться на большем количестве оборудования.

Аудио

Благодаря работе Олега Дубинского, в версии 0.4.15 появилось множество улучшений в аудиосистеме. Олег добавил поддержку большего числа аудиоформатов, зацикленное воспроизведение wave-файлов, более высокие частоты дискретизации и многоканальный вывод.

Кроме того, Виктор Переверткин импортировал открытый драйвер AC’97 из Windows Driver Kit (WDK). Это обеспечивает работу звука «из коробки» в VirtualBox, если виртуальная машина настроена на использование контроллера ICH AC’97 Audio, а также на ряде материнских плат до 2004 года выпуска.

Менеджер памяти и контроллер кэша

Объекты секций (Section Objects) были переработаны Жеромом Гарду (zefklop) для улучшения совместимости с Windows. Это исправило давнюю ошибку, которая мешала запуску исполняемых файлов из удалённых источников, таких как сетевые ресурсы или общие папки виртуальной машины.

Благодаря улучшениям менеджера памяти и контроллера кэша, был импортирован открытый драйвер файловой системы FAT от Microsoft из WDK. Этот драйвер файловой системы FAT — значительный шаг вперёд по сравнению с прежним: он быстрее и стабильнее. Кроме того, теперь внешние диски с файловой системой FAT можно корректно извлекать благодаря данному новому драйверу.

Восстановление и кэширование реестра

Георг Бишок (George Bișoc) (GeoB99) реализовал фундаментальные механизмы работы системного реестра. Среди них: восстановление, сброс и кэширование. Восстановление и сброс направлены на повышение стабильности системы при неожиданном отключении питания или сбоях. Механизм восстановления применяет исправления к повреждённому реестру, а сброс периодически записывает изменения на диск, чтобы они сохранялись даже при некорректном завершении работы системы. Кэширование повышает производительность при доступе к реестру.

Подсистема безопасности

Так же Георг Бишок внёс улучшения в подсистему безопасности ядра (Se). До его работы проверки доступа в ядре всегда проходили успешно, что позволяло любому процессу получить доступ к любому системному объекту. Теперь проверки доступа полностью работают и предотвращают несанкционированный доступ к системным объектам. В результате ядро Windows работает с подавляющим большинством модулей ReactOS.

Утилиты и системные инструменты

Катаяма Хирофуми МЗ (katahiromz) активно работает над улучшением удобства использования, повышением производительности и добавлением новых функций в системные утилиты, такие как

инструмент для работы с текстом в Paint и

диалоговое окно «Печать» в Блокноте.

Катаяма также улучшил редактор методов ввода (IME), который позволяет вводить символы, отсутствующие на стандартной клавиатуре, с помощью комбинаций символов. Его работа улучшила поддержку CJK (китайских, японских и корейских) языков и позволяет устанавливать собственные IME для разных регионов. Например, японская версия ReactOS теперь может использовать MZ-IME для японского ввода.

Whindmar Saksit (whindsaks) внёс ряд исправлений для повышения стабильности RAPPS, а Hermès Bélusca-Maïto (HBelusca) добавил минимальный режим отображения в RAPPS для удаления программ.

Сетевой драйвер для виртуальных машин Microsoft

В базовый комплект поставки ReactOS был добавлен драйвер сетевой карты DECchip 21140.

В аппаратном исполнении ее уже довольно сложно найти, но знаменита она тем, что используется в качестве эмулируемого сетевого адаптера в виртуальных машинах Connectix / Microsoft Virtual PC / Hyper-V

Теперь драйвер не нужно искать и скачивать, он установится сам, полностью автоматически.

Исправление бага с мерцающими окнами

Зимой случился эпичнейший баг-фикс пул-реквестом от разработчиков Julen Urizar CompainsI_Kill_Bugs и Simone Lombardo.

Баг заключался в сильном мерцании окон некоторых приложений, если в окне была гиперссылка совмещенная с изображением. Так же наблюдалась близкая к 100% нагрузка ЦПУ, что делало подверженный софт практически неюзабельным. От проблемы страдало больше десятка самых разных программ, из числа тех, о которых сообщили тестеры (потенциально же счет шел на сотни).

Например, речь идет о установщике библиотек VC++ 2008 redistributable, утилите CPU-Z, торрент-клиенте  BitComet 1.86, игре Caesar 3, стандартном установщике игр от Ubisoft и многих других...

Самому первому сообщению о баге в этом году исполнилось бы 15 лет.

Исправление функции SetParent

Ранее значительная часть интерфейса левой панели в PeaZip была невидимой или искаженной.

В Windows, использование функции SetParent для установки одного и того же родительского окна вызывает перемещение дочернего окна на верхнюю позицию в порядке слоев z-order. PeaZip вызывал функцию SetParent после каждого создания окна, пытаясь переместить окно на верхнюю позицию в порядке слоев z-order, однако ReactOS/SetParent предотвращал это. Удаление проверки на равенство идентификаторов одного и того же родительского окна помогло решить проблему.

За исправление бага возрастом в 9 лет говорим спасибо программистам проекта Doug Lyons и I_Kill_Bugs.

Это фикс потенциально может починить и другие программы, где есть проблемы с перекрытием или отображением порядка слоев.

Оболочка

В версии 0.4.15 графическая оболочка была улучшена усилиями нескольких участников проекта.

Карл Бялорукки (cbialorucki) добавил поддержку крупных значков на панели задач.

Марк Янсен (learn-more) реализовал встроенную поддержку архивов ZIP.

Даг Лайонс (DougLyons) исправил несколько ошибок, из-за которых неправильно отображались значки в таких программах, как Microsoft Office 2000, Microsoft Visual Basic 6 и Hoyle Cards.

Катаяма Хирофуми МЗ добавил поддержку значка «Интернет-браузер» на рабочем столе.


Кроме того, Whindmar Saksit внёс множество исправлений для повышения стабильности Shell32 — ключевого компонента оболочки ReactOS.

В этом выпуске мы также установили стиль оформления и обои по умолчанию — тему Mizu. Дополнительные темы оформления и обои доступны в RAPPS.

В ReactOS пофиксили одну недоработку, когда при скрытии значка на рабочем столе (Мой компьютер, Мои документы, Сетевое окружение и Корзина), тот пропадал и в проводнике и панели "Папки".

Так же, в настройках меню Пуск были реализованы мелкие значки.

Куда мы движемся?

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

Ветка 0.4.15 была создана 6 месяцев назад. С тех пор в основной ветке активно разрабатываются новые и интересные функции: поддержка UEFI, симметричная многопроцессорность (SMP),

новый графический установщик,

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

Статистика

  • Решено задач в Jira: 1 319

  • Коммитов: более 8 600

  • Самая старая решённая задача в Jira: CORE-1091 от 19 декабря 2005 года

Ссылки

Tags:
Hubs:
Total votes 37: ↑37 and ↓0+47
Comments6

Articles

Information

Website
reactos.org
Registered
Employees
51–100 employees
Location
Россия