MorphOS: Со скоростью молнии!

 
Краткое вступление от переводчика

В середине июня 2006 года сайт OsNews (osnews.com) объявил о конкурсе на лучшую статью, дающую представление о той или иной альтернативной операционной системе. Через месяц итальянский пользователь Fulvio Peruggi (он же - DoctorMorbius_FP) представил на суд общественности статью. Однако, автор не был полностью удовлетворён первоначальным вариантом статьи, и переработал её, учитывая замечания читателей OsNews. Так появилось второе, улучшенное издание статьи, перевод которой мы и предлагаем вашему вниманию.

 
Предисловие ко второму изданию на русском языке

С момента публикации первой части статьи произошли события, могущие серьёзно повлиять на будущее ОС MorphOS. Прекращено производство материнской платы PegasosPPC и процессорных карт к ней; Группа разработчиков MorphOS (MOS-Team) пока не определилась с тем, какую платформу будет поддерживать в будущем, а версия MorphOS 1.5 не выйдет до конца 2006 года.
Изначально статья должна была состоять из двух частей, однако позднее было решено содержимое обеих частей поместить в одном документе, что позволило в процессе подготовки внести некоторые изменения в текст первой части статьи.
Переводчик выражает благодарность всем участникам списка рассылки AmiRUS, оказавшим помощь в переводе и правке текста, авторам сайта Русский транзит, за предоставленные справочники по переводу, авторам программ ErA и EruDict.

 
Что такое MorphOS?

Полагаю, что среди всех прочих вопросов, которые будут задавать читатели этой статьи, вопрос из заголовка будет самым популярным. Очень может быть, что ранее вы никогда не встречали такое название - MorphOS; однако весьма вероятно, что вам встречалось другое имя - Amiga. В этом введении достаточно будет сказать, что MorphOS в настоящее время является наиболее успешным клоном операционной системы AmigaOS. Раздел "Историческая справка" объясняет в деталях, каким образом эти две операционные системы (далее - ОС) оказались связаны.

MorphOS in action 2 MorphOS in action 1 Хотя опыт по созданию ОС, совместимой с AmigaOS, оказался успешным, действительный потенциал развития MorphOS содержится в способности предоставить такие возможности ОС, которые не может обеспечить AmigaOS. Такая возможность существует постольку, поскольку MorphOS базируется на очень гибком, мощном и компактном микроядре Quark, по структуре сильно отличающемся от ядер AmigaOS или Linux.

Отличительной чертой MorphOS являются умеренные, если не сказать скромные требования к дисковому пространству. ОС, имеющая всё необходимое для комфортной работы, занимает менее 20 мегабайт. И не более половины от этого она потребует, если пользователь решит оптимизировать свою систему и удалить не используемые или не являющиеся необходимыми компоненты ОС. Другой особенностью MorphOS является скорость её работы. Формально она не является операционной системой реального времени, однако на практике, работая на обычном для неё оборудовании, MorphOS обеспечивает скорость реакции, близкую к реальному времени (здесь следует отметить, что система реального времени не должна реагировать на событие немедленно, она должна обеспечить требуемую реакцию не позднее, чем за какое-то определённое время; кроме того, существуют и другие требования, которым MorphOS в её нынешнем состоянии не удовлетворяет. Далее автор объяснит, что он имел ввиду - прим. переводчика).

 
Аппаратная база

MorphOS работает исключительно на процессорах серии PowerPC. В настоящее время поддержаны две уникальные платформы: акселераторы на основе PowerPC для классических Amiga (разработанные компанией Phase5 и известные как CyberStorm и Blizzard) и материнские платы PegasosPPC (распространяемые компанией Genesi и также используемые в их собственной продукции: полностью укомплектованных и готовых к использованию компактных компьютерах - Open Desktop Workstation (ODW)). Платформа PegasosPPC управляется посредством HAL/OF (Hardware Abstraction Layer / Open Firmware - открытый код, обеспечивающий абстрагирование от аппаратных особенностей) - это программное обеспечение, по назначению аналогичное BIOS для PC-совместимых машин, созданное и поставляемое Genesi для её собственной продукции на основе PowerPC (а также доступное по лицензии каждому разработчику или производителю продукции на базе PowerPC). Теоретически, MorphOS, не подвергаясь серьёзным модификациям, способна работать на любом компьютере на базе процессоров PowerPC, если компьютер использует HAL/OF в качестве BIOS. Известно, например, что MorphOS уже работает на платформе EFIKA 5K2.

MorphOS является проприетарной (свободно распространяемой, но с закрытым исходным кодом) ОС, за исключением отдельных компонентов с открытым кодом. В настоящее время ОС доступна только для пользователей вышеупомянутых платформ Amiga и Pegasos. После он-лайн регистрации пользователь может зайти на FTP-сайт и скачать ISO-образ диска для того, чтобы записать загрузочный компакт-диск с MorphOS. Также на FTP-сайте доступны обновления программного обеспечения.

 
Установка

Для большинства операционных систем установка обычно является длительной операцией и иногда может стать настоящим кошмаром, если вы недостаточно удачливы или технически подкованы. Небольшие ОС вроде MorphOS показывают свои преимущества даже на стадии установки, выигрывая как по времени, так и по простоте.

Вставьте загрузочный диск с MorphOS в CD-ROM и выберите его как загрузочное устройство в HAL/OF. MorphOS загрузится непосредственно с компакт-диска в конфигурации по умолчанию с минимальными аппаратными требованиями. Это займёт меньше минуты. Далее вы должны воспользоваться приложением для настройки жёсткого диска, чтобы создать по крайней мере один загрузочный раздел (partition), и приложением для форматирования, чтобы разметить созданный раздел. Теперь вы можете запустить специальный установочный скрипт, который перенесёт MorphOS на жёсткий диск (скрипт учитывает различные обстоятельства и особые случаи, но, в основном, он просто копирует все системные файлы и каталоги, включая файлы конфигурации, с компакт-диска на жёсткий диск).

После того, как всё будет сделано, вытащите загрузочный компакт-диск MorphOS из привода и перезагрузите ваш Pegasos/ODW (неважно, нажмёте ли вы кнопку сброса или три клавиши CTRL-WIN-WIN). Через несколько секунд вы снова увидите экран HAL/OF; теперь следует установить значения переменных, указывающих на загрузочный раздел и соответствующий ему жёсткий диск.

Всё готово! (В старых версиях HAL/OF пользователю требуется проделать несколько более сложные манипуляции, однако новички могут иметь дело только с новыми версиями.)

Время, затраченное на все вышеописанные операции, занимает не более 5 минут! Однако вас ждёт ещё один сюрприз: пусть MorphOS загружается с жёсткого диска, а вы засекайте время, необходимое для загрузки ОС в минимальной конфигурации. Вы увидите, что занимает это менее 5 секунд! MorphOS - быстрая, как молния - к вашим услугам!

 
Отличительные черты

Ядро MorphOS хранится в сжатом виде в файле boot.img (boot1.img для Pegasos I), который должен находиться на носителе, понимаемом HAL/OF. Этот файл загружается HAL/OF и запускает микроядро Quark, а заодно и различные компоненты ОС низкого уровня. Прочие файлы и компоненты, которые могут потребоваться, ОС готова в любой момент загрузить с жёсткого диска и запустить на исполнение, используя ранее загруженные базовые компоненты, поэтому то, что не требуется в данный момент - не загружается.

Amiga всегда отличалась характеристиками низкоуровневого программного обеспечения, предоставляемого ядром - библиотекой Exec, - такими как: вытесняющая многозадачность, взаимодействие между процессами и т.д., отсутствующими в других компьютерах, распространённых в последние годы 80-х (ранних Макинтошах и PC, Atari и других). Разумеется, в рамках MorphOS все эти возможности обеспечиваются микроядром Quark, также предоставляющем такие вполне современные особенности, как: защита памяти, виртуальная память и прочие. Кроме всего прочего, Quark предоставляет возможность обеспечить одновременную работу различных операционных систем в так называемых "песочницах". Пока что реализованы две "песочницы": Qbox, обеспечивающий процессы низкого уровня, и ABox, предоставляющий интерфейс для приложений (API). Поскольку этот интерфейс приложений полностью совместим с AmigaOS 3.1 (последней версией ОС, созданной и распространённой компанией Commodore для компьютеров Amiga (AmigaOS 3.1 выпущена компанией EsCOM - прим. перев.)), то, вместе с приложением-компилятором Trance, just-in-time эмулятором, обеспечивающим максимально быстрое исполнение программ классической Амиги, гарантирована практически полная совместимость с большинством приложений, созданных для платформы Amiga. Сложнейшие операции исполняются компилятором мгновенно и незаметно: Trance автоматически распознаёт и загружает исполняемые файлы операционной системы Amiga, конвертирует их в исполняемые файлы для PowerPC и запускает.

Playing games with UAE Workbench within UAE Здесь следует отметить, что огромное множество превосходных игр, созданных для Амиги в поздние 80-е и ранние 90-е годы, не могут исполняться непосредственно в MorphOS. Компьютеры Амига имели оригинальные процессоры (custom chips) для обработки графики и звука. Особенности их работы делают их категорически несовместимыми с такими современными операционными системами, как MorphOS, способными управлять видеокартами с поддержкой двух- и трёхмерной графики, а также PCI- или интегрированными в материнскую плату звуковыми картами. Если вы хотите играть в старые игры на Pegasos/ODW, вам следует установить и настроить эмулятор Амиги UAE (the Universal Amiga Emulator), который существует в версии для MorphOS и обеспечивает достаточную совместимость. (Вообще говоря, первоначальное название эмулятора - Unix Amiga Emulator, однако со временем буква "U" стала расшифровываться как Ubiquitous, Ultimate и Universal. Последнее название, появившееся после переноса эмулятора под Windows, было использовано автором настоящей статьи. - прим. перев.)

Обеспечение совместимости MorphOS с доставшимся в наследство от Амиги ПО преследует, однако, совершенно иную цель. Пользователи могут использовать большинство из созданных и создаваемых в настоящее время для Амиги приложений, если эти приложения могут использовать дополнительные графические и звуковые карты, созданные для последнего поколения компьютеров Амига. Соответствующее программное обеспечение, известное как CGX (CyberGraphX) и AHI (Audio Hardware Interface), позволяющее программам абстрагироваться от особенностей аппаратной части используемого оборудования, является неотъемлемой частью MorphOS.

ShowGirls and MUI Prefs MUI Prefs MUI Info Как и AmigaOS, MorphOS предоставляет пользователю два компактных, эффективных и взаимосвязанных интерфейса для скриптов и приложений: интерфейс командной строки (Command Line Interface - CLI) и графический интерфейс пользователя (ГИП) (Graphic User Interface - GUI). Несмотря на то, что этот встроенный смешанный CLI/GUI-интерфейс позволяет эффективно работать, многие предпочитают работать только в существенно более продвинутом и приятном глазу графическом интерфейсе. Для удовлетворения этой потребности MorphOS использует Magic User Interface (MUI) - развитую объектно-ориентированную систему для создания приложений с графическим интерфейсом. MUI не только обеспечивает программистов удобными средствами построения приложений с графическим интерфейсом, но и позволяет пользователю приложения настроить внешний вид по своему вкусу. MUI является одним из наиболее отличительных компонентов MorphOS, как по набору предоставляемых возможностей, так и с точки зрения эстетики.

MorphOS shell Оболочка интерфейса командной строки MorphOS (shell), также как и UNIX-подобные оболочки аналогичного назначения, отвечает всем предъявляемым к ней требованиям, предоставляя: команды AmigaDOS (многие из них имеют аналоги в UNIX), локальные и глобальные переменные окружения, замещение и перенаправление команд, именованные и неименованные конвейеры (pipes), буфер с историей введённых команд, определяемое пользователем меню, множество оболочек в одном окне, совместимость с кодами ANSI, выбор цветов и так далее. Разумеется, набор команд включает всё необходимое для создания скриптов. Можно сказать только одно: любители командной строки разочарованными не останутся.

MorphOS desktop Main preferencess Ambient settings Обратимся к графическому интерфейсу. Рабочий стол (desktop) Ambient (также называемый рабочим окружением и графической оболочкой) основан на MUI, создан специально для MorphOS и характеризуется полной асинхронностью и многопоточностью. Хотя исходный код оболочки является открытым, в действительности Ambient - уникальный компонент MorphOS, поскольку так тесно связан с MUI и особенностями ОС, что желающие перенести его на другие платформы столкнутся с очень большими трудностями. Ambient обеспечивает управление графическим интерфейсом программных продуктов, удобную навигацию по каталогам, запуск программ, манипуляции с файлами и вообще всё, что необходимо для управления системой. Ambient легко адаптируется к пользователю: например, файлы и каталоги могут представляться как в классическом режиме, когда при выборе каталога открывается новое окно (spatial mode), так и в режиме браузера; в том и другом случае содержимое окон может быть представлено иконками или списком (также могут быть представлены эскизы изображений - прим. перев. ). Распознавание файлов производится по расширению файла или с помощью mimetypes (описание структуры файла, - прим.перев.), причём пользователь имеет полный контроль над процессом распознавания типа файла и может редактировать mimetypes с целью настройки действий. Ambient предоставляет пользователю встроенные инструменты, облегчающие работу: программу поиска файлов, программу просмотра текста, программу просмотра изображений, проигрыватель звуковых файлов, системный монитор, программу форматирования дисков, систему управления commodities и многое, многое другое. Используя меню Ambient, пользователь может управлять настройками всего окружения MorphOS, включая настройки MUI и самого рабочего стола.

Хочу заметить, что пользователи не обязаны пользоваться одним лишь Ambient'ом. В мире Амиги существуют и другие оболочки, которые могут работать одновременно с Ambient или полностью его замещать: например, Directory Opus (также доступный для пользователей PC в качестве замены Проводника - Windows Explorer), Scalos и даже классический "Верстак" - Amiga Workbench (это вариант для тех, кому очень хочется что-нибудь взломать).

Все ранее описанные компоненты операционной системы относятся к тем, которые пользователь постоянно видит и использует: их внешний вид и легкость управления имеют большое значение для признания пользователем. Пользователи Ambient, например, могут выбирать различные темы рабочего стола (skin), изменяя в реальном времени основные черты окон, полей-кнопок (gadgets, в мире Windows - widgets) и других графических элементов рабочего окружения (некоторые яркие темы представлены на рисунках). С другой стороны, часть системного программного обеспечения работает незаметно для пользователя, но не перестаёт быть от этого менее важным, ибо иначе компьютер будет непригоден к использованию. В качестве примера можно привести файловые системы, систему управления USB, драйвера принтеров, развитую систему применения файлов сценариев (файлов командной строки - scripts) и другое. Конечно, все эти компоненты представлены в MorphOS, но в рамках статьи мы можем дать лишь краткое описание, главным образом тех черт, которые пользователь вправе ожидать от подобного рода скрытых от глаза компонентов.

Файловые системы для жёстких дисков являются важнейшими компонентами операционной системы, обеспечивая сохранность ценной информации. MorphOS поддерживает реализацию FFS (Fast File System), стандартной файловой системы для компьютеров Амига, только из соображений совместимости. Файловая система SFS (Smart File System) быстрее и надёжнее, она сохраняет информацию о готовящихся изменениях, прежде чем эти изменения вносить. Другими словами - это журналируемая файловая система, гарантирующая сохранность и целостность данных вне зависимости от того, какие неприятности могут случиться во время работы компьютера. SFS реализована как стандартная для MorphOS файловая система, однако MorphOS также поддерживает и другие файловые системы, среди которых успешная PFS (Professional File System) - коммерческая файловая система для компьютеров Амига, и даже вездесущая FAT (File Allocation Table), пришедшая из мира MS-DOS. Как для PFS, так и для SFS существуют приложения восстановления данных (для SFS недавно создана программа SFSDoctor - специально для MorphOS), также обеспечивающие восстановление удалённых файлов, исправление ошибок в структуре файловой системы, дефрагментацию. Пользователи операционных систем Windows и Linux будут рады узнать, что существуют свободно распространяемые версии файловых систем NTFS и EXT2FS, хотя ещё и достаточно сырые, но обеспечивающие возможность работать с разделами с этими файловыми системами.

USB-стек для MorphOS - Poseidon - является, возможно, одной из самых успешных реализаций USB-стека на ныне существующих платформах. Наилучшее описание его характеристик дал сам автор (Chris Hodges), и я просто процитирую его: "Poseidon - программное решение, позволяющее полностью реализовать возможности универсальной последовательной шины (Universal Serial Bus - USB) и устройств с USB-интерфейсом от мышек, клавиатур, планшетов, джойстиков, принтеров, сканеров, web-камер, цифровых камер, устройств чтения карт flash-памяти, ZIP-устройств, дисководов, жёстких дисков, карт памяти, адаптеров Ethernet и аудио-устройств до менее распространённых вещей, таких как источники питания, устройства определения местоположения GPS и устройства для снятия отпечатков пальцев. Poseidon построен по модульному принципу, что позволяет ему легко интегрироваться в окружение AmigaOS/MorphOS. Он не перенесён из какой-либо существующей системы (например, из Linux), а создан с учётом особенностей операционных систем AmigaOS и MorphOS, что позволяет сделать эти системы такими эффективными."
От себя добавлю, что Poseidon всегда пытается как можно больше работы сделать сам, но в тех случаях, когда пользователь нуждается в том, чтобы настроить специфическое USB-устройство, Poseidon проявляет невероятные способности быть настраиваемым, что позволяет пользователю решить практически любую проблему.

За печать в MorphOS отвечает TurboPrint, лицензированный коммерческий пакет ПО, распространяемый также в мире ОС Linux. Он обеспечивает полный контроль над принтером и цветной печатью (если принтер может печатать в цвете), и, разумеется, он может быть использован любым приложением. TurboPtint требует обновлений, если пользователь хочет использовать самые современные принтеры, но обновления требуют некоторых приложений для печати, которые отсутствуют в MorphOS.

Начиная с версии 2.0, AmigaOS отличается способность поддерживать развитую систему написания и использования скриптов, в чём ей помогает ARexx - реализация интерпретируемого структурного языка высокого уровня Rexx, разработанного IBM. На Амиге все более-менее значимые приложения имеют Rexx-порт, позволяющий обеспечить управление (в довольно широких пределах) этим приложением с помощью ARexx-скриптов или ARexx-команд, приходящих от других приложений. Таким образом, опытные пользователи могут оперативно управлять работой и взаимодействием большого числа независиымих друг от друга приложений, равно как и полностью автоматизировать деятельность конкретного приложения, используя простые процедуры ARexx'а (эти процедуры и способы их использования хорошо изучены за многие годы использования в окружении AmigaOS). MorphOS имеет собственную реализацию этого языка, за исключением библиотеки, которая в настоящее время находится в процессе создания и пока должна быть замещена библиотекой из AmigaOS.

 
Интеграция приложений в MorphOS

Сегодня пользователи вправе ожидать, что некоторые программы, например, система установки приложений, текстовый редактор, TCP/IP-стек, почтовый клиент и web-браузер, будут стандартными компонентами операционной системы. После того, как вы начнёте использовать MorphOS, вы обнаружите, что в новейшем на сегодняшний день дистрибутиве MorphOS (1.4.5) эти программы отсутствуют. Однако поиск в глобальной сети покажет вам, что пользователи MorphOS (за исключением новичков) не очень расстраиваются по этому поводу. Это явное противоречие имеет корни в непростой истории Амиги, и никак не влияет на развитие MorphOS. Позвольте мне посвятить несколько слов этому вопросу, чтобы прояснить перспективы, пока вы не подумали по ошибке, что MorphOS не является полноценной операционной системой.

В том виде, в каком она есть сейчас, MorphOS интересна, главным образом, лишь существующему сообществу пользователей этой системы, то есть группе убеждённых пользователей платформы Amiga. Эти люди, выросшие во времена господства платформы Wintel, лицом к лицу столкнулись с проблемой насыщения приложениями операционной системы, более не развивающейся. Действительно, в 90-х годах, после краха Commodore, держатели торговой марки остановили дальнейшее развитие AmigaOS. Операционная система выжила только благодаря множеству независимых разработчиков, которые постепенно добавляли системе ранее отсутствовавшие, но необходимые возможности. Большая часть этого ПО доступна на Aminet - крупнейшем хранилище бесплатных и условно бесплатных программ для Амиги, в настоящее время содержащем более 76 000 архивов ПО. Поэтому пользователи придерживаются правила: если у тебя чего-то нет, поищи это на Aminet. Разумеется, правило распространяется и на вновь пришедших пользователей MorphOS.

(Вновь пришедшие пользователи, не имевшие ранее опыта работы с AmigaOS, как правило, задают одни и те же вопросы, одновременно отмечая недостатки ОС, связанные с возникшими вопросами. Это побудило автора статьи ответить на основные упрёки в адрес MorphOS - прим. переводчика.)

MorphOS не имеет компонента, позволяющего автоматически устанавливать вновь разработанное и доставшееся в наследство от Амиги ПО.
Сходите на Аминет и скачайте Installer 43.3. Это один единственный файл, который вы можете просто скопировать в каталог на вашём жёстком диске, где находятся команды операционной системы.

MorphOS не имеет текстового редактора, позволяющего редактировать скрипты и обычный текст.
На Аминете вы найдёте множество текстовых редакторов. Просто пойдите туда, найдите и скачайте то, что вам нужно. Кстати, вы обнаружите, что некоторые редакторы уже скомпилированы специально для PowerPC-окружения MorphOS.

MorphOS не имеет собственного TCP/IP-стека.
На Аминете вы можете найти и скачать MOSNet, оригинальный TCP/IP-стек, разработанный специально для PowerPC-окружения MorphOS. (MOSNet не поддерживает коммутируемое соединение (dial-up), виртуальные частные сети (VPN) и некоторые другие вещи, не говоря уж о том, что до Аминета можно добраться, уже имея доступ к сети - прим. перев.)

MorphOS не имеет почтового клиента.
Два наиболее распространённых почтовых клиента для AmigaOS имеют открытый исходный код. Вы можете скачать YAM или SimpleMail с сервера SourceForge или с их домашних страниц. Свежие версии обоих клиентов автоматически компилируется для MorphOS (а также для AmigaOS3.1 и AmigaOS4 - прим. перев.) ежедневно.

MorphOS не имеет браузера.
Исходный код AWeb, ранее коммерческого продукта, в начале тысячелетия был подарен автором сообществу пользователей Амиги. Все обновленные версии этого браузера, создаваемые существующей группой разработчиков, доступны на домашней странице AWeb, включая версию для MorphOS.

(Прошу заметить, что всё упомянутое ранее ПО имеет открытые исходные тексты, за исключением Installer 43.3, который является свободно распространяемым. Использование этих приложений никоим образом не нарушает чьих-либо прав, в том числе и правообладателей MorphOS. Эти приложения создаются и распространяются независимыми разработчиками или сторонними коммерческими организациями.)

MorphOS крайне плохо документирована.
В связи с совместимостью API, документация для AmigaOS 3.1 на 75% удовлетворяет предъявляемым требованиям. Однако MorphOS не является просто клоном AmigaOS: она уже имеет много усовершенствований, многие из которых не видны неподготовленному пользователю. И здесь сообщество не бросает их в беде, создав Le livre du Pegasos (The Pegasos Book), объединив в одной книге полезную и необходимую информацию об аппаратном и программном обеспечении, настройках, что очень важно для пользователей Pegasos/MorphOS.

И наконец, основное, о чём вы должны знать. Следует понять, что ныне существующее сообщество пользователей MorphOS является лишь базой, на основе которой ОС будет развиваться в будущем. Будущее сообщество должно быть более многочисленным и не обязательно связанным с Амигой; будущие версии MorphOS могут быть коммерческими. В этом случае Группа разработчиков MorphOS (MorphOS Development Team) оставляет за собой право изменить категорию пользователей, для которых предназначается система. Новые дистрибутивы также будут содержать проприетарные версии недоступного в настоящее время ПО (например, уже сейчас известно о встроенном TCP/IP-стеке) или будут явным образом обращать внимание неопытных пользователей, ранее незнакомых с Амигой, на существование необходимых компонентов, не включённых в поставку.

 
Развитие MorphOS

В начале своей истории MorphOS была мечтой, медленно становившейся реальностью усилиями нескольких молодых талантливых программистов. Затем, когда разработка нового "железа" в bPlan (в настоящее время - подразделение Genesi, занимающееся разработкой аппаратного обеспечения) стала подходить к завершению, и MorphOS стала единственной в своём роде ОС, распространяемой среди двухсот первых бета-тестеров, авторы MorphOS получили дополнительную поддержку и работа над системой ускорилась. В течение последних двух лет MorphOS снова развивается довольно медленно, так как Genesi сфокусировалась на разработке нового оборудования, дальнейших работах над низкоуровневым ПО, таким как HAL/OF, а также на других операционных системах, включая различные дистрибутивы Linux, у которых потенциально гораздо больше пользователей.

Сегодня разработка MorphOS медленно, но верно, продолжается одновременно в нескольких направлениях.

1. Разработка ядра boot.img находится целиком и полностью в руках MorphOS Development Team. Когда внесённые в ядро изменения протестированы членами группы и готовы быть выставлены на суд общественности, в свет выпускается образ компакт-диска, содержащего полностью установленную MorphOS в минимальной конфигурации.
О текущем состоянии дел известно немного, однако известно, что члены MorphOS Development Team уже пользуются новым файлом boot.img, в котором множество компонентов претерпели значительные изменения. Например, полностью поддержан набор инструкций Altivec (набор инструкций для целочисленных операций и операций с плавающей точкой типа SIMD (Single Instruction, Multiple Data - одна инструкция, много данных), реализованных для высокопроизводительных процессоров PowerPC) во всех компонентах системы, где это может быть использовано для существенного повышения скорости.

2. Другие составляющие MorphOS, находящиеся вне boot.img обновляются и распространяются в виде исполняемых файлов, и зарегистрированные пользователи могут скачать их и установить самостоятельно. Эти обновления по мере необходимости привносят новые возможности, исправляют ошибки или даже представляют собой ранние версии ПО, которое позднее должно появиться как составляющая ОС.
Например, такими демонстрациями будущих возможностей являются версия 4 MUI, версия 6 AHI, версия 3.3 Poseidon, доработанные драйверы CGX с поддержкой 3D, отладочные версии некоторых высокоуровневых библиотек и так далее.

3. Активно ведётся разработка приложений для MorphOS сторонниками открытого ПО и сторонними производителями, при этом усилия разработчиков получают должную оценку, и обе стороны (пользователи и разработчики) активно взаимодействуют друг с другом. На этом фоне выделяется Ambient, который стал программой с открытыми исходными текстами, когда некоторые члены MorphOS team стали испытывать трудности.
Ambient эволюционирует довольно быстро и пользователи, которые могут скачивать и устанавливать ежедневно компилируемые обновления этого компонента MorphOS, это видят.

4. Пользователи, чтобы привлечь внимание разработчиков со стороны, а также сторонников ранее выдвигавшихся, но потерпевших неудачу инициатив, организовали систему премий (bounty), которая позволяет пользователям и программистам обсуждать различные идеи и собирать средства на их реализацию.
Эта система уже позволила успешно реализовать некоторые проекты, среди которых упомянутые ранее SFSDoctor и MOSNet, а также MorphUp - хитроумная система автоматического управления установкой и управлением ПО. Система премий используется для ускорения работ над теми составляющими ОС, у которых набралось значительное количество пользователей. Это требует также сотрудничества со стороны членов MorphOS Development Team, например как в случае с до сих пор не реализованной для MorphOS rexxsyslib.library, необходимой для работы ARexx.

Какова же конечная цель этого броуновского движения в сфере разработки ПО? Возможно, зовётся эта цель - MorphOS 1.5 - весьма амбициозный проект, обещающий множество радикальных изменений и улучшений. В этой версии должна быть устранена зависимость от большинства программ сторонних (то есть, не входящих в состав MorphOS Development Team) разработчиков, и это станет сигналом, что MorphOS более не является "всего лишь AmigaOS-клоном". В ходе личных бесед Frank Mariak, один из лидеров MorphOS Development Team, сказал мне, что MorphOS 1.5 постоянно изменяется, поскольку "мы ещё не определились окончательно с тем, что именно она должна уметь".

 
Инструменты разработчика

Все разделы первой части предназначены, главным образом, для людей, желающих понять, что такое MorphOS с точки зрения обычного пользователя. Но существует группа пользователей, значительно меньшая, имеющих специфический интерес к окружению MorphOS - разработчики. Это самые главные люди на любой платформе, поскольку без них не было бы нового ПО и платформа быстро и неизбежно остановилась бы в развитии и, как следствие, умерла. Независимо от того, имеет ли разработчик ПО коммерческий интерес или пишет программы для собственного удовольствия, он хочет знать, что может ему в этом помочь.

Конечно же, MorphOS имеет специальный пакет разработчика программного обеспечения (Software Development Kit - SDK), призванный помогать разработчику в его работе. Распространяется SDK совершенно свободно: любой разработчик может зарегистрироваться на сайте MorphOS Developer Connection и скачать соответствующие архивы. Обратите внимание, что пакет разработчика доступен любому, независимо от того, имеется ли у него возможность работать в ОС MorphOS. Этим достигается два важных результата: появляется возможность создания интегрированного окружения разработчика (Integrated Development Environments) сторонними авторами (например, Cubic IDE), а также позволяет вести разработку (с последующей кросс-компиляцией) на других платформах - Linux или Windows (в рамках cygwin) (подробнее см. на сайтах Cross-compiling for MorphOS, AmiDevCpp). На сайте MorphOS Developer Connection также действует форум разработчиков, где обсуждаются все связанные с процессом создания программ проблемы.

Пакет разработчика для MorphOS содержит все system includes; документацию, включающую автодоки, статьи, примеры кода и общую информацию; документацию и инструменты от третьих лиц; а также два полезных компонента: MorphEd и всё окружение Geek Gadgets. MorphEd - мощный текстовый редактор, который, помимо функций, обычно присутствующих в текстовых редакторах, также предоставляет подсветку синтаксиса, поддержку окружения разработчика, интеграцию с компиляторами GCC или vbcc и многое другое. Geek Gadgets представляет собой набор инструментов, полезных для разработчика, портированных под AmigaOS/MorphOS и доступных как в виде исходных текстов, так и в виде исполняемых файлов. Пакет содержит, помимо всего прочего, множество команд, используемых в командной строке Linux, и с их помощью интерфейс командной строки MorphOS становится более привычным для пользователей, привыкшим к окружению ОС Linux.

Список интерпретаторов и компиляторов, существующих для MorphOS, не исчерпывается одним только GCC - наиболее распространённым компилятором языка Си: в наличии полный набор, от PPC-ассемблеров для программирования на низком уровне до языков высокого уровня, классического FreePascal или более современного Python.

 
Трёхмерная графика

Большинство доступных на сегодняшний момент альтернативных операционных систем либо не поддерживают трехмерную графику, либо делают это в минимальной степени. Объясняется это тем фактом, что фирмы-производители графических карт либо не предоставляют техническую документацию совсем, либо предоставляют её так, что у программистов-одиночек возникает множество трудностей. Производители поставляют свои собственные драйвера для Windows или предоставляют документацию, которую трудно и добыть, и использовать.

На этом фоне, создаваемом многими альтернативными ОС с отсутствующей поддержкой трёхмерной графики, MorphOS является - с учётом некоторых ограничений - исключением. Есть для этого две причины. Во-первых, существует библиотека tinygl.library, которая является важнейшим компонентом MorphOS, и, несмотря на имя, в своём воплощении для MorphOS практически полностью соответствует спецификациям OpenGL. Во-вторых, Группа разработчиков MorphOS решила сосредоточить свои усилия в части трёхмерной графики на небольшом числе видеоадаптеров, поддерживаемых аппаратурой PegasosPPC.

Открытая графическая библиотека (Open Graphics Library (OpenGL)) - это стандарт, определяемый документом, описывающим набор из более чем 250 функций, предназначенных для создания полностью трёхмерных изображений из простых примитивов. Особая ценность этого стандарта заключается в его платформенно-независимом интерфейсе для прикладных программ (API). Разработчики, использующие OpenGL для создания приложений, могут быть уверены, что их программы будут создавать трёхмерные изображения на любом компьютере, имеющем реализацию этой библиотеки. Изначально разработанная фирмой Silicon Graphics, библиотека OpenGL важна для индустрии игр (где она является единственным конкурентом библиотеке Direct3D на платформе Windows), а также используется в приложениях для профессиональной деятельности, где важно простое и понятное управление трёхмерной графикой (начиная от авиатренажёров и реализаций виртуальной реальности, систем отображения информации для научных приложений и презентаций, до технических приложений вроде систем автоматизированного проектирования).

Участники Группы разработчиков MorphOS высказались о TinyGL предельно ясно: "Изначально Fabrice Bellard создавал TinyGL как подмножество OpenGL для встроенных систем и игр. Были реализованы лишь основные вызовы OpenGL, при этом использование аппаратного ускорения выполнения функций не предусматривалась. Версия TinyGL для MorphOS лишь в общих чертах основана на оригинальной версии. Она была переписана для использования всех возможностей аппаратного ускорения трёхмерной графики. Кроме того, также реализованы некоторые избранные функции из библиотеки MESA. TinyGL для MorphOS обладает большим набором функций, чем оригинальная версия, и, в то же время, превосходит её в скорости."

Конечно, и OpenGL, и TinyGL не могут обеспечить полную поддержку всех возможностей ускорителей трёхмерной графики - чтобы использовать отвечающую за трёхмерную графику аппаратуру на карте, необходимы драйверы. Группа разработчиков MorphOS создала драйверы для для следующих PCI- или AGP-карт: 3dfx Voodoo 3, Voodoo 4, Voodoo 5; ATI Radeon 7000, Radeon 7200, Radeon 7500, Radeon 8500, Radeon 9000, Radeon 9100, Radeon 9200, Radeon 9250. Заметим, что это не самые современные видеоадаптеры, представленные на рынке, но они имеют хорошую программную поддержку и в целом их характеристики оптимальны для использования на PegasosPPC (Для тех, кто сомневается: на сайте 3dnews.ru были статьи о зависимости производительности видеоадаптера от производительности ЦПУ. Полагаю, в нашем случае, видеокарта уровня Radeon 96xx - 98xx будет бесполезной тратой денег - прим. перев.).

 
Игры

Поскольку трёхмерная графика в MorphOS не является верхом технологий, представленных на рынке, вы можете удивиться, зачем мы включили этот раздел. В основном - чтобы дать важную информацию о достигнутых MorphOS границах в этой сфере. Представление о том, какие игры портированы и какого уровня качество они демонстрируют, поможет специалистам оценить уровень реализованной в MorphOS трёхмерной графики.

Virtual Grand Prix 2 Virtual Grand Prix 2 Одной из самых заметных игр для MorphOS является, несомненно, Virtual Grand Prix 2, опубликованная Alassoft. Это очень реалистичный симулятор гонок Formula 1 (возможно, один из самых реалистичных на всех платформах), с прекрасной аппаратно-реализованной трёхмерной графикой, с обязательной поддержкой аналоговых манипуляторов, что возможно в MorphOS благодаря USB-стеку Poseidon и новой lowlevel.library. Версия для MorphOS была выпущена вскоре после выхода в свет версий для Windows и Mac'а благодаря главному программисту Paolo Cattani, начинавшего свою деятельность на Амиге. Отметим, что версия для MorphOS является свободно распространяемой (единственное, о чём просят - пожертвовать 5.90 евро через систему PayPal в порядке поддержки разработчиков и придания им стимула в работе над продолжением для MorphOS). Игра включает многие реально существующие трассы, качественно реализованные и легко узнаваемые. То, что не включено в поставку, можно найти в сети в виде дополнительных архивов, созданных пользователями. Игра достаточно быстрая и сохраняет играбельность и на бюджетных машинах (с процессором G3 с частотой 600 МГц и видеоадаптером Voodoo 3, например).

Wipeout 2097 Прочие коммерческие игры, доступные для MorphOS, издавались для классических Амиг, оборудованных PowerPC-акселераторами. В их число входят Wipeout 2097 от Digital Images и Heretic 2, портированная Hyperion Entertainment. Wipeout - удачная версия известной игры, заимствовавшая лучшее от версий для PlayStation (самой играбельной) и Windows (с высококачественной графикой), что сделало Amiga-версию самой лучшей реализацией из всех. Wipeout 2097 сделана под WarpUp, использует Warp3D для ускорения графики, но, как обычно, пользователю MorphOS не о чем беспокоиться: она запускается так же, как и в родном окружении, как на полном экране, так и в окне на рабочем столе, поддерживает графические и аудиоустройства, недоступные для классической Амиги, и может управляться USB-манипуляторами. И, конечно, она быстрее, чем на любой из классических Амиг.

Quake III Для MorphOS было адаптировано много игр с открытым исходным кодом, включая некоторые коммерческие игры, исходные тексты которых были открыты, например, такие шедевры iD Software как Wolfenstein 3D, Doom, Doom II, Quake, Quake II и Quake III. Серия игр Quake поддерживает аппаратное ускорение трёхмерной графики, и, в частности, из первого эпизода Quake наилучшими версиями являются Fuhquake, GLQuake и BlitzQuake. Благодаря использованию аппаратного ускорения трёхмерной графики все игры работают довольно быстро в высоком разрешении.

Говоря о "стрелялках от первого лица" (first person shooters), также следует отметить выход игр Cube, AlephOne, а также недавно вышедшую свободно распространяемую Warsow. С точки зрения графики, Warsow, возможно, является самым завершённым проектом из всех, что когда-либо были адаптированы для MorphOS (несмотря даже на то, что основана игра на старом движке Quake II), так что она может быть довольно медленной на машинах с G3 и Voodoo. Правда, это можно рассматривать как ещё одно напоминание о том, что более мощное аппаратное обеспечение также может быть востребовано под MorphOS.

FreeSpace 2 Другие перенесённые в MorphOS проекты с открытым исходным текстом: Freespace 1 и 2 (от icculus.org, требуют наличия оригинальных версий для работы), а также NeverBall и трёхмерный биллиард FooBillard.

Также имеется Open Transport Tycoon Deluxe - реинкарнация Transport Tycoon Deluxe от Microprose. Версия для MorphOS (требующая, как и прочие версии, наличия файлов от оригинальной игры) выходит синхронно с официальными выпусками. Это означает, что игра доступна на домашней странице проекта, поскольку поддержка MorphOS обеспечивается авторами игры наравне с многими другими операционными системами. Для работы Open Transport Tycoon Deluxe требуется библиотека PowerSDL.library. Благодаря этой библиотеке (подробное описание смотрите в этом разделе) для работы в окружении MorphOS уже адаптировано множество бесплатных SDL-игр с открытыми исходными текстами.

Robin Hood Есть, по крайней мере, одна коммерческая издательская компания, выпускающая версии игр для MorphOS - RuneSoft (ранее известная как Epic Enteractive). Давным-давно, ещё когда MorphOS только делала первые шаги, они выпустили Knights and Merchants, а несколько дней назад они выпустили игру Robin Hood (написано в начале ноября 2006 года - прим. перев.). Knights and Merchants - стратегия в стиле саги The Settlers, первая часть которой для Амиги появилась в 1993 году, однако с лучшей графикой в сравнении с AmigaOS версией (самые лучшие "Поселенцы" были именно для Амиги, так что сравнивать, действительно, следует именно с амижной версией - прим. перев.)). Robin Hood - стратегия в стиле Commandos, оригинальная версия которой была выпущена на PC фирмой Spellbound. Звук и графика, возможно, лучшие из тех, что мы видели в двумерных играх для MorphOS, и хотя игра имеет повышенные требования, проведённая в последней версии оптимизация поволяет игре неплохо смотреться и на Пегасах с процессором G3. В планах у RuneSoft ещё много игр, и, если они сочтут рынок игр для MorphOS привлекательным, у нас есть надежда их увидеть. Они всегда выпускают демонстрационную версию их продуктов: таким образом, пользователи имеют возможность протестировать игру, прежде чем голосовать за её дальнейшее развитие кошельком.

ScummVM Конечно, пользователи MorphOS имеют возможность развлекать себя не только более или менее нативными играми - также есть в наличии эмуляторы и виртуальные машины. Одна из наиболее известных - ScummVM, свободно распространяемая реализация виртуальной машины для запуска приключенческих игр LucasArts/Lucas Games. Новые версии также совместимы и с играми некоторых других производителей (например, Beneath a Steel Sky или Broken Sword от Revolution), и, к нашей радости, доступны для MorphOS. Это прекрасная возможности поиграть в некоторые приключенческие игры, никогда не выходившие для Amiga-подобных систем: LucasArts ушли с Амиги после Indiana Jones 4. Виртуальная машина работает безупречно, а в эти игры всегда хочется играть.

MAME FPSE К категории "настоящих" эмуляторов относятся Genesis Plus  и SMS Plus (приставки Sega), SNES 9x (Super Nintendo, также известная как Super Famicom), VICE (серия VIC домашних компьютеров Commodore), MAME (игровые автоматы)... Все они достаточно хороши в работе и не являются "поделками на скорую руку" ("fast ports"), во всяком случае, все они поддерживают, например, overlay (в части обеспечения изменения размера окна вместе с содержимым в реальном времени) и USB-джойстики. Хорошее дополнение - эмулятор Sony PlayStation FPSE. Работает отлично, однако может показаться странным, что разработан он для AmigaOS 4 и требует OS4Emu для работы. Тем не менее, будучи запущенным, работает так, будто является родным.

 
Эксклюзивное ПО MorphOS

Малые размеры ОС и её относительно простая структура означают, помимо всего прочего, что многие крупные проекты, требующие участия сотен программистов на других платформах, становятся в рамках MorphOS (или AmigaOS) проектами одиночек или небольших групп. Это замедляет разработку, но зато компенсируется невероятной эффективностью и простотой и компактностью кода. В этой секции мы описываем несколько великолепных инструментов для MorphOS, а в следующей вы найдёте описания наиболее необходимых и мощных приложений.

