DATE: 2004-03-03 11:19:34
AUTHOR: Yuri Prokushev (prokushev@freemail.ru)
Первая статья по Open Source OS/2 вызвала довольно активную реакцию. В связи с этим на ваше внимание выносится следующая статья по той же теме. В отличии от первой, она носит менее обзорный характер и содержит больше практической информации. В данной статье рассматриваются вопросы замены частей OS/2 их Open Source аналогами.
Не смотря на то, что целенаправленной разработки Open Source OS/2 до сих пор не велось (кроме проекта osFree), существует достаточно большое количество Open Source аналогов тех или иных частей OS/2. Здесь я приведу известные мне программы.
На данный момент утилитами командной строки занимается проект osFree. Сейчас это:
Прежде всего, необходимо получить исходный текст данных утилит с CVS. Скачать архив с последними исходными текстами можно с Hobbes.
Для компиляции исходного кода вам понадобятся следующие программы и библиотеки:
Результат работы программ представлен на скриншотах:
К сожалению, в проекте osFree участвует достаточно мало народа. Со времени написания первой статьи доступ к CVS прекратился. Спустя какое-то время исходные тексты были перенесены в CVS Netlabs, где они сейчас и находятся.
В большинстве случаев утилиты узкофункциональны и не требуют глубоких знаний операционной системы. Т.е. могут быть легко и с малыми затратами написаны любым желающим.
Довольно приятным известием явилось сообщение о бесплатном распространении (а позднее и с исходными текстами) фирмой JP Software программного продукта 4OS2, широко известного общественности. Являясь практически полным аналогом штатному CMD.EXE, 4OS2 значительно расширяет возможности работы с командной строкой, делая ее более эффективной и удобной. При этом 4OS2 является 32-битным приложением, в отличии от оригинального CMD.EXE.
На данный момент 4OS2 развивается в 3-х проектах различными командами: osFree, Netlabs и SciTech (в репозитории OpenWatcom).
Разработкой замены IPF занимается Aaron Lawrence. Последняя версия его программы NewView доступна с Hobbes. Кроме замены veiw.exe, он пишет замену библиотеке helpmgr.dll. После чего подсистема IPF OS/2 будет полностью завершена (при наличии еще компилятора ipf и документации).
Regina Rexx разрабатывается Mark Hessling, а до этого Anders Christensen. Regina REXX реализована как библиотека, предназначенная для использования с различными приложениями. Интерфейс Regina совместим с интерфейсом REXX SAA фирмы IBM.
Пример использования библиотеки:
Для полной замены интерпретатора REXX требуется ряд доработок библитеки, в частности, указание тех же ординалов, что и в родной библиотеке от IBM. На данный момент есть некоторые проблемы с поддержкой 16-битных функций (используются, например, интерпретатором командных файлов CMD.EXE).
OpenGL для OS/2 уже давно не развивается и поэтому появился ряд аналогов. Это Mesa3D от Evgeny Kotsuba и MesaGL от SciTech Software. Причем первая выглядит наиболее перспективной.
С драйвером JFS есть ряд проблем. Несмотря на ряд упоминаний и наличии ссылок работоспособной версии мне найти не удалось. Приведенные ссылки зачастую ведут в никуда или на сильно устаревшие версии. Исходные тексты до сих пор недоступны.
К сожалению, Multimedia для OS/2 остается одной из малоразвитых областей. При наличии довольно большого количества проигрывателей, конвертерев и просмотрщиков, используется метод разработки “в лоб”. В результате этого теряется возможность повторного использования данных декодеров для остальных программ.
На данный момент существует ряд приложений, которые используют MMOS/2. В их числе JPEGIO Chris'а Wohlgemuth'а. Пример работы декодера представлен ниже (естественно, с сильным ухудшением качества ради уменьшения времени загрузки).
Здесь же можно видеть стандартный просмотрщик picview, который довольно легко поддается клонированию.
До недавнего времени Chris также разрабатывал CW MM Classes, которые представляли из себя замену IBM MM Classes. Проект начал даже переезжать на Netlabs, но “доброжелатели” (явные примеры зачастую видны на данном сайте) угробили данный проект и теперь рассчитывать на новые версии не приходится. Chris продолжает выпускать классы только для узкого круга друзей.
Разработка Open Source Presentation Manager начата проектом FreePM. На данный момент он на стадии планирования. На CVS вы сможете найти исходные тексты данной разработки. Основным разработчиком является Evgeny Kotsuba (он же поддерживает Mesa3D).
Проект FreePM базируется на следующих основных принципах и идеях:
Однако, уже существует одна из частей. Это FreeType/2. FreeType/2 является заменой драйвера TRUETYPE.DLL.
Приведенный пример актуален для Warp 4. В eComStation TrueType драйвер лучше, чем в Warp 4, но здесь разговор не об этом. FreeType/2 доступен на hobbes благодаря Andrew Zabolotny, Michal Necasek и многим другим.
Здесь же виден редактор e.exe, который также не представляет трудностей для клонирования.
На данный момент новостей по проекту нет и cvs давно не обновляется.
Стандартные интернет-утилиты зачастую не переносятся в OS/2 по причине отсутствия такой необходимости. Однако существует ряд утилит, которые в той или иной мере совместимы с утилитами OS/2.
Зачастую это утилиты перенесенные с *nix. В той или иной степени благодаря проекту UnixOS/2.
Здесь мало что можно добавить, так как проект Mozilla довольно широко известен. Единственное, это создание ассоциаций и врапероа, которые вызывают Mozilla, вместо Netscape и Web Explorer. Также необходима библиотека webex.dll, которая использовалась для Embeded Explorer.
Здесь не предвидится большых трудностей, кроме как с созданием библиотеки webex.dll, так как Embeded Gecko еще не доступен, а реализовывать библиотеку необходимо именно через него.
Приведенные в данной статье программы довольно широко известны и некоторые из них используются повседневно. Другие менее используемы. Однако факт остается фактом: части OS/2 заменяются сторонними разработчиками по мере их большего устаревания. Остается одна проблема: собрать все в одном месте, с едиными инструментами разработки, с единой технологией. Это может дать дальнейший толчек к развитию Open Source проектов и уменьшению дублирования работы.
Написание многих частей OS/2 не требует больших временных затрат или особых знаний. В частности, написание многих утилит командной строки, приложений PM типа e.exe, picveiw.exe, ecscalc.exe, ee.exe, epm.exe, find.exe, helpmsg.exe и многих других довольно тривиально и необходимая информация широко доступна.
Читайте также: