Хабрахабр

ReactOS 0.4.11 — на сотню приложений больше

Привет, Хабр!

И мы не теряли времени даром. Уверен, что вы уже успели соскучиться по новостям от нашего проекта! В ней исправлено 135 бага, сделано 984 изменения в исходном коде и красивая анимация загрузочного экрана. Прошлый релиз ReactOS вышел всего каких-то три с половиной месяца назад, а сегодня вы уже сможете скачать и протестировать следующую версию нашей операционной системы.

Скачать образы системы | Пресс–релиз | Список изменений | TL;DR | Тесты и список регрессий

image

4. При работе над версией 0. Одновременно с этим мы очередной раз значительно снизили число ситуаций, приводящих к BSOD'ам и зависаниям системы. 11 мы сделали упор на исправление ошибок совместимости приложений, и в результате мы смогли увеличить количество совместимых программ на добрую сотню, если не больше. Есть и множество других изменений, но обо всем по порядку.

— Стартуем! Я сказала — стартуем!

Первое, что стоит отметить — мы подшаманили лоадер. Лоадер (LDR) — это такой компонент, который помогает приложению запуститься. Он, в частности, читает манифест-файлы для исполняемых файлов и библиотек, вычисляет необходимые модули и зависимости для запускаемого приложения, находит их на диске в местах предполагаемого размещения и загружает в память в правильном порядке.

image

На Хакфесте в Берлине летом 2018 Марк Дженсен по моей просьбе решил с этим разобраться. В прошлых версиях ReactOS библиотеки MSVC++ 2005/2008 слишком хорошо прятались в системе и лоадер их не всегда находил, особенно в ситуациях когда в последовательности загрузки попадалось несколько манифест-файлов подряд. 4. И вот с релизом 0. Улучшенная поддержка манифестов позволила добиться в ReactOS работоспособности около сотни новых приложений, таких как Blender 2. 11 безобразию окончательно пришел конец, и теперь ни одной необходимой библиотеке «не убежать» от лоадера. 8. 57b, Bumptop, Evernote 5. 7. 3, Deluge torrent и Quicktime Player 7. 9.

Грандиозным примером этого достижения служит картинка выше и данный скриншот:

image

Раньше он падал с ошибкой, иногда вовсе вызывал BSOD, или просто отказывался работать по описанной выше причине, теперь же времена поменялись… На нем вы можете наблюдать работу популярного драйверпака Snappy Driver installer (SDI) в ReactOS.

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

Однако, мы продолжим работать над улучшением и этой ситуации. Сразу оговорюсь, что далеко не все драйвера из SDI установятся штатно, в основном только сетевые карты, и некоторые видеокарты.

— Так, стопэ! Тормоза нужны не только лишь трусам...

Ранее в нескольких прошлых релизах ReactOS тестеры сталкивались со значительными трудностями, когда дело касалось попыток использования .NET-приложений. Приложения, написанные на основе фреймворка .NET версии 2.0/4.0, работали только один раз, а при закрытии вызвали хаос и заставляли систему в состоянии берсерка причинять самой себе повреждения.

4. В версии ReactOS 0. Суть в том, что с точки зрения стабильности системы правильная остановка приложения так же важна, как и правильная последовательность инициализации при запуске, ведь при остановке программы освобождаются ранее выделенные ей ресурсы. 11 мы наконец вычислили и побороли проблему, из–за которой это происходило.

Особенно это касалось приложений, построенных по клиент–сервисной архитектуре. Выяснилось, что механизм, ответственный за завершение приложений в ReactOS, зачастую не ожидал достаточно времени, пока приложения самостоятельно правильно завершат свою работу. Тривиальный баг–фикс от Яниса Адамопулоса, разрешил эту конкретную проблему, мгновенно добавив в арсенал ReactOS поддержку десятков, если не сотен, популярных dotNET–приложений.

image

4. В качестве примера скриншот с nLite 1. 3 — утилитой для «гаражной» переборки дистрибутивов Windows XP. 9.

Столпотворение вавилонское

Наконец, следует напомнить, что не весь мир использует стандарт отображения текста слева направо как английский и другие языки, основанные на латинице. Многие, такие как иврит и арабский, используют ориентацию справа налево. Поддержка ReactOS для этого типа отображения текста была впервые официально продемонстрирована в релизе 0.4.10, но по-прежнему продолжает дорабатываться. Существенный прогресс был достигнут благодаря усилиям Баруха Рутмана, по адаптации библиотеки USP10 и код поддержки двунаправленного ввода из Wine в ReactOS. Конечно, еще предстоит проделать немалую работу, но характер разработки проекта с открытым исходным кодом заключается в применении итеративного подхода, с постепенными пошаговыми изменениями.

image

Шведский стол из улучшений

Если говорить о борьбе с BSODами, стоит вспомнить, что Марк Дженсен выявил проблему с инициализацией полосы прокрутки, исправление которой добавило еще целый спектр приложений в библиотеку совместимых c ReactOS программ. Речь к примеру идет об игре Civilization II Multiplayer Gold Edition (32bit) версии 1.3, показанной на скриншоте ниже, и других программах вроде IceChat 7.63.

image

Внесенные изменения в компоненты TCP/IP позволяют использовать netstat, PortExpert и другие необходимые приложения сети. Сетевой стек был вновь подвергнут модернизации, в процессе добавлен функционал мониторинга и перечисления сетевых соединений.

image

Драйвер RAM-диска получил значимые исправления, благодаря чему обеспечена возможность полноценной установки ОС по сети с использованием протокола PXE (ранее был возможен только вариант с запуском LiveCD).

image

Сизифов труд «отдела качества»

По мере того, как стабильность функционирования ReactOS продолжает расти, широта и глубина необходимого тестирования также увеличиваются, хотя бы потому, что растет число доступных приложений для тестирования. С этой целью Йоахим Хенце со своей обычной методичностью и настойчивостью работал над тем, чтобы обеспечить правильный баланс для этого релиза с точки зрения стабильности и появления в нем новых/улучшенных функций. Несмотря на то, что всегда соблазнительно вносить в релиз все самые важные и значимые изменения и исправления, следует помнить, что каждое такое изменение влечет за собой определенную степень риска регрессий. Способность взвешивать этот риск с оценкой вероятных выгод — то, что делает таких специалистов по обеспечению качества, как Иоахим, неоценимыми для любого проекта со стремительно возрастающей сложностью.

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

Финальный аккорд

Вы вдруг захотели поставить ReactOS первый раз в своей жизни? Обязательно прочтите этот мануал по установке системы.

Ждем ваших комментариев и мнений! Вам понравился этот релиз? Не забывайте, что вы можете помочь проекту не только пожертвованиями, но и просто поставив ему звездочку на гитхабе!

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть