OS/2: между прошлым и будущим
АрхивИнтерактивСтарожилы наверняка помнят "полуось". О том, как поживает система сейчас и каковы ее перспективы, "КТ-Онлайн" рассказал один из ведущих разработчиков компании eCo Software.
Старожилы наверняка помнят, что когда-то, лет так двадцать с гаком назад, компании IBM и Microsoft работали бок о бок над созданием операционной системы OS/2, впервые увидевшей свет в декабре 1987 года. Затем, в начале девяностых годов, когда была практически готова вторая бета-версия системы, пути двух гигантов IT-индустрии разошлись, и IBM пришлось взять на себя ответственность за дальнейшее развитие операционки. Усилиями компании была выпущена OS/2 2.0, которая в отличие от Windows 3.1 была полностью 32-разрядной системой, затем на рынке появилась третья редакция продукта, а чуть позже (в сентябре 1996 года) - четвертая. Увы, ни обновленный интерфейс, ни потрясающая надежность, ни наличие передовых технологий Java, OpenDOC и OpenGL, ни обилие программного обеспечения, поставляемого в комплекте с системой, не смогли оказать решающего влияния на пользователей, все чаще отдававших свой выбор в пользу Windows. Былая популярность OS/2 быстро пошла на убыль, и система так и не получила широкого распространения. Но, даже оставшись в тени продуктов корпорации Microsoft, "полуось" не прекратила своего развития. О том, как поживает система сейчас, чем может порадовать пользователей ее преемница eComStation, и каковы перспективы продукта на рынке, редакции "Компьютерры-Онлайн" рассказал ведущий разработчик компании eCo Software и координатор проекта osFree, посвященного созданию клона операционной системы IBM OS/2, Юрий Прокушев.
- Наверняка кто-нибудь из читателей "Компьютерры-Онлайн" успел в свое время поработать в OS/2 Warp 4.0. Полагаю, им было бы интересно узнать, насколько далеко eComStation шагнула от выпущенной двенадцать лет назад операционной системы.
- Прежде чем разговаривать об отличиях, хотел бы уточнить, что Warp 4 выпускалась еще дважды: под именем OS/2 Warp Convenience Pack и как версия 4.52, причем в двух вариантах - серверном (Aurora) и клиентском (Merlin). Эти версии вышли в 2001 году. Serenity Systems выпустила свою первую версию eComStation именно на базе Warp CP2. Первые отличия от Warp Server состояли в том, что был написана оболочка для инсталлятора, которая существенно упростила и осовременила процесс установки системы. Правда, первоначальная система установки была полностью переписана в более поздней версии eComStation. Помимо инсталлятора были обновлены и прочие компоненты: в частности, был расширен набор поставляемых с системой драйверов оборудования. Также изменения коснулись внешнего вида системы. Оболочка рабочего стола WPS была существенно расширена за счет стороннего продукта XWorkplace.
Современная eComStation больше направлена на обновление и расширение драйверов оборудования. Ряд проектов коснулся расширения интерфейса. Есть и существенные изменения интерфейсной части (например, более простая установка принтеров, которая исторически являлась сложной процедурой в OS/2; новая программа установки компонентов подсистемы мультимедиа и т.д.). Следует отметить, что eComStation в большей степени ориентирована на существующих пользователей OS/2, которые поставляют решения на ее базе. Однако это не означает, что и для SOHO [от англ. Small Office, Home Office - название сегмента рынка электроники, предназначенного для домашнего использования. - Прим. редакции] система не представляет интереса. Несомненно, здесь будут те же проблемы, что и при установке прочих ОС, отличных от Windows. Свои особенности, плюсы и недостатки. Для читателей, интересующихся историей развития eComStation, могу предложить к прочтению вот этот материал.
- Чем eComStation может быть интересна для домашних пользователей?
- Достаточно спорный вопрос. OS/2 изначально разрабатывалась для рынка SOHO (хоть его тогда еще так не называли). И, по сути, ветка OS/2, получившая свое развитие от версии 2.0, живет своей независимой жизнью. Ветка OS/2 версии 3.0 (известная в настоящее время как Windows NT) получила значительно большее распространение и практически доминирует на рынке. И там, и там есть свои плюсы и минусы. За счет меньшей распространенности eComStation меньше подвержена атакам вирусов, при этом выполняет большинство стандартных функций любой операционной системы. В отличие от своего "брата", eComStation в своем составе содержит только необходимые решения, при практически полном отсутствии избыточных. Система очень прозрачная и модульная. Для использования в качестве Internet Surfer - самая подходящая альтернатива Windows. Обычно люди, работавшие на OS/2 eComStation, даже при переходе на другую систему, часто следят за состоянием дел с OS/2 и перенимают подходы, использованные в системе. С моей личной точки зрения, eComStation ничем не лучше и не хуже для домашнего пользователя, чем тот же Linux. По-моему, тут дело вкуса и привычек. Естественно, относясь к семейству CP/M, eComStation более привычна для пользователей Windows, чем тот же Linux. Как бы Linux не продвигался на desktop-системы, все же это инструментальная среда. Она больше напоминает систему разработки, чем пользовательскую систему, и больше подходит для организации небольших серверов. И, конечно же, не стоит забывать про объектный рабочий стол eComStation. На данный момент не существует ни одного аналога подобной системы. После некоторой адаптации к концепции такого рабочего стола все остальные системы кажутся какими-то недоделанными или нечеткими. Опять же, отмечу, что это чисто субъективное мнение. Лично я пользуюсь системой с 96-го года, и всякие мои попытки перейти на другую не увенчались успехом. Да, для разработки программ для студентов (я преподаю в вузе) использую Windows, так как там это "политика партии". Да, для организации небольших серверов я использую Linux. Но для дома я использую eComStation. Равно как и для большинства моих разработок.
В целом, если вы не игроман, если вам не требуется обработка трехмерной графики, и если вы увлекаетесь компьютером как таковым, то, возможно, эта система как раз для вас. Модульная, достаточно надежная, и, главное, простая по своей сути.
- В настоящее время разработчики компании Serenity Systems International активно работают над выпуском второй редакции eComStation. Каковы, на ваш взгляд, перспективы обновленной редакции системы, и не предстоит ли данному продукту повторить судьбу прародительницы?
- Кто знает? Могу только сказать, что пока "помирать" система не собирается. Являясь одним из разработчиков eCo Software (дистрибьютор eComStation в России и разработчик компонентов системы) могу сказать, что перспективы в дальнейшем развитии есть. По заказу MenSys B.V. (фактический разработчик и дистрибьютор системы) eCo Software выполнила разработку подсистемы ACPI, которая открыла для eComStation путь к современному оборудованию. На данный момент основной разработчик подсистемы ACPI, Павел Штеменко, занимается развитием загрузчика ядра и разработкой замены ядра. Есть определенные успехи (альфа-версии ядра сейчас проходят испытания на различном оборудовании). Так что можно ожидать обновления подсистем ядра, которые до сих пор имеют 16-разрядный код. Правда, вопреки бытующему мнению, что 16-разрядный код - это плохо, разработчики OS/2 не имеют на этот счет иллюзий, и полностью 16-разрядный код вряд ли будет искоренен по причине полного отсутствия необходимости в этом. Кроме того, поддержка 16-разрядной части все еще необходима для поддержки старых приложений. А сообщество OS/2 очень консервативно и не любит отказываться от имеющихся наработок. Видимо, работает старый принцип "если работает, то ничего не меняй". В то же время разработки в области ядра позволяют ввести поддержку x86-64, что, несомненно, постепенно становится актуальным. Сейчас ясно, что x86-64 имеет явное лидерство по сравнению с IA64, и кардинального изменения программного обеспечения не потребуется.
Также продолжается и развитие рабочего стола. Ведь с точки зрения пользователя, сначала смотрят на обертку, а уж потом на функциональность. Посему и эта область не забыта. Та же eCo Software, к примеру, разрабатывает eSchemes - единую систему для управления цветом и схемами оформления интерфейса системы. Основным разработчиком является ваш покорный слуга. Правда, не очень ясно, когда будет реализована запланированная функциональность, но думаю, что к началу следующего года. Не забыта и функциональная часть. eCo Software разрабатывает ряд расширений для оболочки WorkPlace Shell (WPS), достаточно интересных по своей концепции. Это и расширенный LaunchPad, и адресная книга, интегрированная в WPS, и поддержка панелей управления, и "быстрое" формирование расширений WPS.
Плюс достаточно активно развиваются Open Source порты с Linux. Вообще, сложившаяся инфраструктура развития системы довольно интересна. На рынке система представлена как продукт Serenity Systems. Головным разработчиком и дистрибьютором является MenSys B.V. Большинство компонентов системы разрабатываются eCo Software и Netlabs.org.
В целом, пока развитие идет медленно, но уверенно. Что будет потом - посмотрим. Я так думаю, система будет выпускаться еще не один год.
- Известно, что IBM дважды отвечала отказом на петицию сообщества энтузиастов с просьбой открыть исходные коды операционной системы, мотивируя свое решение техническими, юридическими и бизнес-причинами. На ваш взгляд, какова истинная подоплека отказа компании открыть исходники "полуоси", и планируется ли подавать подобные петиции в будущем?
- Причины, я так думаю, достаточно тривиальны. Во-первых, IBM не является единственным владельцем исходных кодов. Наверняка лицензии исходных кодов не предусматривали смены лицензии. Чисто экономически невыгодно пытаться сменить лицензию, особенно учитывая то, что львиная доля исходных текстов принадлежит той же Microsoft. Во-вторых, ходят слухи, что IBM утеряла часть исходных кодов системы. Слухи, конечно, не подтверждены, но источники достаточно достоверны, чтобы им верить. В-третьих, вряд ли IBM заинтересована открывать "ящик Пандоры", тем более что она взяла направление на перевод клиентов OS/2 на систему Linux. Открытие исходных кодов приведет к замедлению этого процесса.
С другой стороны, ряд технологий было бы интересно получить в виде исходных кодов. Как, к примеру, System Object Model. Наверное, одна из мощнейших в свое время (да в ряде случаев и сейчас) компонентных объектных моделей. Наиболее близкий аналог - Component Object Model. Наряду с уже открытым кодом Object REXX можно получить очень сильную объектную модель. При достаточной поддержке со стороны оболочки рабочего стола можно получить легко расширяемую, гибкую и простую в использовании систему.
Также представляет интерес исходный код Workplace Shell. На данный момент практически не существует аналога данной концепции. Наиболее близко к идеям WPS подобрались GNOME и KDE, но так как, как и везде в мире Unix, двоичная совместимость не обеспечивается, то плюсы наличия подобных технологий достаточно сомнительны.
Можно перечислить еще ряд вещей, представляющих интерес. Например, GRADD - драйвер экрана, OpenDoc, VoiceType (хотя, насколько мне известно, IBM поддерживает более поздний вариант этой системы с открытым кодом).
Думаю, что если будет следующая петиция, то ориентирована она будет на открытие исходных текстов ключевых частей системы. Если суммировать, то это (по приоритетам): SOM, WPS, GRADD, OpenDoc, VoiceType. Остальное для компьютерной индустрии в целом представляет малый интерес, так как либо существуют достаточно сильные аналоги, либо данное направление устарело. Если SciTech откроет исходный текст своей системы драйверов SNAP, то GRADD уже не потребуется.
- Юрий Анатольевич, насколько нам известно, вы являетесь одним из координаторов проекта osFree, целью которого является создание клона OS/2 с открытым исходным кодом. Скажите, пожалуйста, почему за основу вами была взята устаревшая OS/2 Warp 4 (Merlin), на какой стадии развития находится ваш проект, и много ли энтузиастов принимают в нем участие?
- Сначала уточнение по поводу Merlin'а. На самом деле это практически последний доступный интерфейс программирования приложений (API). В отличие от того же мира Windows или GNU, интерфейсы в OS/2 никогда не менялись кардинально. Новые функции вводились только по необходимости. Можно отметить только появление около двух десятков API в более поздних версиях. API eComStation - это вообще отдельный вопрос. Он практически недокументирован, и новые API практически не добавляются. То есть, на данном этапе выбрано наиболее устоявшееся подмножество API. При его реализации цель будет сдвинута на более свежую версию, но пока про это говорить еще рано.
На текущей стадии osFree можно характеризовать как раннюю alpha-версию. Сейчас мы имеем рудиментарный OS/2 Server, позволяющий запускать 32-разрядные приложения в формате LX на OS/2 (в неком подобии виртуальной машины, то есть без прямого доступа запускаемых программ к функциям "хостовой" OS/2) и Linux. В планах сделать возможность запуска приложений и под Windows. В окончательном варианте OS/2 Server будет функционировать под управлением микроядра L4 (получить информацию о нем можно, проследовав на эту или эту страницу). Первоочередной нашей задачей является поддержка запуска большинства консольных приложений OS/2 под OS/2 Server.
Так как нашей финальной задачей является использование ядра L4, то был разработан загрузчик ядра (а если быть точнее, то полный цикл загрузки) на базе GRUB и механизма IFS (Installable File System). То есть были совмещены два подхода к процессу загрузки (OS/2 и Linux) в результате чего был получен загрузчик, включающий все лучшее из двух "миров". Загрузчик стал более модульный, появились двоичные интерфейсы, обеспечивающие совместимость от версии к версии и дающие возможность расширять загрузчик без его полной перекомпиляции. Поддерживаются два интерфейса с ядром системы: совместимый с OS/2 и совместимый со спецификацией Multiboot. Также есть возможность загрузки ядер Linux.
Из более "высокого" уровня в наличии практически 70-80% утилит командной строки, некоторые элементы подсистемы мультимедиа, Presentation Manager. Разработкой WPS и поддержки сети проект osFree на данном этапе не занимается.
Сейчас в проекте задействовано пять человек: Юрий Прокушев, Валерий Седлецкий, Sven Eric Rosen, Sascha Schmidt, Mike Greene. В более ранние периоды в проекте участвовали: Bartosz Tomazik, John Martin Andersen, Michal Necasek, Cristiano Guadagnino, Евгений Коцюба. Если представить по разрабатываемым в данный момент областям, то картина следующая:
- Loader: Валерий Седлецкий, Mike Greene,
- OS/2 Server: Юрий Прокушев, Sven Eric Rosen, Sascha Schmidt,
- Control Program Interface: Юрий Прокушев, Sascha Schmidt,
- Presentation Manager: Sven Eric Rosen,
- DOS subsystem: планирует работать Alan Grippon.
В проекте широко используются исходные тексты сторонних проектов. В основном, с лицензией GNU [L]GPL. Проект сильно заинтересован в энтузиастах в различных областях. Платформа разработки на данный момент может быть любая: Windows, OS/2, Linux. Основным компилятором является Open Watcom C/C++.
Проект заинтересован в сторонней помощи, в частности, разработчика Dos/Win16 для реализации поддержи Dos/Win16 подсистем, разработчика PHP для улучшения ситуации с сайтом проекта, ну и разработчиков OS/2 для реализации подсистемы OS/2. Желающие поучаствовать всегда могут связаться со мной или через форум на сайте Оsfree.org.