AROS () — проект по созданию независимой, переносимой и свободной (лицензия аналогична Mozilla Public License) операционной системы (ОС), совместимой с AmigaOS 3.1 на уровне API, при этом превосходя её во многих областях. Исполняемые файлы для одной платформы совместимы для различных версий AROS, для переноса их на другую платформу потребуется перекомпиляция.

Разработчики AROS стремятся к полной межплатформенной совместимости: исходные коды AROS-программ не должны требовать каких-либо изменений при перекомпиляции под другую архитектуру (на сегодняшний день поддерживаются x86, m68k, идёт работа над SPARC, Palm и PowerPC-версиями). AROS может работать как полноценная ОС, загружаясь с собственного диска/раздела (тип () native), или же поверх Linux/FreeBSD/NetBSD/Solaris как X11-приложение (тип hosted) и поверх Android.

AROS является не клоном AmigaOS, a скорее её последователем, поскольку основной целью является реализация совместимости, а не полное повторение AmigaOS, что было бы противозаконно. Код AROS не содержит частей из AmigaOS.

Существует также эмулятор UAE (Ubiquitous Amiga Emulator), портированный на множество ОС, в том числе на сам AROS. Последнее связано с тем, что UAE в данный момент обладает наилучшей двоичной совместимостью и позволяет запускать оригинальные исполняемые файлы для платформы m68k на других платформах без перекомпиляции исходного кода.

История создания

В 1993 году Amiga переживала трудные времена. Выпуском компьютеров с популярным названием «AMIGA» тогда занималась компания Commodore. Она выпустила доступную по цене для среднего пользователя мини-версию компьютера, знаменитую Amiga 600, однако серьёзные финансовые неурядицы поставили под сомнение дальнейшее существование популярной марки. Дело также ещё осложнялось тем, что операционная часть в виде AmigaOS до возможностей части аппаратной явно не дотягивала. В итоге руководство приняло решение создать отдельную свободную операционную систему, взяв за основу AmigaOS 3.1. Так на свет появилась совершенно новая и независимая система, которую впоследствии назвали AROS. Её распространение проводилось по принципу, который сейчас, к примеру, используется в Mozilla Public License и аналогичных продуктах. Это было довольно смелой попыткой вдохнуть в семейство Amiga новую жизнь, продолжить её развитие, с независимыми частями и независимым кодом, под новой маркой и под другим именем, под флагом и символом Open source. Всё это делалось в надежде, что поддержка свободных и независимых разработчиков поможет сэкономить компании дополнительные средства, которые можно будет использовать для развития новой линейки бюджетных компьютеров, что могло бы поправить пошатнувшееся финансовое положение компании. Некоторые из её представителей всерьёз задумывались над необходимостью обеспечить будущее платформы. Была поставлена цель повысить привлекательность AmigaOS для пользователей и разработчиков. Тогда же было разработано несколько планов по достижению этой цели. Согласно одному из них, AmigaOS должна стать более современной ОС (революция), другой предполагал избавление от накопленных ошибок (эволюция). Так, в ожесточённых спорах, родился проект AROS.

После продолжительной двухлетней дискуссии, зимой 1995 года Аарон Дигуилла опубликовал RFC (рабочее предложение), содержащее несколько вариантов создания минимального общего базиса, некоей отправной точки, фундамента проекта. В результате почти единогласно было решено написать открытую AmigaOS. Проект переименовали в AROS, работа закипела. Интересно, что позднее часть кода AROS была использована в проприетарных операционных системах MorphOS и AmigaOS 4.0, что доказывает гибкость и универсальность самой системы, не только на уровне API, но прежде всего на уровне кода. Система способна работать на архитектурах m68k и x86, однако разработчики усердно трудятся над созданием кроссплатформенной версии ОС. Отметим, что между всеми версиями AROS присутствует бинарная совместимость. Конечно, пока ещё данные продукты, даже при условии их постепенного совершенствования и развития, выглядят весьма старомодно. Однако стоит учесть, что основу для такой продвинутой ОС закладывали ещё в восьмидесятых годах прошлого века. Разумеется, угнаться за «окнами» или разработками конкурирующих компаний было не так легко, но нельзя раньше времени списывать со счетов как саму AmigaOS, так и произошедшие от неё продукты, такие, как MorphOS, и в том числе вышеупомянутую AROS.

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

Будущее операционной системы Под AROS был портирован компилятор GCC 3.3.1, существующие библиотеки подстраиваются под стандарт POSIX, закончено портирование стека протоколов TCP/IP, позаимствованного из FreeBSD. Значение стандартизации AROS трудно переоценить, ведь когда этот процесс будет закончен, откроется доступ к огромному количеству уже написанного исходного кода, перенос утилит из *nix-систем упростится, заработает схема «ПО — пользователи — разработчики — ПО». В качестве побочного эффекта станет возможным компилирование исходников AROS с помощью AROS-версии GCC, то есть ОС станет полностью самоподдерживаемой и самодостаточной. Сравнительно недавно стала возможной и обратная схема разработки — AROS стала работать на классических Amiga (благодаря немецкому проекту «AfA OS» — AROS fur AmigaOS). Таким образом, разработчики приложений для AmigaOS теперь могут компилировать версии и для AROS.

В текущее время в разработке находятся USB-стек и драйвер файловых систем FAT, что позволит использовать множество USB-устройств в AROS, таких как мыши, клавиатуры и USB-диски. Дорабатываются системные библиотеки и решаются вопросы стабильности файловых систем /SFS. Файловый менеджер Wanderer обрастает новыми функциями и постепенно становится похож на свой прототип — Amiga Workbench.

Разработчики системы стараются реализовать ОС со следующими : Совместимость с AmigaOS 3.1 API, за исключением частей, сочтенных не переносимыми или устаревшими, либо не стоящих прилагаемых усилий. Текущее состояние: Большая часть AmigaOS 3.1 API была реализована и даже заменена в некоторых частях. Позволяет запускать старые приложения AmigaOS с помощью эмулятора E-UAE. Готовый инструментарий разработки GUI. Редактору настроек недостает некоторых функций Стандартные приложения, сравнимые с аналогами, идущими с AmigaOS 3.1. Большинство из основных приложений разработаны. Поддержка сети. Сюда относится стек TCP/IP и некоторые основные приложения, вроде клиентов электронной почты и SSH, а также простой веб-браузер. Должен быть по меньшей мере один драйвер сетевой карты (NIC) для каждой обязательной портированной версии. Текущее состояние: есть AROSTCP, ведётся работа над реализацией стека . Разработаны некоторые приложения (например, клиенты FTP, telnet и IRC), но они не являются частью самой системы. Другие приложения, включая некоторые возможные реализации браузеров, находятся в разработке. Собственная среда разработки и SDK для разработчиков. Для AROS есть полный порт GCC, позволяющий компилировать приложения, но все ещё не хватает некоторых инструментов от GNU, вследствие чего на данный момент невозможна самокомпиляция (то есть сборка новой версии ОС из самой ОС). Возможность портирования на разные платформы, такие как x86, PowerPC, DEC Alpha, SPARC, HP-PA и другие. Способность самостоятельной работы и загрузки непосредственно с жёсткого диска, а также в режиме эмуляции. Удобство использования больше, чем у предшественницы — AmigaOS.

Исходный код доступен по открытой лицензии , позволяющей любому желающему свободно принять участие в разработке. Ознакомиться с документацией (в том числе на русском языке) можно на сайте проекта.

В текущем релизе Icaros Desktop 2.0 все эти идеи были в полной мере реализованы, Icaros Desktop позволяет на обычном PC запустить Amiga-подобное десктоп-окружение, в состав которого включено множество развлекательных приложений и игр. Осуществлена синхронизация с кодом проекта AROS по состоянию на 7 октября 2014 года. Задействовано новое окружение рабочего стола, в основе которого лежит файловый менеджер Directory Opus 5 Magellan. Представлена новая функция Wastebasket с реализацией корзины, поддерживающей восстановление удалённых файлов. Добавлен новый конфигуратор Icaros Settings. Улучшена работа окружения для эмуляции платформы Amiga 68k. Добавлены новые приложения Viewbox, PictureAlbum, subversion, DaySleeper, MUI-AYlet, ArTorr, ZuneView.

План развития Для успешного завершения разработки операционной системы AROS должны быть выполнены следующие требования:

Требования Совместимость с AmigaOS 3.1 API Полная совместимость, за исключением сегментов, которые были признаны перенесёнными или устаревшими, или не стоящими общих усилий в связи с превышающими выделенный лимит затратами на них. Для того, что отнести какую-либо часть к категории устаревших, даже несмотря на возможность внедрения её в рамках портирования, необходимы достаточно веские основания. Например, если данная возможность очень редко используется приложениями и её внедрение требует значительных усилий для разработки. Частичная совместимость с AmigaOS 3.5 и 3.9 API Для разработки выбираются исключительно только те сегменты, которые могут максимально полезны и достойны внедрения. Готовый инструментарий разработки GUI Полная совместимость Zune с MUI API, и доработанное приложение редактирования настроек. Стандартные приложения, сопоставимые с аналогами, идущими из AmigaOS 3.1 Это не означает, что в AROS должны быть программы, работающие в точности так же, как и их аналоги в AmigaOS, но доступные пользователю функции должны быть примерно эквивалентны. Поддержка звука Совместимость на уровне API и основные приложения. Должно быть не менее одного драйвера для каждой обязательно портированной версии. Поддержка сети Сюда относится TCP/IP стек и некоторые основные программы, вроде почтовых клиентов и SSH, а также простой веб-браузер. Должно быть не менее одного драйвера сетевой карты (NIC) для каждой обязательно портированной версии. Для веб-браузера не выдвигаются высокие требования, но обязательно должна быть поддержка YouTube и веб-приложений. Собственная среда разработки SDK для разработчиков Конкретно, сюда входит всё программное обеспечение требуемое для сборки AROS, такое как GCC, GNU Binutils, и другое. Должна быть возможность компилировать AROS в самой же AROS. Реализация бинарной совместимости (ABI) для поддерживаемых архитектур (в этом случае только для i386) должна быть максимально завершенной. Полная документация для разработчиков Сюда относятся полные справочные руководства по всем библиотекам, устройствам, классам и средствам разработки, а также руководства и учебные материалы, знакомящие с подсистемами и дающие общие представления о системе в целом. Также должно быть руководство по миграции и портировании. Полная документация для пользователей Сюда относится полная справка по командам, учебные материалы, пособия по установке, настройке и другие руководства.

Реализация В настоящее время данные требования к системе AROS и её дистрибутивам выполнены.

Дистрибутивы AROS

Дистрибутивы — это преднастроенные и испытанные . Они содержат ряд полезных приложений, которых нет в обычных сборках и потому представляют максимальный интерес для пользователей. Они могут иметь не самые свежие версии базовых библиотек и ядра, но зато более стабильны и дружелюбны к пользователю, нежели обычные ночные сборки. Собираются они из системных файлов AROS, которые могут быть загружены в разных версиях с сайта проекта. Эти файлы компилируются прямо из исходников SVN в ночное время, и доступны как ночные сборки. Ежедневные ночные сборки также содержат ряд приложений сторонних разработчиков, которые могут быть полезны для выполнения самых разных задач.

Для конечного/среднего пользователя имеются несколько дистрибутивов:

Icaros Desktop