Interested Article - ReactOS

ReactOS — международный проект свободной и бесплатной операционной системы с открытым кодом , совместимой с приложениями и драйверами Windows ( Windows NT версии 5.x и выше — Windows 2000 и далее), при этом не являющейся точным клоном Windows. Разработчики ReactOS сотрудничают с разработчиками Wine и MinGW .

По состоянию на апрель 2021 года проект всё ещё находится на незавершённой стадии альфа-тестирования , но многие приложения Windows (например, Adobe Reader 6.0, OpenOffice.org ) в системе уже работают.

Различные части системы лицензированы под GNU GPL , GNU LGPL и лицензией BSD .

Элементы системы в основном созданы на языке программирования Си , а некоторые из них, такие как ReactOS File Explorer, написаны на C++ . ReactOS частично покрывает возможности Windows API и имеет версию, портированную для архитектуры AMD64 . Проект ReactOS, как часть экосистемы свободных программ , сотрудничает со многими другими FOSS-проектами , в первую очередь, с проектом Wine Project, который разрабатывает программу Wine для Unix-подобных операционных систем , которая могла бы открывать приложения Windows .

История

В начале 1996 года группа разработчиков свободного программного обеспечения объявила о начале проекта FreeWin95 , целью которого была разработка свободного клона системы Windows 95 . Проект остановился на дискуссиях об архитектуре системы . К концу 1997 года проект всё ещё не принёс никаких результатов. Чтобы оживить проект, цель изменили на клонирование Windows NT , а новое название придумал Джефф Кнокс — ReactOS . В феврале 1998 года проект стартовал.

Пожертвования ReactOS

По состоянию на конец 2010-х годов разработчики трудятся над компонентами системы. В связи с отсутствием спонсора и немногочисленностью команды разработчиков активность проекта невысока.

Многозадачность ReactOS

Несколько раз предпринимались попытки портировать ReactOS на различные архитектуры, но на текущий момент поддерживаются только версии для x86 и x86-64 .

Релиз ReactOS 0.4.7, вышедший 6 декабря 2017 года , стал седьмым выпуском, подготовленным после перехода проекта к более оперативному формированию релизов — не раз в год, а раз в три месяца и первым после перехода проекта с Subversion на Git и GitHub .

Ответвления

С использованием открытости системы периодически создаются форки на основе ReactOS, которые спустя некоторое время после создания, как правило, забрасываются .

  • Ekush OS (2004)
  • ReactOS Server (2008—2013)
  • OpenROS (2013)
  • FusionOS (2013)
  • ReactOS NG (2015) — направленный на совместимость с Windows 8
  • Greentea OS (2016—2018) — направлен на ускорение/упрощение разработки

WooS

В 2011 году, в качестве попытки привлечь инвестиции, предполагался выпуск коммерческой версии ReactOS под брендом WooS (подобно тому как Red Hat является коммерческой версией Fedora ), которая позиционировалась авторами как альтернатива легковесной Windows XP , утратившей поддержку корпорацией Microsoft .

ReactOS Community Edition

Новая оболочка ReactOS

В апреле 2014 ReactOS анонсировала Indiegogo -кампанию по сбору денег для запуска ReactOS Community Edition, базирующийся на ReactOS-0.4. Данной кампании необходимо было собрать 50 000 $ для разработки. Предполагалось, что она будет поддерживать приложения и драйвера для многих устройств. 1 июня 2014 кампания завершилась с итогом в 25 141 $ .

ReactOS Hackfest

Проект ReactOS организовал хакатон с 7 по 12 августа 2015 в немецком городе Ахен .

Второй хакатон был организован с 14 по 18 августа 2017 в немецком городе Кёльне .

Третий и четвёртый хакатоны были организованы в Берлине с 16 по 21 августа 2018 , и с 15 по 20 августа 2019 соответственно.

Google Summer of Code

Проект восемь раз принимал участие в Google Summer of Code — в 2006 , 2011 и с 2016 по 2022 год .

Функциональность

Поддержка печати в ReactOS.

По состоянию на май 2016 года была проделана работа над совместимостью с аппаратной частью, многие API были реализованы для высокоуровневой разработки, графическая оболочка ReactOS — ReactOS Explorer — была переписана в соответствии с проводником Windows Server 2003 .

Начиная с версии 0.2, ReactOS способна запускать многие Win32 -приложения: как поставляемые с Windows (текстовый редактор « Блокнот », редактор реестра Regedit, командный интерпретатор cmd), так и сторонние (например, текстовый процессор AbiWord , Adobe Reader , OpenOffice.org , свободный архиватор PeaZip , игры Quake , Quake II и клон игры сапёр , использующий Wine ).

Сообщается, что некоторые игры, например Unreal Tournament и Deus Ex , работают в режиме программного рендеринга . OpenGL работает с незначительными трудностями посредством драйвера Nvidia или программной реализации Mesa 3D . В начале 2016 года удалось запустить игру Half-Life 2 , использующую DirectX 9 .

Во время ReactOS Hackfest 2015 была показана поддержка печати.

В 2015—2017 годах была расширена поддержка файловых систем. Кроме FAT32 и CDFS, в ReactOS была добавлена поддержка NTFS (только чтение), Ext2, BtrFs, ReiserFS, UFS, UDF, NFS и ISO. .

На Google Summer Of Code 2018 Виктор Переверткин добавил возможность загрузки ReactOS с BtrFS.

История версий

Начиная с версии 0.2.8 ассортимент выполняемых приложений был расширен. В частности, нормально работают офисный пакет OpenOffice.org , игры Unreal Tournament и Deus Ex . Ведётся работа над улучшением поддержки звуковых карт и USB . Работает текстовый браузер Lynx и DCOM -компонент браузера Mozilla Firefox , позволяющий графически отображать страницы. Добавлена поддержка файловой системы ext2 и системного загрузчика GRUB , что позволяет ReactOS работать на одном компьютере с Linux . Началась работа над Plug and Play и над поддержкой Windows Driver Model .

Версия Дата выхода Информация о версии
0.0.7 20 июля 1998 Первый выпуск
0.0.8 24 августа 1998 Добавлена начальная поддержка юникода.
0.0.9 28 августа 1998 Исправления в менеджере памяти; Улучшения в менеджерах объектов и ввода-вывода
0.0.10 5 сентября 1998 Начат драйвер IDE ; Переписана часть менеджера памяти; Исправлена загрузка модулей; Внесены исправления в DPC и драйвер клавиатуры
0.0.11 13 сентября 1998 Исправления ошибок; Улучшена поддержка файловых систем
0.0.12 4 октября 1998 Начальная поддержка многозадачности; Исправления в системных вызовах; Исправлена компиляция библиотеки kernel32; Исправлена ошибка с неверным сегментом состояния задачи ; Добавлена поддержка секций; Начата реализация APC
0.0.13 9 ноября 1998 Исправление ошибок
0.0.14 6 июня 1999 ReactOS полностью перешла на формат исполняемых файлов PE
0.0.15 20 января 2000 Значительные улучшения в ядре системы
0.0.16 4 августа 2000 Повышена стабильность ядра; Значительные улучшения в системных библиотеках; Работа с консолью вынесена в CSRSS ; Значительно переделана консоль; Начата реализация именованных каналов ; Улучшены драйвера VGA и FAT , HAL , менеджер ввода-вывода, менеджер памяти; Улучшена поддержка LPC
0.0.17 9 февраля 2001 Начата реализация сканирования шины PCI ; Добавлена основная поддержка NDIS 3.0; Добавлена поддержка multiboot; Начата реализация указателя мыши
0.0.18 1 августа 2001 Начата реализация DIB; Начата реализация Plug and Play для шины ISA ; Реализована поддержка прямого доступа к памяти
0.0.19 5 марта 2002 Слой аппаратных абстракций отделён от ntoskrnl ; Добавлена поддержка структирированной обработки исключений ; Завершена поддержка виртуальной памяти; Исправления в драйвере шины PCI ; Начата работа над подсистемой POSIX
0.0.20 6 августа 2002 Исправления в реестре; Исправления в системе управления потоками; Реализован новый механизм монтирования; Значительные улучшения в драйверах файловых систем; Начата работа над поддержкой подсистемы OS/2 , улучшена подсистема POSIX; В загрузчик добавлена поддержка LBA
0.0.21 31 октября 2002 Исправления в менеджере памяти, менеджере объектов; Начата работа над загрузкой с CD-диска; Значительные улучшения в win32k; Начата реализация драйвера для сетевых карт NE2000
0.1.0 1 февраля 2003 Первая версия, которая могла загружаться с CD-диска; Первая версия, в которой ReactOS может быть скомпилирован в ReactOS; Значительные улучшения в ядре
0.1.1 30 марта 2003 Улучшен диспетчер ввода-вывода; Значительные улучшения в win32k
0.1.2 2 июля 2003 Улучшения в коде, используемом драйверами, позволившие использовать некоторые сторонние видео драйверы
0.1.3 30 августа 2003 Улучшения и исправления ошибок в win32k
0.1.4 8 октября 2003 Начата реализация OpenGL и драйвера для файловой системы NTFS ; Улучшено ядро
0.1.5 13 ноября 2003 Проведена подготовительная работа для поддержки DirectDraw ; Переписан драйвер PS/2-мыши ; Реализована графическая консоль; Улучшена поддержка DMA
0.2.0 25 января 2004 Первая версия с работающим графическим интерфейсом пользователя ; Значительные улучшения практически во всех компонентах системы; Начата работа над драйвером VBE ; Драйвер CD-дисководов поддерживает смену диска в дисководе
0.2.1 3 марта 2004 Исправления ошибок
0.2.2 27 апреля 2004 Стало возможно запустить AbiWord и IrfranView . Использование видеодрайвера VBE .
0.2.3 26 июня 2004 Улучшения в ядре, win32k и сетевой подсистеме
0.2.4 13 сентября 2004 Множество улучшений, связанных с отладкой как системы, так и отдельных приложений; Исправлено большое количество ошибок
0.2.5 2 января 2005 Добавлен блокнот из Wine , добавлено приложение время/дата
0.2.6 9 апреля 2005 Поддержка ускорения для NVIDIA OpenGL
0.2.7 21 августа 2005 Новая командная строка , добавлена первая стадия установщика
0.2.8 29 октября 2005 Переписан CSRSS ; ReactOS может определять, работает ли он внутри виртуальной машины VMware , и устанавливать SVGA -драйвер из набора VMware Tools ISO для повышения производительности графики
0.2.9 22 декабря 2005 Исправления ошибок
0.3.0 27 августа 2006 Первая версия, официально поддерживающая работу с сетью
0.3.1 10 марта 2007 Добавлен менеджер приложений, начато переписывание ядра; Улучшен загрузчик системы
0.3.2 пропущен Была создана ветвь кода, однако эта версия так и не была выпущена
0.3.3 12 сентября 2007 Улучшения в ядре и win32k
0.3.4 22 января 2008 Переписана поддержка реестра и технологии Plug and Play, добавлена поддержка технологий SSE и SSE2, проведена большая работа по переводу системы; Начата работа по поддержке удалённого вызова процедур
0.3.5 30 июня 2008 Исправления ошибок в загрузчике системы, исправлено множество критических ошибок во всех разделах ядра, переписан код ранней инициализации менеджера памяти
0.3.6 7 августа 2008 Исправления ошибок и устранение утечек памяти в сетевом стеке; Множество исправлений и улучшения в ядре; Проведена синхронизация большей части кода wine, используемого в ReactOS с последней версией wine; Улучшения в ARM-версии, начата работа над x86-64 версией;
0.3.7 4 ноября 2008 Улучшена поддержка x86-64 ; Значительные улучшения в Менеджере конфигурации, Менеджере ввода-вывода, функциях ядра, Менеджере памяти, Менеджере объектов, Менеджере процессов; Исправления в драйверах файловых; Проведена синхронизация большей части кода wine, используемого в ReactOS с последней версией wine
0.3.8 4 февраля 2009 Исправления ошибок и улучшения в базовых сервисах ядра; Введён PSEH; Исправлена поддержка жёстких дисков с несколькими разделами в LiveCD; Решён ряд проблем в системных драйверах
0.3.9 26 апреля 2009 Минимально необходимо 24 МБ оперативной памяти, добавлена начальная поддержка звука; Решены различные проблемы NDIS и AFD, что улучшило совместимость с драйверами сетевых карт; Проведена синхронизация большей части кода wine, используемого в ReactOS с последней версией wine
0.3.10 5 июля 2009 Добавлены начальная поддержка SATA , USB-клавиатур/мышек, возможность работы с разделами размером больше 8 гигабайт; Существенно улучшена поддержка сетевых карт; Проведена синхронизация большей части кода wine, используемого в ReactOS с последней версией wine
0.3.11 16 декабря 2009 Переписан kdcom; Добавлены шрифты для китайского и корейского языка; Улучшена совместимость; Улучшена поддержка звука; Проведена синхронизация большей части кода wine, используемого в ReactOS с последней версией wine
0.3.12 20 октября 2010 Переписаны обработчики ловушек, таймеров и событий; Добавлена поддержка немаскируемого прерывания ; Улучшена поддержка технологии PnP; Заменён драйвер шины PCI на более совершенный
0.3.13 22 марта 2011 Полностью переписан диспетчер кучи, в него были добавлены дополнительные возможности отладки для обнаружения доступа к памяти вне границ выделенного для производимой операции блока; Увеличено количество поддерживаемых SATA-устройств; Исправлены проблемы с графикой; Добавлена возможность динамической смены видеорежима и улучшена совместимость видеодрайверов; улучшено управление линиями аудиомикшера; Улучшена обработка данных от мыши, а также поддержка сообщений и таймеров; Произведено множество улучшений в диспетчере памяти.
0.3.14 7 февраля 2012 ACPI включён по умолчанию, Добавлены поддержка Wi-Fi (незащищённый и с WEP -шифрованием), поддержка тем оформления, новый драйвер TCP/IP (на базе библиотеки LwIP ), поддержка Scatter/Gather DMA, переписан shell32
0.3.15 30 мая 2013 Начальная поддержка USB-клавиатур, мышей, а также устройств хранения данных; Полностью переписанная подсистема управления сессиями; Добавлена поддержка AHCI за счёт обновления драйвера UniATA; Новый диспетчер памяти принял на себя почти все функции по управлению памятью; Начальная поддержка отладки компонентов ReactOS при помощи windbg; Улучшения, созданные на основе результатов тестирования системы при помощи среды тестирования приложений AutoHotKey; Исправления ошибок, найденных по результатам сканирования утилитой Driver Verifier во встроенных драйверах.
0.3.16 6 февраля 2014 Переписан CSRSS , начато переписывание shell32, улучшена поддержка тем оформления. В состав системы добавлен новый драйвер для сетевых карт на основе чипа RTL8139. Обновлён драйвер UniATA.
0.3.17 5 ноября 2014 Включение в состав системы NTVDM — эмулятора, обеспечивающего поддержку большого количества 16-битных приложений; устранение багов; ReactOS успешно загружается в Virtual PC 2007
0.4.0 16 февраля 2016 Улучшения в shell32, достаточные для нормальной работы новой версии ReactOS Explorer, переход на новую версию ReactOS Explorer; Улучшения в драйверах USB, звуковой и сетевой подсистемах; Поддержка файловых систем ext2/3/4 как на чтение, так и на запись; Поддержка файловой системы NTFS для чтения; Улучшения в работе на виртуальных машинах, в том числе в поддержке гостевых дополнений .
0.4.1 17 мая 2016 Значительное улучшение поддержки SxS и Microsoft Visual C++ Redistributable Packages ; Улучшение поддержки драйверов видеокарт . Поддержка файловой системы Btrfs .
0.4.2 16 августа 2016 Обновление внешних зависимостей (WINE, UniATA), исправления в графической оболочке и файловом проводнике, поддержка чтения и записи разделов с файловыми системами ReiserFS и UFS, добавлен набор утилит unixutils.
0.4.3 16 ноября 2016 Осуществлён переход на новую библиотеку с реализацией API Winsock. Исправлено более 200 ошибок .
0.4.4 16 февраля 2017 Обновлён русский и турецкий перевод, добавлен японский язык, исправлено более 100 ошибок .
0.4.5 18 мая 2017 Усовершенствована графическая подсистема, обеспечен запуск MS Office 2010, добавлена базовая реализация NTLM .
0.4.6 1 сентября 2017 Увеличена надёжность работы с буфером обмена. Закрыто 399 отчётов об ошибках .
0.4.7 6 декабря 2017
  • ReactOS 0.4.7 стал первым выпуском после перехода проекта с Subversion на Git и GitHub ;
  • Улучшена поддержка подключения стилей оформления, созданных для Windows XP . Многие темы оформления для Windows XP теперь могут применяться в ReactOS;
  • Включена поддержка дополнений к Shell для обработки файлов;
  • Добавлен новый интерфейс установки приложений (ReactOS Application Manager), в котором появилась поддержка пакетной установки сразу нескольких программ, фоновой загрузки приложений, отображения прогресса выполнения операций, режима принудительного обновления (force update). Добавлена новая категория с установленными программами, расширена информация о приложениях;
  • Улучшена совместимость с играми и приложениями;
  • Расширено число поддерживаемых файловых систем, в ReactOS теперь можно использовать Ext2 , Ext3 , Ext4 , BtrFS , ReiserFS , FFS и NFS . Кроме того, для ReactOS реализован открытый вариант утилиты fsutil, которая была представлена в Windows 2003 и может использоваться для отладки и получения дополнительных сведений о работе ФС;
  • Проведена работа по приближению процесса отрисовки к поведению Windows;
  • Устранены проблемы в реализации буфера обмена;
  • Налажено удаление файлов при их перемещении в корзину. Устранена порция проблем в работе корзины и интерфейса Drag and Drop ;
  • Устранены недоработки при построении диаграммы, отображающей размер свободного места в ФС;
  • В драйвере CDFS/ISO-9660 обеспечена возможность установки ISO-образа с любого накопителя, не обязательно связанного с CD;
  • Обеспечена корректная проверка конца отражённых в память блоков и выравнивания физических адресов;
  • Осуществлена синхронизация с кодовой базой Wine Staging 2.16 и обновлены версии сторонних компонентов: acpica 20170728, libpng 1.6.32, mpg123 1.25.6, mbedtls 2.6.0, btrfs 1.0.1, mkisofs 2017-09-07.
0.4.8 14 апреля 2018
  • Предоставлена экспериментальная возможность запуска приложений, написанных для Windows NT 6.0+ ( Windows Vista , Windows 7, Windows 8 , Windows 8.1, Windows 10 );
  • Переписаны настройки и диалоги панели задач (Taskbar), что позволило добиться работы таких опции, как автоматическое скрытие панели, фиксация содержимого и постоянное удержание панели поверх другого контента;
  • Решены проблемы в системе вывода уведомлений, обеспечена корректная поддержка всплывающих уведомлений;
  • В системном лотке обеспечено автоматическое скрытие пиктограмм завершивших свою работу процессов, даже в случае краха приложения;
  • Добавлена возможность выделения сразу нескольких пиктограмм на рабочем столе;
  • Повышена надёжность выполнения операций удаления и переименования каталогов и файлов;
  • В командном интерпретаторе появилась поддержка автодополнения ввода;
  • Добавлена возможность отмонтирования сетевых накопителей, непосредственно из файлового менеджера;
  • Решены проблемы с перерисовкой текстовых элементов, полос прокрутки и подсказок для кнопок;
  • В состав включён инструмент, напоминающий DrWatson32 и позволяющий в случае краха приложения, сохранить файл с логом состояния на рабочем столе. В логе отражены данные, полезные для диагностики краха, например, списки загруженных модулей и потоков, трассировки стека, дампы и сведения о состоянии регистров;
  • Решены проблемы с инициализацией в некоторых играх, проявляющиеся при использовании родных графических драйверов;
  • Устранено несколько проблем в системе управления кэшем (Common Cache) и загрузчике Freeloader, что позволило обеспечить загрузку на системах с 96 Мб ОЗУ;
  • В системе управления кэшем добавлена поддержка упреждающего чтения (Read Ahead) и отложенной записи (Lazy Writing);
  • Устранены проблемы в обработчике PNP IRP, которые мешали загрузке ReactOS на очень старом оборудовании и в виртуальных машинах с подключенным пустым флоппи-приводом. Добавлены виртуальные драйверы CD-ROM и флоппи-привода;
  • Драйвер CDFS (CD-ROM file system) был заменён на оригинальную реализацию от Microsoft, код которой был открыт под лицензией MS-PL ;
  • Добавлен новый драйвер NTFS с начальной поддержкой записи (поддержка записи пока отключена по умолчанию, но для тестирования доступна для включения через реестр);
  • Осуществлена синхронизация с кодовой базой Wine 3.0 и обновлены версии сторонних компонентов: Freetype 2.9, Ext2 0.69, uniata v0.46e5, libxml2 2.9.7, libmpg123 1.25.8, libtiff 4.0.9, libxslt 1.1.32, libjpeg 9c, libpng 1.6.34.
0.4.9 23 июля 2018
  • Исправления, связанные с возможностью скомпилировать ReactOS на компьютере под управлением ReactOS
  • Улучшена работа системы с большими файлами, исправлен ряд утечек памяти и устранено множество проблем в подсистеме кэширования
  • Добавлена поддержка трансляции транзакций USB, что должно устранить многие проблемы с USB
  • Различные улучшения в оболочке
  • Улучшена обработка состояний сервисов
  • Обновлены компоненты Wine до версии Staging 3.3
0.4.10 6 ноября 2018
  • Экспериментальная поддержка загрузки с файловой системы BTRFS
  • Многочисленные исправления в DLL, связанных с пользовательским интерфейсом
  • Исправление в интеграции FreeType, в том числе позволившие корректно отображаться инсталляторам, сделанным в формате MSI
  • Корректное извлечение информации о системе из BIOS
  • Обновлены сторонние компоненты, в том числе: Wine до версии Staging 3.9 и WinBtrfs до версии 1.0.2
0.4.11 4 марта 2019
  • Улучшения в менеджере кэша ядра позволили исправить падение системы при использовании некоторых программ для создания резервных копий файлов
  • Исправление нескольких утечек памяти в драйвере файловой системы BTRFS
  • Улучшение в драйвере UniATA позволило запускать систему на компьютерах линейки Skylake с современными контроллерами AHCI SATA
  • Улучшение поддержки манифестов в загрузчике позволило исправить работу множества приложений
  • Исправление зависания системы при закрытии .NET 2.0 программ
  • Улучшение механизма первичной установки и обновления системы
  • Улучшения в подсистеме Win32 позволили исправить проблемы работы некоторых игр и приложений
  • Улучшение отображения письма справа налево, а также смешанного двунаправленного текста
  • Исправления в сетевом стеке позволили работать с приложениями для отображения активных сетевых подключений
  • Осуществлена синхронизация с кодовой базой Wine Staging 3.17, и обновлены версии сторонних компонентов: ACPICA 20181003 и PCI hardware ID database 2018-11-21
0.4.12 23 сентября 2019
  • Продолжена работа по повышению стабильности и функциональности инфраструктуры для поддержки файловых систем, конечной целью которой является возможность использования штатных драйверов файловых систем от компании Microsoft. Улучшена поддержка кэширования ФС и исправлены ошибки в драйвере CDFS
  • Внесены изменения, связанные с корректным управлением питанием устройств, повышением времени автономной работы на ноутбуках и корректной поддержкой спящего режима
  • Решены проблемы в реализации сетевой загрузки (PXE)
  • Переписан код для защиты от изменения приложениями компонентов, выполняемых в пространстве ядра (ntoskrnl, win32k, драйверы и т. п.)
  • Добавлена поддержка выравнивания окна относительно краёв экрана или раскрытия/сворачивания при перемещении окна мышью в определённых направлениях
  • Улучшена отрисовка шрифтов и решены проблемы с позиционированием текста
  • Реализован драйвер для сетевого адаптера Intel e1000, используемого в виртуальных сетевых интерфейсах VirtualBox и VMware
  • Расширены возможности DLL, предоставляемых на пользовательском уровне (из Wine-Staging 4.0 импортированы свежие DLL), что позволило обеспечить совместимость с дополнительными приложениями. Внесены исправления в библиотеку comctl (common control), предоставляющую типовые элементы интерфейса для приложений
  • Добавлена возможность загрузки драйверов для MIDI-инструментов и управления ими
  • Осуществлена синхронизация с кодовой базой Wine Staging 4.0 и обновлены версии сторонних компонентов: btrfs 1.1, uniata 0.47, ACPICA 20190405, а также библиотек мультимедиа
0.4.13 10 апреля 2020
  • Проведена большая работа по устранению ошибок и усовершенствованию нового USB-стека, в котором обеспечена поддержка устройств ввода (HID) и USB-накопителей.
  • В графической оболочке Explorer реализована возможность поиска файлов.
  • Проведена работа по обеспечению загрузки на первом поколении приставок Xbox.
  • Проведена оптимизация загрузчика FreeLoader, нацеленная на сокращение времени загрузки ReactOS на разделах с FAT в режиме загрузки с USB-накопителей с копированием системы в ОЗУ.
  • Реализована новая утилита Accessibility Utility Manager для настройки параметров системы, которые могут оказаться полезными для людей с ограниченными возможностями.
  • Улучшенная поддержка тем оформления в экранной клавиатуре.
  • Интерфейс выбора шрифтов приближен по своим возможностям в аналогичной утилите из Windows. Связанные со шрифтами настройки переведены на работу через реестр.
  • Устранены проблемы с некорректной активацией кнопки Apply в диалоговых окнах, даже если пользователь не выполнял действий.
  • Решена проблема из-за которой содержимое корзины могло выходить за пределы доступного дискового пространства.
  • Улучшена поддержка 64-разрядных систем, ReactOS теперь корректно загружается и работает в 64-разрядных окружениях.
  • Осуществлена синхронизация с кодовой базой Wine Staging и обновлены версии сторонних компонентов: Btrfs 1.4, ACPICA 20190816, UniATA 0.47a, mbedTLS 2.7.11, libpng 1.6.37.
0.4.14 16 декабря 2021
  • Доработка оболочки, введение функции графического интерфейса «send to».
  • Поддержка загрузки NEC PC-9800.
  • Улучшения ICMP.
  • Улучшения ядра.
  • Поддержка NetKVM VirtIO.
  • Осуществлена синхронизация с кодовой базой Wine Staging 4.18 и обновлены версии сторонних компонентов: ACPICA 20200326, BtrFS 1.7.2, glu32 9.0.1, mpg123 1.25.13, libjpeg 9d, mbedtls 2.7.14, libtiff 4.1.0, корневой сертификат.
  • Различные иные доработки и оптимизации.
0.5.0 Бета-версия; полная поддержка WDM -драйверов на уровне Windows 2003; поддержка чтения и записи файловой системы NTFS; совместимость с большинством программ для Windows XP и 2003
Старая версия Последняя версия Планируемая версия

Разработка

Большая часть операционной системы написана на Си , но ReactOS Explorer и некоторые другие компоненты — на C++ . ReactOS можно скомпилировать из исходных кодов при помощи различных компиляторов , в частности GCC из пакета MinGW , Clang , а также Microsoft C/C++ из Microsoft Visual Studio .

Разработчики стремятся сделать систему совместимой с Windows NT версии 5.2 ( Windows Server 2003 ) и добавить поддержку для большинства оборудования и приложений . В будущем планируется совместимость с более новыми версиями Windows.

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

Реализация OpenGL по умолчанию использует программный рендеринг через драйвер Mesa3D. Поддержка DirectX реализуется через WineD3D — обертку, транслирующую функции DirectX в OpenGL. Реализации GDI и GDI+ основаны на коде Wine .

Число участников проекта постоянно растёт, на 21 июня 2020 года в проекте участвуют 30 активных разработчиков, большинство из них живёт в странах Европы .

Для отстаивания интересов проекта был создан фонд «ReactOS Deutschland e.V.», расположенный в Германии. Кроме того, раньше существовал «Фонд активизации киберпространства „РеактОС-Фонд“», зарегистрированный в России, однако с 2015 года он ликвидирован.

Сотрудничество с Wine

Упрощенная схема архитектуры ReactOS, где зависимости Wine обозначены его логотипом. Белым цветом обозначено стороннее ПО, зелёным — компоненты « пространства пользователя », красным — компоненты режима ядра

ReactOS использует части кода Wine для реализации Windows API . В чистом виде Ntdll, user32, kernel32, gdi32 и advapi32 не могут быть использованы проектом из-за архитектурных различий, сниппеты из них используются в обоих проектах. ReactOS использует собственное NT-подобное ядро, а Wine использует *nix-ядра.

В январе 2010 года координатор проекта Алексей Брагин предложил альтернативу большой части подсистемы Win32 — Arwinss, базирующуюся на Wine, и поэтому имеющую большую совместимость и способную иметь большую стабильность. Данное решение не предназначено для полного замещения оригинальной реализации Win32-подсистемы, и может быть неактуально после завершения работ над собственной подсистемой Win32 в ReactOS. Arwinss использует архитектурные решения как Wine, так и Windows NT в надлежащих местах для правильной реализации функциональности. Также в результате периодически будут поступать протестированные «бесплатные» (то есть затраты времени на их применения сравнительно малы) обновления из Wine.

В дополнение появляется возможность поддержки удалённого X-сервера , что удобно для полной замены Wine, используя вместо него связку ReactOS+Arwinss в виртуальной машине (например, KVM ), при которой будет использоваться общая с Wine подсистема Windows API .

Используемые проекты

  • ReactOS использует код Wine для реализации Windows API .
  • Rdesktop — реализация клиента удаленного рабочего стола.
  • — реализация поддержки Serial ATA .
  • FreeType — используется для отображения шрифта.
  • Tango Desktop Project — набор значков.
  • lwIP — TCP/IP-стек с открытым исходным кодом.
  • — реализация ACPI.
  • Ext2Fsd — драйвер Ext2/3/4-файловых систем для Windows.
  • — TLS / SSL back-end для schannel (и wininet).
  • — реализация dnsapi.
  • libsamplerate — передискретизатор звуковых сигналов.
  • — драйвер BtrFS для Windows.
  • Mesa 3D — программная реализация стандартного графического API OpenGL (без ускорения).

Планы

  • Возможность запуска определённого набора программного обеспечения с безотказной работой
  • Завершение поддержки печати
  • Завершение реализации Wi-Fi и добавление GUI
  • Исправление всех ошибок при работе системы в трех основных инструментах виртуализации (VirtualBox, Qemu, VmWare)
  • Завершение оболочки (панели инструментов, загрузка/сохранение настроек и т. д.)
  • Расширенная поддержка USB для устройств хранения и HID-устройств (наиболее важными из них являются принтеры, Wi-Fi, 3G-модемы)
  • Исправление большинства графических ошибок
  • Исправление MM/CC и WIN32SS для всех вышеперечисленных пунктов
  • Режим совместимости
  • NTFS с возможностью установки и запуска ReactOS.
  • Форматирование разделов больше 32 гигабайт с использованием FAT32 .
  • Разметка дисковых разделов с использованием NTFS , exFAT , FAT32 , F2FS .
  • Работа с разделами, имеющими разметку GUID , с возможностью установки и запуска ReactOS на устройствах с UEFI .
  • Форматирование раздела с использованием разметки GUID .
  • Работа с SSD , RAID и составными томами напрямую.
  • Работа с жесткими дисками на базе Advanced Format с секторами на 4 килобайта.
  • Работа с сенсорами.
  • Возможность работы USB 3.0 , USB 3.1 Type C , ThunderBolt .
  • Поддержка DirectX 11, Vulkan (API) .
  • Работа приложений в песочнице (опционально, с включением в свойствах приложения) аналогично программе Sandboxie .

Аудит кода

17 января 2006 года в списке рассылки разработчиков ReactOS (ros-dev) Хартмут Бирр заявил, что он покидает проект, поскольку, по его мнению, код ReactOS содержит элементы, полученные путём дизассемблирования Microsoft Windows . В результате разработчики решили временно отключить доступ всем не-разработчикам к коду ReactOS. Поскольку ReactOS является свободным ПО, эти действия вызвали негативный отклик в сообществе свободного ПО.

Доступ к средствам разработки был вскоре восстановлен. Хотя обвинения не были доказаны, 8 марта 2006 года разработчики ReactOS начали собственный аудит всего кода, отвечающего за совместимость с Windows. Чтобы убедиться, что в ReactOS нет частей, написанных кем-то, кто мог видеть утёкший из Microsoft код или проводил обратную разработку напрямую, ведущими разработчиками ReactOS было отдано распоряжение о полной проверке всего исходного кода.

Также было решено проверять, какие участки кода могли быть результатом непосредственной обратной разработки, и заставить всех разработчиков подписать соглашение о том, что они будут использовать результаты обратной разработки лишь косвенно . Ожидается, что это замедлит разработку, заставляя разработчиков переписывать уже готовые участки кода, попавшие под подозрение. Проверка будет проводиться путём закрытия «грязных» участков кода до тех пор, пока они не будут полностью проверены .

На сентябрь 2007 года проверка была завершена на 99,5 % (оставалось только 49 закрытых файлов). 23 сентября было решено убрать с главной страницы сайта ReactOS индикатор завершённости проверки . Это было мотивировано тем, что проверка не затрагивает конечных пользователей, тестеров или второстепенных разработчиков, а также тем, что процесс создания прочной и легальной основы для исходного кода ReactOS и стандартов разработки не может быть адекватно отражён обычным индикатором и будет продолжаться всё время существования проекта. Информация о проверке и её история по-прежнему свободно доступны на сайте.

В настоящий момент проверка завершена полностью и все файлы разблокированы.

ReactOS и правительство России

Координатор проекта Алексей Брагин (слева) показывает ReactOS Виктору Алкснису

Участниками проекта ReactOS были зарегистрированы в России товарные знаки . Коллектив разработчиков стремится получить финансирование от российского правительства для создания стартапа и продвижения ReactOS под собственным брендом в качестве российской национальной операционной системы.

Операционная система ReactOS была продемонстрирована политику Виктору Алкснису , который выступает за снижение зависимости учебных заведений от продукции Microsoft . Во время визита президента Дмитрия Медведева в среднюю школу в селе Верхнерусское в Ставропольском крае ему была продемонстрирована работа ReactOS .

C 1 по 9 июля 2012 года Александр Речицкий и Марат Каратов презентовали проект на Селигере в смене «Инновации и техническое творчество». В результате проект ReactOS занял 3 место в номинации «лучший IT-проект» в промежуточных итогах, а 5 ноября вышел в полуфинал Зворыкинской премии. 31 июля 2012 года Марат Каратов встретился с президентом Российской Федерации Владимиром Путиным и продемонстрировал работу прототипа ReactOS .

2 июня 2015 года Министерство связи Российской Федерации включило ReactOS в план импортозамещения программного обеспечения по направлению «Клиентские операционные системы / Серверные операционные системы» в качестве проектов «Создание операционной системы с открытым исходным кодом на базе ReactOS для ПК, ноутбуков и других мобильных устройств», «Создание операционной системы с открытым исходным кодом на базе ReactOS для серверов» при поддержке Фонда «РеактОС», МГТУ им. Н. Э. Баумана, ООО «Параллелз Рисерч» и др. .

Системные требования

  • 32-битный или 64-битный совместимый процессор Pentium и выше.
  • 64 мегабайт оперативной памяти (минимум) , 256 мегабайт (рекомендуется).
  • Минимум 450 мегабайт свободного места на жестком диске .
  • VGA-совместимая видеокарта ( VESA BIOS версии 2.0 и выше).

Награды

  • 2-е место в национальной премии 2009 года в области программного обеспечения «Софт года» в номинации «Система» .
  • «Лучший проект месяца» на SourceForge в феврале 2012 года .
  • «Лучший проект месяца» на SourceForge в июне 2013 года .