AmiNetRadio
AmiNetRadio ANR - это музыкальный проигрыватель. Созданный как проигрыватель потокового цифрового вещания ShoutCast, вскоре он стал полнофункциональным модульным аудиопроигрывателем, поддерживающим множество форматов и плагинов, обеспечивающих графические эффекты. Он может проигрывать форматы RIFF WAVE, Ogg Vorbis, MPEG Audio, CDDA, AIFF и модули редактора ProTracker. Кроме того, доступен пакет разработчика, содержащий информацию о том, как создать собственный модуль для проигрывания того или иного формата, что позволило сторонним разработчикам поддержать форматы MIDI, ScreamTracker, FastTracker, а также малораспространённые форматы (в том числе для NES, Super NES, Game Boy, Mega Drive и Atari ST). Это делает ANR одним из наиболее подходящих кандидатов на включение в состав Ambient в качестве интегрированного проигрывателя аудиофайлов, распознаваемых с помощью механизма mimetype.
К недостаткам ANR можно причислить тот факт, что на сегодняшний день проигрыватель является приложением AmigaOS 3.x для процессоров серии 68k. Возможности и эффективность эмуляции в MorphOS настолько велики, что большинство из упомянутых выше проигрывателей-модулей созданы именно как приложения MorphOS и скомпилированы для процессоров PowerPC, и это не создаёт ни системе, ни пользователю никаких проблем. То же самое можно сказать и про графические плагины: ANR совместим с API AmiAMP (версия хорошо известного WinAMP для классических Амиг), и, таким образом, возможна совместная работа как плагинов, написанных для 68k, так и для PowerPC. Что ещё интересно, можно использовать также плагины, скомпилированные в старых форматах исполняемых файлов для классических Амиг с PPC-акселераторами (PowerUp и WarpUp), предложенных многие годы назад. Пользователи, не знакомые с Амигой, не должны беспокоиться: всё это просто означает, что MorphOS отлично совместима со всеми типами исполняемых файлов, которые сообщество пользователей Амиги внедряло в прошлом, если только приложения написаны в соответствии с требованиями ОС (system-friendly). Сам ANR использует некоторые расширения API AmigaOS 3.x для лучшей поддержки смены тем, что позволяет программе использовать все возможности MorphOS, несмотря на то, что она скомпилирована в 68k-код.

ShowGirls
ShowGirls Как и следует из названия (а если для вас - не следует, значит вы ещё не полный идиот (вот такого автор о нас мнения :) - прим. перев.)), это программа для просмотра изображений. Встроенная в Ambient программа просмотра изображений очень проста: она позволяет всего лишь посмотреть изображение, увеличить до размера окна и повернуть - это всё. ShowGirls позволяет сделать много больше: её интерфейс разбит на две части, с одной стороны показаны эскизы изображений (с поддержкой формата EXIF для изображений типа JPEG, что означает возможность не загружать трёхмегабайтный файл, чтобы показать картинку размером 50х50 точек), а с другой - выбранное изображение. Изображение может быть показано в полноэкранном режиме, сжато или растянуто, а также может быть модифицировано. ShowGirls имеет инструменты для подстройки цветов, изменения разрешения, имеет функции сглаживания и резкости, уменьшения шумов, изменения яркости и размытия, а также кадрирования (cropping), поворота, flipping'а, а умеет конвертировать несколько файлов одной командой (пакетная обработка). Также изображение может быть показано как трёхмерное (с аппаратной поддержкой трёхмерной графики), но практической пользы от этого никакой.
Изначально программа создавалась как инструмент для работы с цифровыми камерами, так что она поддерживает все необходимые функции для работы с файлами на сменных носителях (имеются ввиду USB-устройства - прим. перев.). И если ваша камера при подключении по USB работает как сменный носитель, вряд ли вам может понадобиться что-то ещё. Если камера поддерживает стандарт PTP, вам понадобится что-нибудь другое.

PTPDigCam
PTPDigCam Разработанная для MorphOS, эта замечательная и оригинальная программа (не основанная на каких-либо библиотеках из Linux) позволяет загружать и удалять изображения, видео- и аудиофайлы с цифровых камер Canon, Nikon, Kodak, Sony и других, поддерживающих стандарт PTP. Новейшие версии позволяют пользователю осуществлять выбор изображения по его EXIF-эскизу, и всё это подаётся в прекрасном MUI-интерфейсе. Это не самая мощная программа такого типа в мире, но она демонстрирует дух старого амижного сообщества: большинство "альтернативных" ОС не поддерживают стандарт PTP, что заставляет пользователей покупать кард-ридеры. Дешевле иметь такую программу - всегда удобнее иметь программную поддержку, даже если это и не самый распространённый формат. У PTPDigCam также есть альтернативы: SimpleCam, основанная на Linux-библиотеке libPTP, но имеющая графический MUI-интерфейс. И для тех, кто хотел бы управлять своей камерой с помощью компьютера, существует CanonToolBox, также основанный на libPTP.

PowerSDL games  
PowerSDL
Это говорящее имя означает пакет ПО, адаптация которого для MorphOS позволила косвенным путём увеличить количество доступных для ОС программ. Simple DirectMedia Layer (SDL) - это кроссплатформенная мультимедийная библиотека, обеспечивающая единообразный набор вызовов функций (API) для графики, звука и ввода данных для различных платформ. SDL позволяет разработчику писать компьютерные игры или мультимедийные приложения, которые затем будет достаточно просто адаптировать для большинства операционных систем. Версия для MorphOS существенно улучшена по сравнению с базовой версией для AmigaOS, и состоит из нескольких библиотек общего пользования (что, кстати, позволяет использовать их и не-GPL-приложениям с закрытым исходным кодом), полностью использующих возможности API MorphOS.

OS4Emu
А это пример программы, которая увеличивает количество доступных приложений напрямую: это обёртка (или прослойка - wrapper), ставящая вызовы API AmigaOS 4 (которая очень близка к MorphOS, поскольку обе имеют общие корни) в соответствие вызовам функций API MorphOS. Это означает, что при попытке запустить приложение для AmigaOS 4, щёлкнув дважды по иконке (или напечатав имя приложения в командной строке), вы имеете шансы увидеть это приложение в работе. В качестве примера можно привести FPSE, эмулятор приставки Sony Playstation, который, благодаря наличию в MorphOS USB-стека Poseidon, поддерживает игровые манипуляторы с USB-интерфейсом, и - какая ирония - не поддерживает их в своём родном окружении AmigaOS 4! (Это возможно благодаря особенности Poseidon, позволяющей назначить событиям - нажатию или отпусканию кнопки на джойстике - действия, желательные для пользователя). Другой пример - SID4Amiga (проигрыватель аудиофайлов C64), некоторые demo, команды и утилиты для интерфейса командной строки и многое другое. Совместимость неполная, но улучшается с каждой новой версией.

 
Расширение возможностей платформы

Cubic IDE Одним из самых положительных моментов в совместимости MorphOS с AmigaOS является тот факт, что пользователи MorphOS могут продолжать использовать все коммерческие продукты, которые они покупали для своих Амиг, получив при этом прирост в скорости. Платформа MorphOS/Pegasos не начинается с нуля! Несмотря на то, что Commodore официально прекратила существование 29 апреля 1994 года, в течение многих лет после этого продолжалась разработка приложений для Амиги. Многие необходимые приложения находятся в разработке и сейчас, например, мощный издательский пакет PageStream (версии которого существуют не только для Амиги, но и Linux, MacOS, Windows, а также и для MorphOS), обладающий широкими возможностями текстовый редактор GoldEd (в настоящее время является ядром Cubic IDE - интегрированного окружения разработчика, охватывающего все основные языки и пакеты разработчиков, существующие для AmigaOS и MorphOS), совершенно фантастическая программа для создания презентаций Hollywood (унаследовавшая всё лучшее из Scala, сохранив совместимость, и также включившая новые возможности, предоставляемые современными графическими системами) и другие приложения.

Тем не менее, когда платформа имеет небольшое число пользователей, как это имеет место в случае с MorphOS, разработка нового ПО сталкивается с определёнными трудностями. Разработка коммерческого ПО не вызывает особого энтузиазма ввиду малого количества потенциальных покупателей. Производство условно бесплатного или открытого ПО находится на постоянном уровне или увеличивается очень медленно, поскольку не имеется требуемого количества программистов: каждый, кто уже работает над какими-то проектами, не имеет возможности работать над ещё большим числом проектов. В таких случаях единственное решение, позволяющее значительно сократить время на разработку приложений, может быть одно - портирование ПО с других платформ.

MPlayer Blender Когда проектировалась AmigaOS, многие её черты и особенности строения были позаимствованы у Unix, что не могло не отразиться на API ABox. Таким образом, перенос небольших команд, утилит, игр из Unix в AmigaOS, а сейчас - из Linux в MorphOS - обычно не составляет труда. Две системные библиотеки ixemul.library и ixnet.library позволяют значительно уменьшить затраты сил и времени при переносе Linux-подобных программ. Даже большие и сложные приложения вроде MPlayer, MEncoder, MLDonkey, E-UAE, MAME, Blender адаптированы для MorphOS.

