LINUX.ORG.RU

ReactOS 0.4.16

 , , ,


1

2

После полутора лет разработки представлен релиз операционной системы ReactOS 0.4.16, нацеленной на обеспечение совместимости с программами и драйверами Microsoft Windows, а также предлагающий оформление в стиле Windows. Операционная система находится на альфа-стадии разработки. Для загрузки подготовлен загрузочный ISO-образ (198 МБ). Код проекта распространяется под лицензиями GPLv2 и LGPLv2.

После прошлого выпуска внесено 2808 изменений и закрыто 381 отчётов о проблемах.

Ключевые изменения:

  • Предложен унифицированный BootCD, сочетающий в одном iso-файле Live-окружение для ознакомления с системой и инсталлятор для установки ReactOS на постоянный носитель.
  • Добавлен графический интерфейс для установки, обновления и восстановления системы, пришедший на смену ранее предлагаемому текстовому инсталлятору. Новый инсталлятор оформлен в форме многостраничного «мастера» и оснащён редактором дисковых разделов.
  • Улучшена совместимость с проприетарными видеодрайверами. Среди прочего, устранено проседание производительности при использовании драйверов NVIDIA и решены проблемы с появлением чёрного экрана в OpenGL-приложениях при использовании драйверов AMD. Благодаря внедрению подсистем KMDF (Kernel-Mode Driver Framework) и WDDM (Windows Display Driver Model) удалось реализовать поддержку большинства видеодрайверов, доступных для Windows XP и Windows Server 2003.
  • Добавлен новый драйвер sklhdaudbus для HD Audio, построенный с использованием фреймворка KMDF (Kernel Mode Driver Framework) и позволяющий использовать любые контроллеры HD Audio, совместимые с Windows XP и Windows Server 2003. Драйвер корректно поддерживает переход в спящий режим, предоставляет возможность доступа к AudioDSP на платформах Intel и совместим с драйверами для QEMU и VMWare. Улучшено определение звуковых устройств и повышена бинарная совместимость со звуковым стеком Windows. В интерфейсе настройки звука обеспечено корректное сохранение между перезагрузками состояния ползунков громкости и баланса.
  • Реализован новый ATA-драйвер хранилища, поддерживающий работу с устройствами SATA, PATA, ATAPI, AHCI и SCSI, решивший проблемы с задержками при загрузке и совместимый с виртуальными машинами Hyper-V.
  • В утилите chkdsk реализована возможность проверки и восстановления целостности разделов с ФС FAT при использовании драйвера Microsoft FastFAT.
  • Добавлена утилита cleanmgr с графическим интерфейсом для чистки лишней информации на диске (например, очистки корзины и удаления временных файлов). Программа совместима с расширениями для утилиты Windows Disk Cleanup, определяющими логику удаления остаточных и временных файлов от сторонних программ и системы.
  • Добавлен новый драйвер DC21X4 для сетевых адаптеров DECchip 21x4, востребованный при использовании систем виртуализации, таких как Microsoft Virtual PC 2007 и Hyper-V Generation 1.
  • Добавлена поддержка асинхронных сетевых операций.
  • Реализован новый тип установки — Server Core, выступающий аналогом режима Windows Server Core для загрузки системы без графической оболочки (без explorer shell), но с полноценной подсистемой Win32 для запуска серверных программ.
  • Прекращена строгая привязка к API Windows Server 2003, что позволило начать работу по синхронизации с кодовой базой Wine 10 (ранее использовался код из Wine 2.x и 3.x). В состав включена прослойка WineVDM для запуска 16-разрядных приложений Windows.

>>> Источник: OpenNET

★★★★★

Проверено: cetjs2 ()
Последнее исправление: dataman (всего исправлений: 4)
Ответ на: комментарий от cetjs2

С совместимостью чего? По логике вещей совместимость на уровне WinXP-2003 за исключением отсутствующих систем, если они необходимы для запуска ПО.
ИМХО на данном этапе десктопная версия вызывает больше вопросов чем серверная без графики.

Нейронка подсказывает следующие сценарии использования:

Сетевые и веб-серверы
Nginx и Apache HTTP Server — Успешно запускаются и могут отдавать статические HTML-страницы или проксировать запросы на другие узлы локальной сети.

TinyWeb — Ультралегкий сервер для моментального развертывания веб-заглушек.

Базы данных (СУБД)

SQLite — Консольная утилита работает без сбоев.

MySQL / MariaDB (старые ветки 5.x) — Запускаются в виде фонового демона (mysqld) и принимают сетевые SQL-запросы.


Сценарий 1: Экономия ресурсов в виртуализации (Thin Server)