Примечания

  1. . Дата обращения: 28 марта 2013. Архивировано из 3 апреля 2013 года.
  2. . Дата обращения: 28 марта 2013. 3 апреля 2013 года.
  3. . Дата обращения: 12 сентября 2017. 18 октября 2017 года.
  4. . Дата обращения: 23 июля 2018. 18 апреля 2019 года.
  5. . Дата обращения: 23 июля 2018. 28 февраля 2012 года.
  6. . Дата обращения: 23 июля 2018. 12 июля 2018 года.
  7. . Дата обращения: 9 ноября 2014. 17 декабря 2014 года.
  8. . Дата обращения: 9 ноября 2014. 7 декабря 2019 года.
  9. . Дата обращения: 23 июля 2018. 10 апреля 2016 года.
  10. . Дата обращения: 23 ноября 2015. 27 февраля 2016 года.
  11. . Дата обращения: 23 июля 2018. 6 декабря 2017 года.
  12. . www.opennet.ru. Дата обращения: 8 декабря 2017. 9 декабря 2017 года.
  13. (19 июня 2004). Дата обращения: 3 февраля 2016. Архивировано из 19 июня 2004 года.
  14. OSNews Staff. . osnews.com. Дата обращения: 3 февраля 2016. 18 января 2016 года.
  15. . 14 ноября 2004 года.
  16. . Дата обращения: 26 июня 2016. 15 июня 2016 года.
  17. . Дата обращения: 26 июня 2016. 15 июня 2016 года.
  18. . Дата обращения: 26 июня 2016. 15 июня 2016 года.
  19. . Дата обращения: 26 июня 2016. Архивировано из 4 сентября 2017 года.
  20. (16 ноября 2016). Дата обращения: 24 октября 2020. 28 октября 2020 года.
  21. (13 мая 2017). Дата обращения: 24 октября 2020. Архивировано из 13 мая 2017 года.
  22. . Дата обращения: 17 мая 2022. 20 июня 2021 года.
  23. . community.reactos.org. Дата обращения: 16 декабря 2015. Архивировано из 22 декабря 2015 года.
  24. (англ.) . Indiegogo. Дата обращения: 16 декабря 2015. 27 февраля 2016 года.
  25. . reactos.org. Дата обращения: 18 января 2016. 29 сентября 2015 года.
  26. . Дата обращения: 16 августа 2017. 17 августа 2017 года.
  27. . Дата обращения: 10 февраля 2019. 12 февраля 2019 года.
  28. . Дата обращения: 24 октября 2020. 2 сентября 2019 года.
  29. . Дата обращения: 29 июня 2018. 18 марта 2015 года.
  30. . Дата обращения: 26 июня 2016. 20 августа 2016 года.
  31. . Дата обращения: 3 февраля 2016. 5 марта 2016 года.
  32. ReactOS Community. (24 февраля 2016). Дата обращения: 20 мая 2016. 27 февраля 2016 года.
  33. . Дата обращения: 26 июня 2016. 20 августа 2016 года.
  34. . Дата обращения: 29 июня 2018. 9 августа 2016 года.
  35. . Дата обращения: 23 июня 2018. 23 июня 2018 года.
  36. . Дата обращения: 23 июня 2018. 23 июня 2018 года.
  37. . Дата обращения: 23 июня 2018. 23 июня 2018 года.
  38. Сергей Попсулин. . CNews (15 декабря 2015). Дата обращения: 25 августа 2016. 29 ноября 2016 года.
  39. . Дата обращения: 23 июня 2018. 24 июня 2018 года.
  40. . Дата обращения: 17 февраля 2016. 16 февраля 2016 года.
  41. . Дата обращения: 25 февраля 2016. 23 сентября 2020 года.
  42. Z98. (англ.) . reactos.org (16 ноября 2016). Дата обращения: 19 ноября 2016. 22 ноября 2016 года.
  43. . OpenNET (17 ноября 2016). Дата обращения: 12 февраля 2017. 13 февраля 2017 года.
  44. Z98. (англ.) . reactos.org (16 февраля 2017). Дата обращения: 16 февраля 2017. 17 февраля 2017 года.
  45. . OpenNET (16 февраля 2017). Дата обращения: 17 февраля 2017. 16 февраля 2017 года.
  46. Colin Finck. (англ.) . ReactOS (18 мая 2017). Дата обращения: 24 мая 2017. 18 мая 2017 года.
  47. . OpenNET (18 мая 2017). Дата обращения: 24 мая 2017. 22 мая 2017 года.
  48. vicmarcal. (англ.) . ReactOS (1 сентября 2017). Дата обращения: 5 сентября 2017. 4 сентября 2017 года.
  49. . OpenNET (2 сентября 2017). Дата обращения: 5 сентября 2017. 5 сентября 2017 года.
  50. (англ.) . www.reactos.org. Дата обращения: 16 апреля 2018. 16 апреля 2018 года.
  51. . www.opennet.ru. Дата обращения: 16 апреля 2018. 16 апреля 2018 года.
  52. (англ.) . www.reactos.org. Дата обращения: 16 апреля 2018. 15 апреля 2018 года.
  53. . www.opennet.ru. Дата обращения: 16 апреля 2018. 16 апреля 2018 года.
  54. (англ.) . www.reactos.org. Дата обращения: 6 ноября 2018. 7 ноября 2018 года.
  55. . Дата обращения: 6 ноября 2018. 6 ноября 2018 года.
  56. (англ.) . www.reactos.org. Дата обращения: 4 марта 2019. 4 марта 2019 года.
  57. (англ.) . www.reactos.org. Дата обращения: 23 января 2020. 23 сентября 2019 года.
  58. (англ.) . www.reactos.org. Дата обращения: 10 апреля 2020. 11 апреля 2020 года.
  59. (англ.) . www.reactos.org. Дата обращения: 10 апреля 2020. 17 декабря 2021 года.
  60. . Дата обращения: 6 марта 2019. 6 марта 2019 года.
  61. Z98. (англ.) . reactos.org (4 марта). Дата обращения: 12 февраля 2017. 17 августа 2016 года.
  62. . Дата обращения: 3 февраля 2016. 5 марта 2016 года.
  63. . Дата обращения: 26 июня 2016. 20 августа 2016 года.
  64. . Дата обращения: 4 февраля 2016. 4 января 2016 года.
  65. . egrulinfo.com. Дата обращения: 7 апреля 2019. 7 апреля 2019 года.
  66. (англ.) . Дата обращения: 28 марта 2013. Архивировано из 3 апреля 2013 года. (перевод . Архивировано из 12 июля 2012 года. )
  67. . Архивировано из 9 сентября 2012 года.
  68. . Дата обращения: 24 апреля 2016. 31 мая 2016 года.
  69. . Дата обращения: 26 июня 2016. 30 мая 2016 года.
  70. . Дата обращения: 26 июня 2016. 20 августа 2016 года.
  71. . Дата обращения: 24 июля 2017. 16 сентября 2017 года.
  72. . Архивировано из 4 июня 2012 года.
  73. (англ.) . Дата обращения: 28 марта 2013. Архивировано из 3 апреля 2013 года.
  74. . Архивировано из 18 сентября 2012 года.
  75. . Дата обращения: 28 марта 2013. 3 апреля 2013 года.
  76. . Архивировано из 7 июля 2012 года.
  77. . Архивировано из 30 мая 2013 года.
  78. . Архивировано из 18 сентября 2012 года.
  79. . Архивировано из 18 сентября 2012 года.
  80. Речицкий Александр. . Хабрахабр (14 сентября 2011). Дата обращения: 10 марта 2017. Архивировано из 18 сентября 2012 года.
  81. . Дата обращения: 2 ноября 2012. Архивировано из 22 января 2013 года.
  82. от 19 ноября 2012 на Wayback Machine — Зворыкинский проект
  83. . Архивировано из 30 мая 2013 года.
  84. . minsvyaz.ru. Дата обращения: 1 июля 2015. 18 июля 2015 года.
  85. . Дата обращения: 24 апреля 2016. 31 мая 2016 года.
  86. . Архивировано из 15 июля 2012 года.
  87. . Архивировано из 30 мая 2013 года.
  88. . Архивировано из 2 июня 2013 года.

Литература

  • ReactOS 0.4.0 (рус.) // Linux Format . — 2016. — Июнь ( № 06 (210) ). — С. 14 .
  • . sysbin.com. 2005-08-21. из оригинала 1 сентября 2016 . Дата обращения: 17 августа 2016 . {{ cite news }} : Неизвестный параметр |description= игнорируется ( справка )
  • Илья Щуров (2007-09-21). . Компьютерра . Дата обращения: 25 августа 2016 .
  • Семён Васильков (2008-08-05). . f1cd.ru . Дата обращения: 12 февраля 2017 .
  • Алексей Брагин (координатор) кратко о проекте
  • (WineHQ) (англ.)
  • на конференции FOSDEM 2007 (англ.)

Ссылки

  • — официальный сайт ReactOS (англ.)
  • (англ.)
  • на сайте DistroWatch (англ.)
  • на сайте GitHub
Фан-сайты и сообщества
Блоги разработчиков
Источник —

Same as ReactOS