ReactOS

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
ReactOS
ReactOS logo.svg
ReactOS-0.4.png
Рабочий стол ReactOS 0.4
Разработчик

ReactOS Foundation

Семейство ОС

Windows NT-подобная

Исходный код

открытый

Первый выпуск

20 июля 1998

Последняя версия

0.4.3 (16 ноября 2016)[1]

Последняя тестовая версия

ежедневные ночные сборки

Менеджеры пакетов

Менеджер приложений ReactOS

Поддерживаемые языки

английский язык, немецкий язык, русский язык и китайский язык

Поддерживаемые платформы

x86 и x86-64

Тип ядра

гибридное

Интерфейс

графический интерфейс пользователя

Лицензия

GNU GPL и GNU LGPL

Состояние

активное

Репозиторий исходного кода

svn.reactos.org/svn/reactos/trunk/reactos/

Веб-сайт

reactos.org

Commons-logo.svg ReactOS на Викискладе

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

По состоянию на декабрь 2016 года проект всё ещё находится на незавершённой стадии альфа-тестирования. Различные части ReactOS лицензированы под GNU General Public License, GNU Lesser General Public License и лицензией BSD. В 2008 году были начаты работы над портированием ReactOS на архитектуры x86-64 и ARM[4].

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

История[править | править вики-текст]

Ранняя разработка: от FreeWin95 до ReactOS[править | править вики-текст]

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

Сейчас[править | править вики-текст]

В настоящий момент разработчики трудятся над компонентами системы. В связи с отсутствием спонсора и немногочисленностью команды разработчиков активность проекта невысока.

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

Ответвления ReactOS[править | править вики-текст]

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

  • Ekush OS (2004)[9][10]
  • ReactOS Server Edition[11]
  • ReactOS Server[12]
  • OpenROS (2013)[13]
  • FusionOS (2013)[14]
  • ReactOS NG (2015) — направленный на совместимость с Windows 8[15]
  • Greentea OS (2016) — направлен на ускорение/упрощение разработки[16]

ReactOS Community Edition[править | править вики-текст]

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

В апреле 2014 ReactOS анонсировала Indiegogo кампании по сбору денег для запуска ReactOS Community Edition, данная версия базируется на ReactOS-0.4. Данной кампании надо было собрать 50.000$ для разработки. Предполагалось, что она будет поддерживать приложения и драйвера для многих устройств. 1 июня 2014 завершилась кампания по сбору денег с итогом в 25.141$.[17][18]

ReactOS Hackfest 2015[править | править вики-текст]

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

Google Summer of Code[править | править вики-текст]

Проект трижды принимал участие в Google Summer of Code — в 2006, 2011 и 2016 году.[20]

Функциональность[править | править вики-текст]

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

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

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

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

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

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

История версий[править | править вики-текст]

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

Разработка[править | править вики-текст]

Архитектура ReactOS

Большая часть операционной системы написана на C, но ReactOS Explorer и некоторые другие компоненты — на C++. ReactOS компилируется с помощью MinGW и Microsoft Visual Studio.

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

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

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

Число участников проекта постоянно растет, в настоящее время в проекте участвуют около 35 активных разработчиков, большинство из них живут в странах Европы. Наряду с талантливыми «любителями» код пишут и профессиональные программисты.[29][31]

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

Сотрудничество с Wine[править | править вики-текст]

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

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

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

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

Используемые проекты[править | править вики-текст]

  • ReactOS использует код Wine для реализации Windows API.
  • Samba/Samba TNG для LSASS, SAM, NETLOGON, Print spooling и других интернет-сервисов Windows.
  • NDISwrapper, используемый для запуска Wi-Fi в основанных на GNU/Linux системах с помощью драйверов для Windows NT.
  • NTFS-3G, NTFS-драйвер для Linux, Mac OS X, FreeBSD, NetBSD, OpenSolaris, QNX, Haiku и других операционных систем.
  • RDesktop — реализация клиента удаленного рабочего стола
  • Serial ATA — драйвер предоставлен UniATA.
  • FreeType используется для отображения шрифта.
  • Tango Desktop Project — открытая инициатива по созданию интерфейса для программ.
  • Longene — системное ядро Linux с Windows-сервисами.
  • KernelEx — открытая прослойка совместимости Windows 9x с Windows NT.
  • Captive NTFS - программная обёртка над оригинальными драйверами файловой системы NTFS из Windows NT для ОС Linux.
  • lwIP — широко используемый TCP/IP-стек с открытым исходным кодом.
  • ACPICA — реализация ACPI
  • Ext2fsd — драйвер Ext2/3/4-файловых систем для Windows
  • mbed TLS — TLS / SSL back-end для schannel (и wininet)
  • Mesa 3D — программная реализация стандартного графического API OpenGL (без ускорения)[34]

Планы на будущее[править | править вики-текст]

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

Аудит кода[править | править вики-текст]

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

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

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

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

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

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

ReactOS и правительство России[править | править вики-текст]

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

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

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

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

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

Системные требования[править | править вики-текст]

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

Награды[править | править вики-текст]

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

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. ReactOS 0.4.3 Released
  2. Ответы на наиболее часто задаваемые пользователями вопросы (рус.). Проверено 28 марта 2013. Архивировано из первоисточника 4 апреля 2013.
  3. Выпуск новостей ReactOS № 69 (рус.). Проверено 28 марта 2013. Архивировано из первоисточника 4 апреля 2013.
  4. Выпуск новостей ReactOS № 48
  5. FreeWin95 — ReactOS
  6. Google Groups
  7. ReactOS Project
  8. ReactOS ports — ReactOS Wiki
  9. Alpona Portal :: EKUSH - An alternative Windows (19 июня 2004). Проверено 3 февраля 2016.
  10. OSNews Staff. Ekush Emulator And its License Pains > Comments. www.osnews.com. Проверено 3 февраля 2016.
  11. ReactOS Server Edition
  12. ReactOS Server — Sourceforge
  13. OpenROS — Sourceforge
  14. Fusion Operating System — Sourceforge
  15. ReactOS NG — GitHub
  16. Greentea Operating System — Github
  17. ReactOS Community - ReactOS. community.reactos.org. Проверено 16 декабря 2015.
  18. CLICK HERE to support ReactOS Community Edition (en-US). Indiegogo. Проверено 16 декабря 2015.
  19. ReactOS Hackfest 2015 - ReactOS Wiki. reactos.org. Проверено 18 января 2016.
  20. Google Summer of Code — Winehq.org.ru
  21. Оболочка в ReactOS — Winehq.org.ru
  22. ReactOS Community. HL2 is actually playable on ReactOS with h\w acceleration (24 февраля 2016). Проверено 20 мая 2016.
  23. Файловые системы в ReactOS — Winehq.org.ru
  24. Сергей Попсулин. Тестируется новая версия российской ОС - «убийцы Windows» (рус.). CNews (15 декабря 2015). Проверено 25 августа 2016.
  25. ChangeLog-0.4.0 — ReactOS Wiki
  26. ReactOS Website View topic — Installing Nvidia drivers
  27. ReactOS 0.4.3 Released (англ.). ReactOS (16 November 2016). Проверено 19 ноября 2016.
  28. Выпуск новостей ReactOS № 54
  29. 1 2 ReactOS — ОС с открытым исходным кодом на основе архитектуры NT — Winehq.org.ru
  30. Компоненты системы — Winehq.org.ru
  31. People of ReactOS — ReactOS Wiki
  32. ros-dev Arwinss presentation (англ.). Проверено 28 марта 2013. Архивировано из первоисточника 4 апреля 2013. (перевод ReactOS / Презентация Arwinss. Архивировано из первоисточника 12 июля 2012.)
  33. ARWINSS: новая реализация подсистемы win32 — ReactOS Website. Архивировано из первоисточника 9 сентября 2012.
  34. Используемые проекты — Winehq.org.ru
  35. February 2016 meeting minutes | ReactOS Project
  36. Режим совместимости — Winehq.org.ru
  37. [ros-dev] Bye bye. Архивировано из первоисточника 4 июня 2012.
  38. Reset, Reboot, Restart, legal issues and the long road to 0.3 (англ.). Проверено 28 марта 2013. Архивировано из первоисточника 4 апреля 2013.
  39. ReactOS Homepage — Blogs. Архивировано из первоисточника 18 сентября 2012.
  40. Выпуск новостей ReactOS №32. Проверено 28 марта 2013. Архивировано из первоисточника 4 апреля 2013.
  41. Дмитрию Медведеву представили новую операционную систему в Ставрополе. Архивировано из первоисточника 7 июля 2012.
  42. Выпуск новостей ReactOS №67. Архивировано из первоисточника 30 мая 2012.
  43. Лифт-презентация стартапа ReactOS. Архивировано из первоисточника 18 сентября 2012.
  44. alksnis: Знакомство с проектом ReactOS. Архивировано из первоисточника 18 сентября 2012.
  45. ReactOS, Медведев и 1 000 000 евро / Хабрахабр. Архивировано из первоисточника 18 сентября 2012.
  46. http://innovaterussia.ru/attach/get/855977
  47. Определен итоговый список полуфиналистов «Зворыкинской премии» 2012 года — Зворыкинский проект
  48. Демонстрация ReactOS Путину В. В.. Архивировано из первоисточника 30 мая 2013.
  49. Протокол экспертной оценки проектов по импортозамещению инфраструктурного программного обеспечения, соответствующего пунктам 4-8 плана импортозамещения программного обеспечения.
  50. Объём диска, необходимый для установки ReactOS — Winehq.org.ru
  51. Премия «Софт года». Архивировано из первоисточника 15 июля 2012.
  52. Выпуск новостей ReactOS №74. Архивировано из первоисточника 30 мая 2013.
  53. June 2013 Project of the Month: ReactOS. Архивировано из первоисточника 2 июня 2013.

Литература[править | править вики-текст]

  • ReactOS 0.4.0 (рус.) // Linux Format. — 2016. — Июнь (№ 06 (210)). — С. 14.

Статьи[править | править вики-текст]

Ссылки[править | править вики-текст]

Обзоры
Фан-сайты и сообщества
Блоги разработчиков