Графический интерфейс Windows «съедает» немало оперативной памяти и процессорного времени. ReactOS Server Core потребляет всего несколько десятков мегабайт ОЗУ. Это позволяет запускать легковесные изолированные микросерверы (например, прокси-сервер или тестовую БД) на слабом или устаревшем железе.

Сценарий 2: Изолированный «песочный» сервер для легаси-софта

Если в компании есть старое Windows-приложение (написанное под Windows XP / Server 2003), которое должно работать в сети круглые сутки, его опасно держать на современном сервере из-за проблем совместимости. ReactOS Server Core предоставляет для него идеальную «родную» среду обитания, изолированную от основной сети.

Сценарий 3: Стенд для автоматического тестирования (CI/CD)

Разработчики ПО под Windows используют безграфическую ReactOS для быстрой проверки своих консольных программ на совместимость с архитектурой NT. Виртуальная машина без графики загружается за 2–3 секунды, прогоняет тесты и закрывается.

Сценарий 4: Встраиваемые системы (Embedded) и терминалы

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

johndoe3
()
Ответ на: комментарий от cetjs2

Ориентация ReactOS на современный софт уровня Windows 10/11 (которую начали закладывать в версии 0.4.16) — это радикальный шаг, требующий полной перестройки архитектуры. Долгое время проект держался за стабильное ядро Windows Server 2003 (NT 5.2), так как переход на рельсы Vista/7/10 требовал полностью переписать модель графических (WDDM) и звуковых драйверов, а также внедрить сложнейший x64-стек. Но время ушло: современные компиляторы, .NET Core и библиотеки UCRT больше не поддерживают XP. Главный прорыв последних сборок — это отказ от «движущейся мишени» Microsoft в пользу интеграции с базой Wine 10.0. Именно этот слой трансляции в User-mode позволяет «обмануть» новые программы и наконец-то запустить на ReactOS браузеры на движке Chromium (через кастомный Supermium), мессенджеры вроде Telegram и Discord на фреймворке Electron, современный LibreOffice и даже игры эпохи DirectX 11 (благодаря прослойке WineD3D). Само низкоуровневое ядро ReactOS всё еще дописывается, но технический тупик эпохи Windows XP официально преодолён.

johndoe3
()
Ответ на: комментарий от johndoe3

браузеры на движке Chromium (через кастомный Supermium), мессенджеры вроде Telegram и Discord на фреймворке Electron

Без этого всего было лучше, можно не надо?

современный LibreOffice

А ему то что мешало работать на XP?

и даже игры эпохи DirectX 11 (благодаря прослойке WineD3D).

Лучше никак, чем в таком виде

mittorn ★★★★★
()

Wddm хотя бы 2.0

Иначе зачем это дрочево. Я помню маму привёл на chaos construction 2009 и мы сходили с ней в числе прочего на высталение реактосовцев. Так вот их там раздолбали в нолину. В том числе вопросом почему getversion возвращает мусор

ckotctvo
()
Ответ на: комментарий от mittorn

Без этого всего было лучше, можно не надо?

Если лично тебе это не нужно, не значит что остальным не нужно.

johndoe3
()
Ответ на: комментарий от mittorn

Современный LibreOffice (ветки 7.x / 24.x) — это уже давно не легковесный софт, а тяжелый комбайн, скомпилированный под стандарты Windows 10. Раньше в ReactOS он не запускался из-за трех конкретных вещей:

Отсутствие UCRT (Universal CRT): Офис требует современные библиотеки времени выполнения Visual Studio, которых в старой msvcrt.dll времен XP просто не было.

Графика DirectWrite / Direct2D: Новый LibreOffice использует их для отрисовки интерфейса и сглаживания шрифтов. Старый графический стек ReactOS падал при первой же попытке вызвать эти API.

Проверка версии ОС: В исполняемом файле прописана заглушка, запрещающая запуск на системах ниже Windows 7.Синхронизация с Wine 10.0 решила первые две проблемы (трансляция DirectWrite/Direct2D в OpenGL теперь работает стабильно, а UCRT завезли «из коробки»). Третью проблему решили внедрением подсистемы совместимости, которая умеет «обманывать» софт, выдавая ReactOS за Windows 7/10».

johndoe3
()
Ответ на: комментарий от Myau

Нет, конечно всякое может быть, но мне кажется написать chkdsk они бы осилили.

Хотя, возможно, я просто наивно верую в светлую силу опен-сурса)

Berliner
()
Последнее исправление: Berliner (всего исправлений: 1)

https://www.opennet.ru/opennews/art.shtml?num=66197:

После более двух лет разработки опубликован выпуск проекта WinBtrfs 1.10, развивающего драйвер для использования файловой системой Btrfs на платформе Windows. WinBtrfs не основан на коде Btrfs из ядра Linux, а является созданной с нуля альтернативной реализацией. Поддерживается работа с Windows XP и более новыми выпусками. Драйвер включён в состав операционной системы ReactOS и может применяться для загрузки Windows из раздела с Btrfs. Код написан на языках C/C++ и распространяется под лицензией LGPLv3.

WinBtrfs поддерживает большинство возможностей Linux-версии Btrfs, включая запись и чтение в асинхронном режиме, использование RAID0/1/10/5/6, кэширование, автообнаружение разделов, ACL, символические ссылки, подразделы, снапшоты, жесткие ссылки, разреженные файлы, упреждающее выделение места, сжатие, балансировку, проверку целостности данных, удаление и добавление накопителей, отправку и приём подразделов, изменение размера раздела, расширенные контрольные суммы (xhash, sha256, blake2). Из специфичных возможностей драйвера выделяется реализация альтернативных потоков данных и сопоставление идентификаторов пользователей Linux и Windows. Возможна конвертация существующих разделов NTFS в Btrfs.

Среди изменений в новой версии:

  • Добавлена поддержка записи битовых карт с информацией о свободном месте.
  • Реализована возможность сохранения мелких файлов в блоках с метаданными (inline) в сжатом виде.
  • Улучшена работа с извлекаемыми накопителями. Прекращена поддержка создания RAID-массивов на извлекаемых накопителях.
  • Повышена надёжность восстановления после ошибок, вызванных нехваткой оперативной памяти (OOM) или исчерпанием свободного места на накопителе (ENOSPC).
  • Устранены аварийные завершения, возникавшие при перемещении файлов между подразделами и при одновременном создании большого числа файлов.
  • Устранена ошибка, приводившая к повреждению дерева экстентов при записи снапшотов.
  • Исправлена взаимная блокировка при работе с жёсткими ссылками.
  • Проведён рефакторинг внутренних структур и констант для их приближения к вариантам, используемым в Linux.
  • При рецензировании изменений и разборе ошибок задействован AI-ассистент Claude, но код как и раньше создаётся исключительно вручную.
dataman ★★★★★
()
Ответ на: комментарий от johndoe3

Был ucrt под xp. Да, понадобится перелинковать чтобы его использовать, но исходники в помощь
Конечно direcwrite/direct2d на nt5, очевидно, нет, не знал, что они его используют

mittorn ★★★★★
()
Ответ на: комментарий от Berliner

Нет, конечно всякое может быть, но мне кажется написать chkdsk они бы осилили.

увы, мне до сих пор иногда приходится запускать qemu с nt4 чтобы проверять vfat диски реально исправляя ошибки, а не усугубляя их.
для ntfs же приходится использовать закрытую парагоновскую утилиту т.к мусор из ntfs-3g ничего чинить не умеет

mittorn ★★★★★
()

@Jedi-to-be , а почему при установке в VirtualBox на диск в 64 гигабайта мне предлагается только FAT32, а не Btrfs?

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от mittorn

закрытую парагоновскую утилиту

А парагоновские утилиты умеют в chkdsk? Мне всегда казалось, что функционал их утилит/драйверов в монтировании неизвестной для системы фс в r&w и на этом всё. Если действительно они умеют чинить диски то будет очень здорово, посколько можно будет иметь где-то в песочнице (flatpak или distrobox) их утилиту и не искать людей с виндой поблизости.

Berliner
()
Ответ на: комментарий от dataman

а является созданной с нуля альтернативной реализацией.

А значит есть шанс что он будет менее глючным чем дефолтный?

firkax ★★★★★
()
Ответ на: комментарий от Berliner

да, умеют. Я достал из старого андройдового apk paragon mounter статический бинарь chkufsd под x86 (там есть и под arm, но только 32битный) и он очень похож на оригинальный ntшный чекдиск, при этом реально исправляет диски, а не валится с «ой всё, грузите винду».
Наверно есть и оффициальный линуксовый пакет для некоммерческого использования, но не искал - мне андройдового хватало. Из ограничений - умеет только те фс, что и сам ufsd, так что для vfat/exfat всё ещё нужно что-то другое
Так же в apk лежит fuse драйвер ufsd, тоже статический и пригодный для линуксов, работает быстрее и лучше, чем ntfs-3g

mittorn ★★★★★
()
Ответ на: комментарий от firkax

да. но ещё есть шанс что придётся потом месяц мучать диск восстановлением extent tree после очередного бага

mittorn ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.