Основным препятствием при переносе кода является отсутствие функции fork() в AmigaOS и, соответственно, в ABox, что отражает факт неполной POSIX-совместимости AmigaOS/MorphOS, и сложности в переносе приложений с графическим интерфейсом. В Linux ГИП основаны на системах оконного интерфейса, являющихся частью рабочего окружения, а не встроены в саму операционную систему. Кроме системы X-Windows, перенесённой на Амигу очень давно, никаких других систем оконного интерфейса из мира Linux более для AmigaOS/MorphOS не адаптировалось. Нет никакого смысла это делать, поскольку трудностей при переносе возникнет очень много, а самая маленькая оконная система в Linux занимает, по меньшей мере, в пять раз больше места, чем вся MorphOS. Обеспечение лёгкости переноса графического интерфейса приведёт к тому, что MorphOS потеряет своё преимущество в размерах и станет ещё одной бесполезной Linux-подобной системой.

Поэтому, в отличие от других платформ, AmigaOS/MorphOS не имеют портированных больших и необходимых приложений вроде Mozilla и Open Office. Отсутствие таких программ, обеспечивающих нормальное существование пользователям, желающим, чтобы их компьютер общался с миром без серьёзных проблем с совместимостью, несомненно, является препятствием для выхода MorphOS на рынок ОС для настольных машин.

Когда люди осознали бесполезность портирования огромных кусков дистрибутивов Linux, возникла другая, лучшая идея: создать обёртки (wrapper), которые могли бы ставить некоторые базовые понятия одной системы их эквивалентам в другой. Движение в этом направлении связано, прежде всего, с попыткой сопоставить вызовы GTK (GIMP ToolKit, где аббревиатура GIMP означает GNU Image Manipulation Program) - популярного пакета для создания ГПИ для X-Windows - с соответствующими вызовами MUI. Cамая известная и востребованная попытка движения в этом направлении - KHTML, система обработки HTML, созданная в рамках проекта KDE. В настоящее время ведётся работа по созданию обёртки, переводящей вызовы KHTML в MUI (не так давно - в ноябре 2006 года - появилась первая бета-версия браузера Sputnik, и есть надежда, что в 2007 году появится более-менее работоспособная программа). Успех этого мероприятия напрямую повлияет на будущее платформы MorphOS/Pegasos. Пользователи MorphOS получат браузер, соответствующий сегодняшнему дню (не секрет, что оригинальные браузеры давно устарели), у потенциальных новых пользователей будет меньше поводов для выражения неудовольствия, и, вообще, успех в этой сфере подтолкнёт к аналогичным работам в других направлениях (переносе Open Office).

 
Кто нуждается в ОС MorphOS?

Все аргументы, высказанные ранее в пользу MorphOS, предполагали её использование, с учётом ряда ограничений, в качестве основной на настольной машине, что пока ограничивает широкое применение во многих специальных областях. Однако MorphOS уже вполне достаточна для некоторых узкопрофессиональных целей, а также неплохо оснащена для поддержки полупрофессиональной и любительской деятельности. Конечно, все эти ограничения ничего не значат для рынка встроенных систем, где ОС оценивается по её требованиям к памяти и скорости работы.

Разумеется, вы можете расценивать последующие мои слова как парадокс, но сейчас пользователи воспринимают наличие упомянутых ранее ограничений в сфере профессиональной деятельности скорее как преимущество. Действительно, опытные пользователи могут компенсировать отсутствие почти любого программного продукта для MorphOS, используя свободное, условно бесплатное или коммерческое ПО, существующее для платформы Amiga, или ПО для MorphOS, находящееся в стадии разработки. Они уже используют MorphOS как лучшую по отзывчивости, не имеющую аналогов на других платформах; их система совершенно не подвержена воздействию вирусов, троянов, червей, шпионского ПО и прочих прелестей жизни, приходящих из сети (как показывает практика, вирусы пишут для распространённых платформ, к коим MorphOS пока не относится; иммунитет от упомянутой заразы обеспечивают программы-антивирусы, которых пока тоже нет, если не считать тех, что остались в наследство от Амиги. - прим. перев.). Можно установить Linux и MacOS (используя MacOnLinux) на Pegasos, если очень понадобится использовать что-нибудь вроде FireFox и Office; или, если вы можете использовать RDesktop, можете использовать приложения с подключенного по сети PC (всё это, конечно, плюсы, но никак не отменяет необходимости оригинальных приложений - прим. перев.).

Другие потенциальные пользователи, возможно, окажутся людьми, которым хочется освободиться от диктата раз и навсегда заданного окружения Windows, и которые не желают утонуть в необъяснимых глубинах Unix-подобных систем, полностью подвластных только гуру от Linux. И, наконец, MorphOS является лучшим выбором для тех, кто ностальгирует по Амиге и хочет иметь все возможности, предоставляемые новой системой, вместо не очень быстрого искусственного UAE. И этот список не исчерпывает всех потенциальных пользователей MorphOS. Если эта ОС будет использована на PowerPC-платформах на рынке встроенных систем, у неё появится ещё одна группа пользователей: разработчики приложений для встроенных систем. Им понадобится удобная графическая оболочка, и они откроют для себя полезность диалога с сообществом, большой процент (больший, чем на других платформах) участников которого составляют опытные программисты, готовые всегда придти на помощь.

В дальнейшем, по мере развития системы, указанные ограничения должны уйти в прошлое, что позволит увеличить число пользователей: уменьшится количество предубеждённых людей, которые смогут открыть для себя новые горизонты и упрочить положение платформы.

 
В заключение

Целью статьи является продемонстрировать, что разработка MorphOS продолжается, хотя и очень медленно. Умеренные требования к памяти и скорость могут сделать MorphOS вполне реальным кандидатом на роль серьёзной ОС для настольных компьютеров, но эти черты просто незаменимы, если рассматривать её как систему для рынка встраиваемых систем, где отсутствие жёстких дисков, небольшая оперативная память и не самые производительные процессоры являются нормальным условием. Попробуйте представить себе все возможности, которые может дать очень быстрая операционная система, полностью помещающаяся в небольшой по объёму flash-памяти...

MorphOS требуются люди, которые смогли бы распознать и попытаться использовать её особенности и потенциальные возможности. Это может быть толчком к новой, ускоренной и хорошо поддержанной фазе разработок. Среди читателей этой статьи могут оказаться люди, которых привлечёт эффективность, гибкость, а может быть и эзотерический аспект MorphOS. И, может быть, эту статью прочтут люди, имеющие влияние и ищущие случая увеличить прибыль своей компании, а этим могущие помочь в приближении светлого будущего этой ОС.

 
Полезные ссылки

сайты сообщества MorphOS
Центр нашей Вселенной, вокруг которого всё вращается, это MorphZone; другие, не менее важные сайты: Pegasos.org; Obligement; #amigazeux; Amiga Impact.

Новости и форумы
MorphOS-News; Amiga-News; AmigaNN; AmigaWorld; Amiga.org; Moo bunny.

Для разработчиков приложений для MorphOS
MorphOS-Team; Ambient Desktop; MorphOS Developer Connection.

Информация об аппаратном обеспечении
Genesi; PegasosPPC; MorphOSPPC; Freescale MobileGT Platform.

Архивы программного обеспечения
Aminet; MorphOS-news; MorphZone.

История Amiga
Amiga history guide; The history of the Pegasos.

Руководства (PDF format):
книга Le livre du Pegasos; и её переводы: The Pegasos Book, etc..

ЧаВО
MorphZone Quick Help.

Обзоры
DoctorMorbius_FP Homepage.

 
ЧаВО

Как я могу выйти в Интернет и скачать TCP/IP стек, если на компакт-диске с MorphOS нет TCP/IP стека?
[Ответ с иронией] Пожалуйста, объясните нам, как вам удалось скачать образ компакт-диска с MorphOS...
[А теперь серьёзно] На самом деле такой проблемы не существует.
1. Если у вас есть Amiga, оснащённая PowerPC-акселератором, у вас уже есть TCP/IP стек и вы можете использовать его вместе с MorphOS.
2. Если вы купили ODW производства Genesi, у вас уже установлен один или несколько дистрибутивов Linux, таким образом, вы можете пользоваться средствами Linux, чтобы скачать всё, что вам нужно для MorphOS.
3. Проблема может возникнуть, если вы купили одну лишь материнскую плату PegasosPPC с целью понять, что это такое. В этом случае вы достаточно сообразительны и подготовлены в общем и целом, чтобы потребовать у продавца платы компакт-диск с MorphOS и TCP/IP стек, или скачать и то, и другое из Интернет с помощью другого компьютера.

