ReactOS

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

ReactOS Foundation

Семейство ОС

Windows NT-подобная

Исходный код

Открытый

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

0.3.16 — 6 февраля 2014 [1]

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

x86, x86-64[1], ARM[1]

Тип ядра

Гибридное ядро

Интерфейс

графический

Лицензия

GNU General Public License и др.

Состояние

альфа-версия

Веб-сайт

reactos.org/ru/

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

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

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

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

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

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

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

В 2014 году немецкое сообщество (ReactOS Deutschland e.V) инициировало привлечение необходимых средств на краудфандинговом сайте Indigogo, однако смогли собрать лишь 25 из планируемых 50 тыс. долларов.[6]

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

По состоянию на июль 2009 года ядро ReactOS было достаточно стабильным. Была проделана работа над совместимостью с аппаратной частью, многие API были реализованы для высокоуровневой разработки, имелся базовый GUI. В ReactOS есть ReactOS Explorer, который является базовой оболочкой для операционной системы, сходной с Windows Explorer.

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

Сообщается, что некоторые игры, например Unreal Tournament и Deus Ex, работают в режиме программного рендеринга. OpenGL работает с незначительными трудностями посредством драйвера nVidia или программной реализации Mesa 3D.

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

В версии 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.07 1998-07-20
0.0.08 1998-08-24 Добавлена начальная поддержка юникода.
0.0.09 1998-08-28 Исправления в менеджере памяти; Улучшения в менеджерах объектов и ввода-вывода
0.0.10 1998-09-05 Начат драйвер IDE; Переписана часть менеджера памяти; Исправлена загрузка модулей; Внесены исправления в DPC и драйвер клавиатуры
0.0.11 1998-09-13 Исправления ошибок; Улучшена поддержка файловых систем
0.0.12 1998-10-04 Начальная поддержка многозадачности; Исправления в системных вызовах; Исправлена компиляция библиотеки kernel32; Исправлена ошибка с неверным сегментом состояния задачи; Добавлена поддержка секций; Начата реализация APC
0.0.13 1998-11-09 Исправление ошибок
0.0.14 1999-06-06 ReactOS полностью перешла на формат исполняемых файлов PE
0.0.15 2000-01-20 Значительные улучшения в ядре системы
0.0.16 2000-08-04 Повышена стабильность ядра; Значительные улучшения в системных библиотеках; Работа с консолью вынесена в CSRSS; Значительно переделана консоль; Начата реализация именованных каналов; Улучшены драйвера VGA и FAT, HAL, менеджер ввода-вывода, менеджер памяти; Улучшена поддержка LPC
0.0.17 2001-02-09 Начата реализация сканирования шины PCI; Добавлена основная поддержка NDIS 3.0; Добавлена поддержка multiboot; Начата реализация указателя мыши
0.0.18 2001-08-01 Начата реализация DIB; Начата реализация PnP для шины ISA; Реализована поддержка DMA
0.0.19 2002-03-05 HAL отделён от ntoskrnl; Добавлена поддержка SEH; Завершена поддержка виртуальной памяти; Исправления в драйвере шины PCI; Начата работа над подсистемой POSIX
0.0.20 2002-08-06 Исправления в реестре; Исправления в системе управления потоками; Реализован новых механизм монтирования; Значительные улучшения в драйверах файловых систем; Начата работа над поддержкой подсистемы OS/2, улучшена подсистема POSIX; В загрузчик добавлена поддержка LBA
0.0.21 2002-10-31 Исправления в менеджере памяти, менеджере объектов; Начата работа над загрузкой с CD-диска; Значительные улучшения в win32k; Начата реализация драйвера для сетевых карт NE2000
0.1.0 2003-02-01 Первая версия, которая могла загружаться с CD-диска; Первая версия, в которой ReactOS может быть скомпилирован в ReactOS; Значительные улучшения в ядре
0.1.1 2003-03-30 Улучшен диспетчер ввода-вывода; Значительные улучшения в win32k
0.1.2 2003-07-02 Улучшения в коде, используемом драйверами, позволившие использовать некоторые сторонние видео драйверы
0.1.3 2003-08-30 Улучшения и исправления ошибок в win32k
0.1.4 2003-10-08 Начата реализация OpenGL и драйвера для файловой системы NTFS; Улучшено ядро
0.1.5 2003-11-13 Проведена подготовительная работа для поддержки DirectDraw; Переписан драйвер PS/2 мышек; Реализована графическая консоль; Улучшена поддержка DMA
0.2.0 2004-01-25 Первая версия с работающим Графическим интерфейсом пользователя; Значительное улучшения практически во всех компонентах системы; Начата работа над драйвером VBE; Драйвер CD-дисководов поддерживает смену диска в дисководе
0.2.1 2004-03-03 Исправления ошибок
0.2.2 2004-04-27
0.2.3 2004-06-26 Улучшения в ядре, win32k и сетевой подсистеме
0.2.4 2004-09-13 Множество улучшений связанных с отладкой как системы так и отдельных приложений; Исправлено большое количество ошибок
0.2.5 2005-01-02
0.2.6 2005-04-09
0.2.7 2005-08-21
0.2.8 2005-10-29 Переписан CSRSS; ReactOS может определять, работает ли он внутри виртуальной машины VMware, и устанавливать SVGA-драйвер из набора VMware Tools ISO для повышения производительности графики
0.2.9 2005-12-22 Исправления ошибок
0.3.0 2006-08-27 Первая версия, официально поддерживающая работу с сетью
0.3.1 2007-03-10 Добавлен менеджер приложения, начато переписывание ядра; Улучшен загрузчик системы
0.3.2 пропущен Была создана ветвь кода, однако эта версия так и не была выпущена
0.3.3 2007-09-12 Улучшения в ядре и win32k
0.3.4 2008-01-22 Переписана поддержка реестра и технологии Plug 'N' Play, добавлена поддержка технологий SSE и SSE2, проведена большая работа по переводу системы; Начата работа по поддержке RPC
0.3.5 2008-06-30 Исправления ошибок в загрузчике системы, исправлено множество критических ошибок во всех разделах ядра, переписан код ранней инициализации менеджера памяти
0.3.6 2008-08-06 Исправления ошибок и устранение утечек памяти в сетевом стеке; Множество исправлений и улучшения в ядре; Проведена синхронизация большей части кода wine, используемого в ReactOS с последней версией wine; Улучшения в ARM-версии, начата работа над x86-64 версией;
0.3.7 2008-11-04 Улучшена поддержка x86-64; Значительные улучшения в Менеджере конфигурации, Менеджере ввода-вывода, функциях ядра, Менеджере памяти, Менеджере объектов, Менеджере процессов; Исправления в драйверах файловых; Проведена синхронизация большей части кода wine, используемого в ReactOS с последней версией wine
0.3.8 2009-02-04 Исправления ошибок и улучшения в базовых сервисах ядра; Введён PSEH; Исправлена поддержка жёстких дисков с несколькими разделами в LiveCD; Решён ряд проблем в системных драйверах
0.3.9 2009-04-26 Минимально необходимо 24 МБ оперативной памяти, добавлена начальная поддержка звука; Решены различные проблемы NDIS и AFD, что улучшило совместимость с драйверами сетевых карт; Проведена синхронизация большей части кода wine, используемого в ReactOS с последней версией wine
0.3.10 2009-07-05 Добавлены начальная поддержка SATA, USB клавиатур/мышек, возможность работы с разделами размером больше 8 гигабайт; Существенно улучшена поддержка сетевых карт; Проведена синхронизация большей части кода wine, используемого в ReactOS с последней версией wine
0.3.11 2009-12-16 Переписан kdcom; Добавлены Китайские и Корейские шрифты; Улучшена совместимость; Улучшена поддержка звука; Проведена синхронизация большей части кода wine, используемого в ReactOS с последней версией wine
0.3.12 2010-10-20 Переписаны обработчики ловушек, таймеров и событий; Добавлена поддержка немаскируемого прерывания; Улучшена поддержка технологии PnP; Заменён драйвер шины PCI на более совершенный
0.3.13 2011-03-22 Полностью переписан диспетчер кучи, в него были добавлены дополнительные возможности отладки для обнаружения доступа к памяти вне границ выделенного для производимой операции блока; Увеличено количество поддерживаемых SATA-устройств; Исправлены проблемы с графикой; Добавлена возможность динамической смены видео режима и улучшена совместимость видео-драйверов; улучшено управление линиями аудио микшера; Улучшена обработка данных от мыши, а также поддержка сообщений и таймеров; Произведено множество улучшений в диспетчере памяти.
0.3.14 2012-02-07 ACPI включён по умолчанию, Добавлены поддержка WiFi (незащищённый и с WEP-шифрованием), поддержка тем оформления, новый драйвер TCP/IP (на базе библиотеки LwIP), поддержка Scatter/Gather DMA, переписан shell32
0.3.15 2013-05-30 Начальная поддержка USB-клавиатур, мышей, а также устройств хранения данных; Полностью переписанная подсистема управления сессиями; Добавлена поддержка AHCI за счёт обновления драйвера UniATA; Новый диспетчер памяти принял на себя почти все функции по управлению памятью; Начальная поддержка отладки компонентов ReactOS при помощи windbg; Улучшения, созданные на основе результатов тестирования системы при помощи среды тестирования приложений AutoHotKey; Исправления ошибок, найденных по результатам сканирования утилитой Driver Verifier во встроенных драйверах.
0.3.16 2014-02-06 Переписан CSRSS, начато переписывание shell32, улучшена поддержка тем оформления. В состав системы добавлен новый драйвер для сетевых карт на основе чипа RTL8139. Обновлён драйвер UniATA.
0.4.0 Улучшения в shell32, достаточные для нормальной работы новой версии ReactOS Explorer; Улучшения в драйверах USB, звуковой и сетевой подсистемах; Окончательный переход на новый менеджер памяти
0.5.0 Бета-версия; Поддержка WDM драйверов; Поддержка чтения и записи файловой системы NTFS

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. 1 2 3 Выпуск новостей ReactOS № 48
  2. Ответы на наиболее часто задаваемые пользователями вопросы (рус.). Проверено 28 марта 2013. Архивировано из первоисточника 4 апреля 2013.
  3. Выпуск новостей ReactOS № 69 (рус.). Проверено 28 марта 2013. Архивировано из первоисточника 4 апреля 2013.
  4. ros-dev Arwinss presentation (англ.). Проверено 28 марта 2013. Архивировано из первоисточника 4 апреля 2013. (перевод ReactOS / Презентация Arwinss. Архивировано из первоисточника 12 июля 2012.)
  5. ARWINSS: новая реализация подсистемы win32 — ReactOS Website. Архивировано из первоисточника 9 сентября 2012.
  6. «Российская Windows» под названием ReactOS Community Edition собрал половину необходимых средств на краудфандинговом сайте Indigogo // hi-tech@mail.ru
  7. [ros-dev] Bye bye. Архивировано из первоисточника 4 июня 2012.
  8. Reset, Reboot, Restart, legal issues and the long road to 0.3 (англ.). Проверено 28 марта 2013. Архивировано из первоисточника 4 апреля 2013.
  9. ReactOS Homepage — Blogs. Архивировано из первоисточника 18 сентября 2012.
  10. Выпуск новостей ReactOS №32. Проверено 28 марта 2013. Архивировано из первоисточника 4 апреля 2013.
  11. Дмитрию Медведеву представили новую операционную систему в Ставрополе. Архивировано из первоисточника 7 июля 2012.
  12. Выпуск новостей ReactOS №67. Архивировано из первоисточника 30 мая 2012.
  13. Лифт-презентация стартапа ReactOS. Архивировано из первоисточника 18 сентября 2012.
  14. alksnis: Знакомство с проектом ReactOS. Архивировано из первоисточника 18 сентября 2012.
  15. ReactOS, Медведев и €1 000 000 / Хабрахабр. Архивировано из первоисточника 18 сентября 2012.
  16. http://innovaterussia.ru/attach/get/855977
  17. Определен итоговый список полуфиналистов «Зворыкинской премии» 2012 года — Зворыкинский проект
  18. Демонстрация ReactOS Путину В. В.. Архивировано из первоисточника 30 мая 2013.
  19. Премия «Софт года». Архивировано из первоисточника 15 июля 2012.
  20. Выпуск новостей ReactOS №74. Архивировано из первоисточника 30 мая 2013.
  21. June 2013 Project of the Month: ReactOS. Архивировано из первоисточника 2 июня 2013.