03.03.2013 Views

LXFDVD - Журнал Linux Format

LXFDVD - Журнал Linux Format

LXFDVD - Журнал Linux Format

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

класс литературы (см. например, процитированную выше книгу Свена<br />

Шрейбера).<br />

Впрочем, разработчики <strong>Linux</strong> не избежали тех сложностей, с которыми<br />

столкнулись их коллеги из мира Windows. Как бы хороша и<br />

всеобъемлюща ни была открытая ОС, проблема эмуляции удачливого<br />

коммерческого конкурента возникла давно и до сих пор не сходит с<br />

повестки дня. Не удивительно, что именно проект WINE (www.winehq.<br />

org) стал точкой соприкосновения разработчиков <strong>Linux</strong> и ReactOS.<br />

Значительная часть кода WINE может использоваться в ReactOS (и<br />

наоборот), и некоторые программисты из группы ReactOS одновременно<br />

работают и над WINE.<br />

Знакомство<br />

Операционная система ReactOS (последняя версия – 0.3.3) доступна<br />

для скачивания на сайте проекта (www.reactos.org) и на <strong>LXFDVD</strong>. На<br />

сайте ReactOS красуется картинка с ReactOS CD в фирменной упаковке,<br />

но если вы и в правду захотите иметь такой диск, вам придется сделать<br />

его самостоятельно. ReactOS доступен в виде образа установочного CD,<br />

образа «живого» CD, позволяющего загрузить систему без установки<br />

на компьютер или в виде предустановленных пакетов для эмуляторов<br />

QEMU и VMWare (для знакомства с ReactOS я выбрал последний вариант).<br />

Можно, разумеется, собрать систему самому из исходных текстов,<br />

причем это совсем не сложно.<br />

Скорость загрузки ОС соответствует ее размерам (то есть, значительно<br />

превышает скорость загрузки Windows). В процессе загрузки<br />

на экране появляется эмблема ReactOS (Рис. 1), затем перед нами<br />

предстает рабочий стол, выполненный в классическом стиле Windows<br />

95/NT. На кнопке Пуск вместо эмблемы Microsoft изображена, естественно,<br />

эмблема ReactOS. В самом начале работы в глаза бросился<br />

неприятный штрих – операционная система предложила установить<br />

драйвер какого-то устройства, которое она сама не смогла опознать.<br />

Откуда в предустановленной виртуальной среде появилось неизвестное<br />

устройство, я не понял, но должен отметить, что окно мастера<br />

установки драйверов очень похоже на аналогичное окно Windows.<br />

Простим разработчикам мелкие огрехи графического интерфейса вроде<br />

меню, которые не всегда вовремя исчезают с поверхности рабочего<br />

стола, – все это проблемы роста, которые, я уверен, будут устранены<br />

когда разработчики совладают с «начинкой» системы. Структура<br />

меню кнопки «Пуск», естественно, напоминает структуру аналогичного<br />

меню Windows, хотя и в упрощенном варианте. В меню есть разделы<br />

Programs, My Documents и Settings. В разделе игр находим стандартные<br />

для Windows «Сапер» и «Солитер». Если ReactOS все еще не подходит<br />

для высокопроизводительного офисного труда, то самые популярные<br />

убийцы рабочего времени уже на месте (Рис. 2).<br />

Говорить о производительности и стабильности системы в сравнении<br />

с Windows или <strong>Linux</strong>, разумеется, еще слишком рано. Пока что о<br />

зрелости разработки ReactOS можно судить по количеству поддерживаемых<br />

программ. Firefox (Рис. 3) работает в ReactOS почти без проблем<br />

(я, правда, устанавливал его без расширений и Google Toolbar),<br />

ReactOS<br />

Уровни документированности Windows<br />

API<br />

Клонирование Windows может быть увлекательным делом, в своем роде. Иногда анализ работы<br />

системы превращается в детективное расследование. Разумеется, всем программистам приходится<br />

искать ошибки в своих (а иногда, и чужих) программах. Эта работа тоже требует некоторых<br />

навыков из арсенала Шерлока Холмса. Однако в случае с проприетарными системами детективная<br />

аналогия становится еще более очевидной, поскольку программист, изучающий такую систему,<br />

часто вынужден искать то, что было вполне сознательно спрятано от его глаз коллегами «с<br />

той стороны баррикад». Свен Шрейбер делит интерфейсы программирования Windows на четыре<br />

категории, согласно степени документированности:<br />

1 Официально документированные. Описание этих API можно найти в SDK, DDK и MSDN.<br />

2 Полудокументированные. Вы не найдете описания этих API в официальной литературе<br />

Microsoft, но входящие в них функции и типы данных можно встретить в общедоступных заголовочных<br />

файлах и примерах программ из тех же SDK и DDK.<br />

3 Недокументированные, но не скрытые. Упоминание этих функций и типов данных не встречается<br />

ни в литературе Microsoft, ни в доступных исходных текстах, но их можно «выудить» из<br />

различных компонентов системы с помощью специальных инструментов (например, отладчика<br />

Kernel Debugger).<br />

4 Полностью скрытые. Эти API и компоненты так хорошо запрятаны, что обнаружить их можно<br />

только с помощью обратной инженерии и инъекции кода. Как правило, скрытые API связаны с<br />

очень специфичными механизмами работы Windows, знание которых вряд ли понадобится разработчику<br />

эмуляторов наподобие WINE, но может пригодиться тем, кто клонирует ОС Windows<br />

(и, конечно, всевозможным злоумышленникам).<br />

впрочем, судя по всему, разработчики ReactOS «затачивали» свою<br />

систему под этот браузер. Opera устанавливается и запускается, но<br />

загружать web-страницы, увы, не может. Архиватор WinRAR не только<br />

установился в системе, но и отлично справлялся со своими обязанностями<br />

(следует правда, отметить некоторые огрехи отображения<br />

графического интерфейса, имевшие место как в WinRAR, так и в неработоспособной<br />

Opera).<br />

Список приложений, с которыми дружит ReactOS, конечно, не<br />

исчерпывается приведенным выше. На сайте проекта можно найти<br />

экранные снимки, демонстрирующие запуск OpenOffice.org (хотя,<br />

поскольку речь идет об эмуляции Windows, демонстрация Microsoft<br />

Office выглядела бы внушительнее), Macromedia Flash Player, Nero<br />

Burning Rome и даже Unreal Tournament (первой версии). Для работы с<br />

локальными файлами в ReactOS есть ReactOS Explorer и WineFile. Есть<br />

в системе и свой собственный web-браузер, который пока что бесконечно<br />

далек от IE. Любопытно отметить наличие в ReactOS четырех<br />

рабочих столов, кнопки переключения между которыми расположены<br />

на панели задач. Тот, кто подумает, что разработчики ReactOS украли<br />

идею нескольких рабочих столов у <strong>Linux</strong>, ошибется. В Windows эта концепция<br />

реализована уже давно, только средства переключения между<br />

рабочими столами по умолчанию не установлены.<br />

Майк Сондерс в обзоре Syllable (LXF78) как-то отметил быстроту<br />

загрузки системы. ReactOS тоже загружается очень быстро, но, учитывая<br />

небольшое число реализованных системных компонентов, радо-<br />

Рис. 1. (слева)<br />

Так стартует<br />

ReactOS.<br />

Рис. 2. (справа)<br />

Наши любимые<br />

программы.<br />

Январь 2008 <strong>Linux</strong> <strong>Format</strong> 51

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!