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.

ReactOS<br />

Народно-освободительная<br />

реакция Свободная<br />

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

информации о том, как работают их операционные системы. Самый характерный, на мой взгляд,<br />

пример такого рода - весьма оригинальный и очень полезный интерфейс MS-DOS Network Redirector,<br />

описанный в книге Undocumented DOS (Schulman et al., 1993). Сколько времени и усилий можно<br />

было бы сэкономить, если бы люди из Microsoft опубликовали документацию к этому интерфейсу<br />

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

Sven B. Schreiber, “Undocumented Windows 2000, Secrets Cookbook”<br />

Вы спрашиваете – возможно ли создать новую Unix-систему за какие-то несколько месяцев, при том, что у вас под рукой нет исходных тестов? Да, это возможно, поскольку<br />

для всех важнейших интерфейсов опубликованы общедоступные стандарты.<br />

Erik Raymond, “Samizdat: Stinks on Ice”<br />

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

В<br />

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

Компания Microsoft создала, возможно, самую успешную<br />

в мире модель коммерческой разработки ПО и вытеснила<br />

коммерческих конкурентов из всех сфер бизнеса, за которые<br />

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

праздновала окончательную победу над OS/2 и Lotus 1-2-3, на сцене<br />

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

коммерческим гигантам среды. Вскоре новому явлению было<br />

придумано и имя – Open Source. С первых дней триумфального шествия<br />

движения за свободное ПО в нем выделилось направление, нацеленное<br />

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

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

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

успешную коммерческую программу всех времен и народов – операционную<br />

систему Microsoft Windows.<br />

Собственно говоря, бесплатные аналоги операционных систем<br />

Microsoft создавались еще во времена MS DOS. В 1996 году несколько<br />

программистов образовали группу под названием FreeWin95. Название<br />

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

набиравшей популярность 32-битной операционной системы<br />

Windows 95. Как это часто случается с амбициозными проектами, группа<br />

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

В 1998 году началась разработка нового открытого подобия<br />

ОС от Microsoft. На этот раз за основу для подражания была взята не<br />

Windows 95, а Windows NT. Сами участники проекта рассматривали<br />

свое детище как ответную реакцию на растущий монополизм Microsoft<br />

и назвали новую операционную систему соответственно: ReactOS.<br />

Между ReactOS и другими проектами-имитаторами операционных<br />

систем Microsoft существует одно важное, хотя пока что и не очень<br />

заметное, различие: разработчики ReactOS не стремятся клонировать<br />

операционная система – это<br />

не обязательно Unix. Спешите видеть –<br />

Андрей Боровский рассказывает о<br />

Microsoft Windows со страниц <strong>Linux</strong><br />

<strong>Format</strong>!<br />

Microsoft Windows. Задача ReactOS – создание открытой системы, совместимой<br />

с Windows на уровне приложений и драйверов. В остальном<br />

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

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

на уровне драйверов, в том числе устанавливаемых драйверов<br />

файловых систем (IFS) требует довольно точного воспроизведения<br />

внутренней структуры ядра Windows (которое разработчики ReactOS<br />

прилежно изучают).<br />

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

система является открытым аналогом Windows, так же как <strong>Linux</strong> является<br />

открытым аналогом Unix, между ReactOS и <strong>Linux</strong> существуют принципиальные<br />

различия. На сегодняшний день Unix – это скорее набор спецификаций,<br />

нежели операционная система. Спецификации Unix открыты<br />

и каждая реализация ОС стремится соответствовать им по мере сил.<br />

В случае с Windows эталоном реализации является конкретная операционная<br />

система, притом закрытая. В некоторой степени спецификацией<br />

Windows можно считать описание API, которое содержится в SDK и DDK,<br />

но это описание, во-первых, неполно, а, во-вторых, не всегда соответствует<br />

тому, как на самом деле работает система. Поскольку разработчики<br />

ReactOS стремятся добиться совместимости с уже существующим<br />

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

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

Различия в подходах к доступности исходных текстов системы оказывают<br />

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

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

«секретными» функциями и недокументированными возможностями.<br />

Приобщившийся к «тайному знанию» Microsoft (благодаря<br />

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

преимущество над конкурентами. Охота за секретами Windows<br />

превратилась в увлекательное занятие и породила весьма обширный

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

Saved successfully!

Ooh no, something went wrong!