OS/2: между прошлым и будущим

Старожилы наверняка помнят “полуось”. О том, как поживает система сейчас и каковы ее перспективы, “КТ-Онлайн” рассказал один из ведущих разработчиков компании eCo Software.

19 августа 2008 г. 2:44 пользователь Andrey M. Krupin akrupin@computerra.ru написал:

A.K. - Наверняка кто-нибудь из читателей “Компьютерры-Онлайн” успел в свое время поработать в OS/2 Warp 4.0. Полагаю, им было бы интересно узнать, насколько далеко eComStation шагнула от выпущенной двенадцать лет назад операционной системы?

Ю.П. - Прежде чем разговаривать об отличиях, хотел бы уточнить, что Warp 4 выпускалась еще дважды под именами OS/2 Warp Conventional Package и известна также как версия 4.52, причем в двух вариантах. Серверном (Aurora) и клиентском (Merlin). Эти версии вышли в 2001 году. Serenity Systems выпустила свою первую версию именно на базе Warp CP2 в 2001. Первые отличия от Warp Server состояли в том, что был написана оболочка для инсталлятора, которая существенно упростила и осовременила процесс установки системы. Правда, первоначальная система установки была внов полностью переписана в более поздней версии eComStation. Кроме инсталлятора были обновлены прочие компоненты, в частности, был расширен набор поставляемых с системой драйверов оборудования. Также изменения коснулись внешнего вида системы. Оболочка рабочего стола WPS была существенно расширена за счет стороннего продукта XWorkplace.

A.K. - Чем 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, и кардинального изменения программного обеспечения не потребуется.

Также продолжается развитие и рабочего стола. Видимо в силу исторических причин, IBM выполниал систему в “серых тонах”. Имеет достаточно слабую возможность по прикручиванию рюшечек и шашечек (а оно нам надо?). Все же не стоит забывать, что с точки зрения пользователя сначала смотрят на обертку, а уж потом на функциональность. Посему и эта область не забыта. Та же eCo Software разрабатывает расширение WPS и Presentation Manager - eSchemes. Системы для управления цветом и, так называемых, схем оформления (аналогом в большинстве систем является термин “тема”). Основным разработчиком являюсь я. Кроме визуальной части не забывают и об функциональной. eCo Software разрабатывает ряд расширений 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 (более подробней про это можно прочитать http://.…). Первой нашей задачей является поддержка запуска большинства консольных приложений OS/2 под OS/2 Server).

Т.к. нашей финальной задачей является использование ядра L4, то был разработан загрузчик ядра (а если быть точнее, то полный цикл загрузки) на базе GRUB и механизма IFS (Installable File System). Т.е. были совмещены два подхода к процессу загрузки (OS/2 и Linux) в результате чего был получен загрузчик включающий все лучшее из двух “миров”. Загрузчик стал более модульный, появились двоичные интерфейсы, обеспечивающие совместимость от версии к версии и дающие возможность расширять загрузчик без его полной перекомпиляции. Загрузчик поддерживает два интерфейса с ядром системы: совместимый с OS/2 и совместимы со спецификацией Multiboot. Также есть возможность загрузки ядер Linux и совместимых, и chain-loading.

Из более “высокого” уровня в наличии практически 70-80% утилит командной строки, некоторые элементы подсистемы мультимедиа, Presentation Manager. Разработкой WPS и поддержки сети проект osFree на данном этапе не занимается.

Сейчас в проекте задействовано 5 человек: Юрий Прокушев (Россия), Валерий Седлецкий (Россия), Sven Eric Rosen (Italy?), Sascha Schmidt (Germany), Mike Greene (USA?). В более ранние периоды в проекте участовали: Bartosz Tomasik (Poland), John Martin Andersen (USA?), Michael Neceasek(USA?), Cristiano Guadagnino(Italy). Если представить по разрабатываемым в данный момент областям, то картина следующая:

Loader: Валерий Седлецкий, Mike Greene

OS/2 Server: Юрий Прокушев, Sven Eric Rosen, Sascha Schmidt

Control Program Interface: Юрий Прокушев, Sascha Schmidt

Presentation Manager: Sven Eric Rosen

В проекте широко используются исходные тексты сторонних проектов. В основном, с лицензией GNU [L]GPL. Проект сильно заинтересован в энтузиастах в различных областях. Платформа разработки на данный момент может быть любая: Windows, OS/2, Linux. Основной компилятор - Open Watcom C/C++.

А.К. - Спасибо!

Всегда пожалуйста.