В процессе установки MorphOS инсталляционный скрипт потребовал от меня создать и отформатировать два раздела: один - поменьше и с файловой системой FFS - для размещения файла boot.img, другой - побольше, загрузочный и, возможно, с файловой системой SFS - для размещения системных файлов. Вы говорили, что нужен только один логический диск.
Такое поведение инсталляционного скрипта объясняется необходимостью обеспечения совместимости в прошлом. Ранние версии HAL/OF могли работать только с разделами, отформатированными в системе FFS. Поэтому, для того чтобы HAL/OF могла загрузить файл boot.img, он должен был располагаться на FFS-разделе. Однако, поскольку SFS быстрее, размещать систему имеет смысл на диске, отформатированном в SFS. Новые версии HAL/OF могут работать как с файловой системой SFS, так и с PFS, так что вы можете разместить всё необходимое на одном логическом диске с быстрой файловой системой.

Вы говорили, что MorphOS по своим характеристикам близка к ОС реального времени. Однако это не совсем так, поскольку системы реального времени должны отвечать определённым техническим требованиям. С другой стороны, если компьютер очень быстрый, то любая ОС может быть ОС реального времени.
Это не статья для инженеров и учёных, иначе она была бы значительно длиннее и сложнее для понимания. Поэтому информация подаётся читателю через простые аналогии. В данном случае идея была такова: существующее аппаратное обеспечение, на котором обычно работает MorphOS (материнская плата PegasosPPC), позволяет этой ОС быть очень быстрой в абсолютных показателях. Более того, если смотреть на вещи относительно, существует разница между скоростью MorphOS и скоростью любого дистрибутива Linux для компьютера на базе PowerPC. Здесь важно то, что эта самая скорость при увеличении производительности аппаратной платформы для MorphOS будет увеличиваться в той же степени. Другими словами, MorphOS значительно ближе к ОС реального времени, чем Linux.

В ранних версиях статьи объём памяти, занимаемый MorphOS, всё время указывался разный. Так сколько же, в самом деле, занимает MorphOS?
В первой редакции статьи должно было быть указано 15 МБ;, однако "1" где-то потерялась во время ударной подготовки окончательного варианта. Это объясняет появление величин 5 и 15. Затем кто-то предложил добавить к размеру MorphOS файл boot.img, а также новые Ambient  и MUI. В результате утверждение превратилось в "не более 20 МБ", для полной уверенности. Впрочем, вне зависимости от указанной величины, требования MorphOS остаются более чем умеренными.

Вы говорили, что Quark и другое ПО низкого уровня хранится в сжатом виде в файле boot.img. Как понимать - в сжатом?
Файл boot.img является архивом gzip, внутри него находится файл (bootpegasos2rom.img); HAL/OF распаковывает его и передаёт ему управление.

Вы говорили, что Quark поддерживает защиту памяти и виртуальную память, но, похоже, эти функции не работают.
Защита памяти не существует в AmigaOS и не реализована в ABox с целью сохранения совместимости (почти все доставшиеся в наследство приложения не могут корректно работать с защитой памяти). С другой стороны, в QBox защита памяти реализована, и может быть использована в будущем, когда драйверы аппаратных устройств будут переписаны под QBox и появятся программы для этой "песочницы". Виртуальная память была реализована в самом начале разработки, однако сейчас эта технология временно не развивается ввиду её низкой приоритетности. В действительности ПО, написанное специально для MorphOS или пришедшее с Амиги, требует намного меньше оперативной памяти, чем установлено на машине.

 
Историческая справка

История классической Amiga в очень кратком виде:
Возможно, вам известно, что Амига рассматривалась как игровая приставка-переросток, имевшая много пользователей в конце 80-х - начале 90-х годов. Однако, если вы думаете, что Амига была всего лишь приставкой, замаскированной под компьютер, вы глубоко ошибаетесь. Она умела отображать 4096 цветов в то время, когда PC имели монохромные зелёные дисплеи, она умела музицировать и разговаривать, в то время как PC были немы, как рыба, она имела вытесняющую многозадачность, а PC умели запускать не более одной программы одновременно. В то же время вокруг Амиги собралось сообщество активных пользователей, применявших её в своей профессиональной деятельности. После краха Commodore в 1994 году пользователи Амиги постепенно покинули платформу. Игроки перешли на PC и новые суперприставки, а большинство издателей программного обеспечения и профессиональных программистов мигрировали на PC и Mac'и, переписав для них свои программы. Однако были люди, которые не ушли. Некоторые издательские фирмы и производители оборудования, несколько профессиональных программистов совместно с многими программистами-любителями, энтузиастами, просто любителями и профессиональными пользователями объединились в крепко спаянное через Интернет сообщество с обратной, что важно, связью.

История Pegasos/MorphOS в очень кратком виде:
В течение многих лет торговая марка Amiga переходила из рук в руки, при этом в реальности никакой эволюции не происходило, а имя использовалось, в основном, в рекламных целях. Между тем, некоторые члены амижного сообщества сочли себя достаточно компетентными, чтобы создать нечто, чего не могли создать другие ностальгирующие по лучшим временам любители. Они создали с нуля новое аппаратное обеспечение на основе процессоров серии PowerPC и новую операционную систему, и, таким образом, смогли обеспечить и поддержку богатого наследия Амиги, и сплотить остатки убеждённых пользователей. "Железом" занимаются специалисты из подразделения Genesi - bPlan, а программной поддержкой этого "железа" занимаются Ralph Schmidt - автор Quark, и Frank Mariak - автор CGX; они же являются лидерами в MorphOS Development Team.

История AmigaOne/AmigaOS 4 в очень кратком виде:
Ещё одно сообщество пользователей PPC-машин появилось в новом столетии. Нынешние владельцы торговой марки Amiga, более заинтересованные в том, чтобы использовать это имя на других рынках, предоставили другим вести (outsourced) разработку и производство аппаратного (собственно, компьютеров) и программного обеспечения (AmigaOS). Так появилась платформа AmigaOne/AmigaOS 4 на основе процессоров PowerPC. В то время как разработка AmigaOS 4 продолжается, аппаратное обеспечение для неё отсутствует, поскольку изначально было основано на платах для разработчиков, более не производящихся. Половина сообщества пользователей Амиги сейчас поглощена заботами о поиске нового оборудования, что осложняется запутанными схемами лицензирования.

 
Авторский коллектив

Fulvio "DoctorMorbius_FP" Peruggi создал большую часть первоначального текста на английском языке.
Andrea "Guruman" Maniero предоставил большую часть содержимого секции "Инструменты разработчика", написал тексты секций "Эксклюзивное ПО MorphOS" и "Игры".

Frank Mariak читал очень внимательно, осуществлял общее руководство и следил за технической достоверностью.
Ed Vishoot внимательно прочёл созданный текст и сделал ряд важных предложений по улучшению.
Martin "Senex" Heine внёс несчётное количество правок и предложений, в результате чего текст существенно изменился в лучшую сторону.

Stefan Blixth предоставил следующие изображения: MorphOS1.jpg, MorphOS2.jpg, MorphOS0.jpg, Blender.jpg.
Gunne Steen предоставил изображения: UAE_Workbench.png, AboutMUI.png, MainPrefs.png, AmbientSettings.png, ShowGirls.jpg, MUIPrefs.png, MPlayer.jpg.
Fulvio "DoctorMorbius_FP" Peruggi также предоставил ряд изображений: Shell.png, VGP2_001.png, VGP2_007.png, MAME_MorphOS004.jpg, CubicIDE.png.
Andrea "Guruman" Maniero предоставил следующие изображения: quake3_003.jpg, freespace2.jpg, robinh_000.jpg, scummvm_000.jpg, fpse_000.jpg, ANR_003.jpg, showgirls_001.jpg, PTPDigCam_001.jpg, chromium_004.jpg.
Christian "tokai" Rosentreter предоставил изображение UAE_SuperFrog.png.

Andrea "Guruman" Maniero и Fulvio "DoctorMorbius_FP" Peruggi являются также авторами перевода на итальянский язык.
Martin "Senex" Heine и Oliver "Bladerunner" Hummel перевели на немецкий.
Andrei "mobydick" Shestakov и "AmiF1team" работали над переводом на русский язык.
Jean-François "Jeffrey" Richard перевёл на французский.
Héctor "Amiades" Juan López автор испанского текста статьи.

Этот текст является версией 2.02 (2007-01-07) наших коллективных усилий.

 
Ресурсы на русском языке

Заинтересовавшийся читатель может также обратиться к русскоязычным источникам, некоторые из которых перечислены ниже:
Википедия об Амиге (про AmigaOS - по ссылке в статье);
Википедия о MorphOS;
Википедия о Pegasos;
Зеркало сайта Genesi на русском языке. О Pegasos;
World of Genesi (на русском языке). Новости;
Также на Википедии вы найдёте другие полезные ссылки.
Кроме того, русскоязычных пользователей может заинтересовать страница российского отделения ATO. Здесь вы сможете найти средства и руководства для локализации ОС AmigaOS и MorphOS и отдельных программ.