Открытых операционных систем много - одних лишь различных дистрибутивов Linux насчитывается несколько десятков. Но миллионы человек используют Windows и для них переход на открытую ОС другого типа очень сложен. Выходом из сложившейся ситуации могла бы стать Windows с открытым исходным кодом. И такая операционная система уже разрабатывается!
NT с открытым кодом
ReactOS это попытка разработать клон Windows c открытым исходным кодом. В качестве образца для копирования была выбрана Microsoft Windows NT 4.0. Перед разработчиками стоит цель не просто сделать среду, в которой бы запускались Windows-программы, а написать полноценную операционную систему, совместимую с Windows NT на уровне, как приложений, так и драйверов. Несмотря на то, что в качестве образца была выбрана Windows NT 4.0, разработчики всегда оглядываются на более поздние версии Windows 2000 и XP. ReactOS распространяется по лицензии GNU GPL. На данный момент ReactOS находится в стадии альфа-версии и до релиза еще далеко. Тем не менее, степень готовности операционной системы такова, что позволяет запускать некоторые графические и консольные приложения Windows. Поддерживаются программы, работающие в подсистеме win32. Поддержки других подсистем пока нет. Работающая ReactOS сейчас напоминает Windows, запущенную в защищенном режиме. В этом режиме в Windows работают лишь самые основные драйверы – клавиатуры, мыши, стандартный драйвер дисплея. Так и в ReactOS – стандартные драйверы практически готовы, а вот поддержка специфических устройств пока отсутствует. Конечно, какие-то драйверы можно устанавливать и использовать уже сейчас. Например, можно попытаться установить драйвер для видеокарты NVidia Riva TNT2 Model 64 для NT4. Инструкции о том, как это сделать приведены на официальном сайте. Что касается приложений, то здесь ситуация лучше. В ReactOS уже запускаются практически все простые Windows программы. Я имею в виду программы, которые используют только стандартные API-функции из стандартных библиотек, имеют стандартный Windows-интерфейс, и т.д. В списке совместимых приложений уже есть такие программы, как IrfanView, AbiWord, GNU Midnight Commander, компилятор MinGW.
Установка
Чтобы установить ReactOS на компьютер нужно достать свежий дистрибутив. Последняя версия на момент написания статьи была 0.2.5. Его можно взять с официального сайта http://reactos.com/. Сам дистрибутив имеет не такой уж большой размер, какой можно ожидать от операционной системы – всего лишь 8,6 мегабайт. Дело в том, что в дистрибутиве нет ничего лишнего – только ядро, библиотеки и несколько приложений. Для экспериментов этого вполне достаточно. ReactOS можно поставить вместе с текущей операционной системой, а можно в каком-либо эмуляторе. Я расскажу, как надо устанавливать ReactOS в vmware. Для этого тебе понадобится ISO-образ дистрибутива и загрузочная дискета. Запускаем vmware и создаем в ней новую виртуальную машину. Указывай конфигурацию «Custom». Затем нужно будет указать тип операционной системы. Поскольку ReactOS является клоном Windows NT 4.0, нужно выбрать пункт «Windows NT». Сетевая поддержка в ReactOS еще далека от совершенства, поэтому добавлять поддержку сети я не стал. Но если у тебя есть желание поэкспериментировать с сетью, тогда ты можешь настроить необходимые параметры в настройках виртуальной машины. Далее настраивай параметры жесткого диска. Выбирай «create new», когда дойдешь до вкладки «Specify disk file» найди кнопку «Advanced» и нажми на нее. Там выбери «IDE 0:0», иначе ReactOS просто не обнаружит винчестер. После того, как новая виртуальная машина создана, нужно подготовить ее виртуальный жесткий диск – разметить разделы и создать файловую систему. Для этого надо приготовить загрузочную дискету, вставить ее, и запустить виртуальную машину. В начале загрузки надо войти в БИОС vmware (клавишей F2) и настроить там загрузку с дискеты. Загрузившись с дискеты, надо запустить fdisk и создать раздел на жестком диске. Программа спросит, стоит ли включать поддержку больших дисков. Лучше включить. После создания активного раздела надо опять перезагрузиться и отформатировать его. ReactOS на сегодняшний день поддерживает лишь файловые системы FAT12/16/32. Когда жесткий диск виртуальной машины будет готов к использованию, можно приступить непосредственно к установке ReactOS. В настройках виртуальной машины надо будет в качестве CD-ROM подключить ISO-образ дистрибутива ReactOS. Затем, надо опять запустить виртуальную машину, залезть в БИОС и поставить там загрузку с CD-ROM. После этого остается лишь загрузиться с ISO-образа. Запустится инсталлятор. Он сообщит тебе о том, что не поддерживает более одного главного раздела на одном диске, и ряд других ограничений. Нажми Enter и перейди к следующему этапу установки. Там необходимо выбрать ряд параметров, таких как тип дисплея (VGA или VESA) и раскладку клавиатуры (русского языка нет, зато есть английский, французский, немецкий, шведский и датский). Можешь оставить все по умолчанию, только тип мыши все-таки придется указать, а то там стоит «no mouse», а без мыши в Windows обычно приходится туго. Далее выбирай уже созданный тобой раздел, куда будет устанавливаться операционная система, задавай имя папки, где она будет располагаться (по умолчанию C:reactos, но можно поставить и более привычное C:windows). Инсталлятор начнет копировать файлы. Это не займет много времени. Установщик спросит, куда записывать бут-сектор. Выбирай на жесткий диск, в MBR. Возможность создать загрузочный сектор на дискете является мерой предосторожности, а виртуальной машине ты не рискуешь повредить что-нибудь. На этом установка закончена. Теперь надо перезагрузиться, поставить в БИОСе загрузку с жесткого диска и подождать запуска ReactOS. Запустится мастер первоначальной настройки операционной системы. Там как обычно надо будет установить системное время, ввести пароль администратора и т.п. ReactOS обнаружит, что запущена внутри vmware и предложит установить соответствующий драйвер дисплея. Этот драйвер не идет вместе с дистрибутивом, а является частью vmware. Чтобы установить его, надо в меню vmware найти пункт «Install vmware tools». После того, как ты нажмешь «Install», в CD-ROM виртуальной машины появится диск с драйверами для Windows NT. В это время в диалоге настройщика ReactOS надо будет нажать «Next». Настройщик сам обнаружит и установит с диска соответствующий драйвер, тебе лишь будет необходимо выбрать рабочее разрешение и глубину цвета. Снова последует перезагрузка. Все, теперь система полностью установлена и готова к экспериментам! Инсталляция операционной системы не в эмуляторе, а на компьютер еще проще – надо всего лишь нарезать на болванку ISO-образ диска и загрузиться с нее.
Работа в ОС
Находясь в загруженной ReactOS ты видишь перед собой рабочий стол ReactOS Explorer. Интерфейс напоминает Windows NT. Операционная система содержит набор основных служебных утилит. Конечно же, их меньше, чем в дистрибутиве Windows. Присутствуют лишь основные инструменты, без которых не обойтись - проводник (explorer.exe), редактор реестра (regedit.exe), диспетчер задач (taskmgr.exe), блокнот (notepad.exe) и оболочка командной строки (cmd.exe). Можно попробовать установить и запустить какой-нибудь софт. На текущей стадии разработки глупо надеяться, что в ReactOS запустится какое-нибудь серьезное приложение, вроде Microsoft Office. Для этого в ReactOS просто нет всех необходимых библиотек. В принципе, если есть желание и время, то можно попытаться поэкспериментировать с установкой какой-нибудь большой программы, которая запускается в NT. Библиотеки, необходимые для ее работы придется взять из дистрибутива Windows NT (если он есть в наличии). Но не факт, что попытка завершится успехом. Лично я, когда мне приходится устанавливать Windows с нуля, первым делом из программного обеспечения ставлю архиватор. И здесь, когда я установил ReactOS, я первым делом решил поставить WinRAR. Ставить надо английскую версию программы, так как пока операционная система не понимает русского языка и вместо кириллицы отображает загадочные квадратики. Я взял дистрибутив WinRAR 3.40 и попытался установить программу. Инсталлятор прекрасно запустился и без проблем установил приложение в папку Program Files. На рабочем столе появился знакомая иконка. Сам WinRAR тоже отлично запустился. Я начал тестировать его - проверил, как он запаковывает и распаковывает разные архивы. Все прекрасно работало, WinRAR нормально выполнял свои функции в этой операционной системе - так же как и в Windows NT и в других версиях Windows. В ReactOS Explorer все файлы с расширением .zip и .rar стали открываться в WinRAR по двойному клику мыши, как и должно быть. Если тебе не нравится работать в стандартном проводнике (хоть он и немного отличается от своего собрата из Windows), то ты можешь попытаться установить какой-нибудь файловый менеджер. Это может быть, например FAR. Разработчики ReactOS утверждают, что их операционная система совместима с Windows-версией файлового менеджера GNU Midnight Commander. Я проверил это - скачал архив с программой и установил ее. Действительно, программа запускается и выполняет все файловые операции, которые от нее требуются. Немного удивил тот факт, что все псевдографические символы по непонятной причине отображались квадратиками. Наверное, дело тут в шрифтах из дистрибутива. Надеюсь, в следующих версиях разработчики обратят на это внимание, а то консольные приложения выглядят неаккуратно. Чтобы смотреть картинки под ReactOS можно установить IrfanView, чтобы открывать и редактировать документы подойдет AbiWord. А вот чтобы послушать музыку придется, прежде всего, заставить работать драйвер звуковой карты, а его придется ставить вручную, ведь мастера по установки оборудования в ReactOS нет. Так что погоди устанавливать WinAMP до лучших времен. Попытка воспользоваться программой для просмотра видео, скорее всего, тоже ни к чему не приведет. Из всех игр, в ReactOS запускаются только самые простые. Например, там очень хорошо работают игры <Сапер> и <Косынка> из состава Windows. В виде исключения, экспериментаторы умудрились запустить под ReactOS Quake2! И самое главное. Как в ReactOS обстоит дело с сетью? Я отвечу - пока никак. Сетевая поддержка разрабатывается, но еще достигла рабочего состояния. Если ты заглянешь в папку system32, то ты увидишь там некоторые сетевые приложения (ping.exe, ipconfig.exe). Но реально пользоваться ими пока еще рано. Так что полазить по Интернету с помощью ReactOS не удастся.
Разработка
Разработчикам этой операционной системы предстоит еще много работы. Как минимум в ней должно устанавливаться и запускаться все, что способно работать в среде Windows NT. Это касается как приложений, так и драйверов. Важным этапом на пути к релизу станет тот момент, когда ReactOS станет самодостаточной системой. Это произойдет тогда, когда, имея на машине установленной лишь одну ReactOS, можно будет обновлять ее средствами самой операционной системы. Уже сейчас исходники операционной системы можно компилировать на ней самой - компилятор MinGW, который используется при разработке, запускается и работает в ReactOS. Следующим шагом, наверное, будет законченная сетевая поддержка, которая позволит скачивать эти самые исходники из сети. Сейчас вся работа сконцентрирована на достижении стабильной работы стандартных драйверов, библиотек и приложений. Скорость работы ReactOS еще не слишком большая, но разработчики утверждают, что оптимизацией кода они займутся лишь тогда, когда он станет стабильным. Разработчики ReactOS очень тесно сотрудничают с членами команды разработки проекта Wine что бы, использовать накопленный ими опыт. Wine это открытая реализация Windows API в среде unix-подобных ОС. Сотрудничество ведется в основном в сфере пользовательской части операционной системы. Поэтому можно с уверенностью полагать, что все, что сейчас запускается в Wine, когда-нибудь запустится и в ReactOS. В будущем планируется добавить в ReactOS очень многое. Архитектура NT такова, что позволяет операционной системе иметь множество подсистем. Сейчас есть только подсистема win32, но разработчики заинтересованы добавить также подсистемы Java, OS/2 и DOS. То же касается и файловых систем. На сегодняшний день есть только FAT и ISO-9660 (CD-ROM). Планируется поддержка NTFS, ReiserFS, ext3, JFS и других. Было бы неплохо, если бы ReactOS в этом плане не уступала бы Linux. Я считаю, что как только ядро ReactOS примет законченный вид, его ждет большое будущее. На платформу Windows портировано множество opensource-приложений. Как только станет возможным запускать их на альтернативной открытой windows-совместимой операционной системе, так сразу же появится хорошо укомплектованные дистрибутивы. Именно они смогут составить реальную конкуренцию Microsoft Windows, занимающую господствующее положение на рынке настольных операционных систем. Ведь для обычного пользователя, привыкшего к продукции Microsoft, переход на ReactOS окажется не труднее перехода, скажем с Windows 98 на Windows XP. И уж конечно, это будет гораздо легче, чем изучать с нуля основы работы в Linux или FreeBSD. Время для этого еще не пришло - разработка еще не закончена. Команда девелоперов ReactOS готова принять в свои ряды новых членов. О том, как помочь проекту ты можешь узнать на официальном сайте.
ReactOS Explorer
ReactOS Explorer - это аналог Windows Explorer. Его можно использовать не только вместе с ReactOS, но и как замену стандартной оболочки в Windows 2000, XP и 2003. Он реализует все основные возможности Windows Explorer - рабочий стол, панель задач, трей и меню <пуск>. ReactOS Explorer не является точной копией своего аналога из Windows; например окно Проводника там сделано немного по-другому. Ты можешь заметить большую разницу в наборе доступных функций, когда он запущен под Windows и ReactOS. Контекстные меню в ReactOS почти пустые по сравнению с Windows. Это зависит от библиотеки shell32.dll, а в ReactOS в ней пока реализованы лишь самые основные функции. ReactOS Explorer уже сейчас поддерживает многие возможности, которых еще нет в самой ReactOS. Остается только добавить их в операционную систему в будущем. По сравнению с аналогом из Windows, ReactOS Explorer обладает некоторой дополнительной функциональностью. С его помощью можно перемещаться не только по файловой системе, но и по реестру и по дереву объектов NT. В нем так же отсутствует до сих пор не убранный из Windows баг - когда процесс, создавший иконку в трее, прерывается, и его иконка остается в трее до тех пор, пока на нее не наведешь курсор мыши. В ReactOS Explorer иконка исчезает автоматически, как только закрывается породивший ее процесс. В меню <пуск> присутствует дополнительный пункт меню , который позволяет напрямую перемещаться по файловой системе. Это довольно удобно - не надо каждый раз, когда требуется добраться до какого либо файла запускать файловый менеджер и окно проводника.