Обзор операционных систем для хостинга


Целью проекта AROS (англ. AROS Research Operating System) является создание переносимой и свободной (лицензия APL аналогична Mozilla Public License) операционной системы, совместимой на уровне исходного кода c AmigaOS 3.1. Исполняемые файлы для одной платформы совместимы для различных версий AROS, для переноса их на другую платформу потребуется перекомпиляция.

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

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

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

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

В 1993 Amiga переживала трудные времена, перспективы были туманными, надежды — неопределёнными. Некоторые пользователи всерьёз задумывались над необходимостью самим обеспечить светлое будущее любимой машины. Была поставлена цель повысить привлекательность AmigaOS для пользователей и разработчиков. Считалось, что Амига в этом случае автоматически станет более распространённой и популярной. Тогда же было разработано несколько планов по достижению этой цели. Согласно одному из них, AmigaOS должна стать более современной ОС (революция), другой предполагал избавление от накопленных ошибок (эволюция). Так, в ожесточённых спорах, родился проект AROS.

Эволюция AmigaOS 3.1

Что в AmigaOS можно считать ошибочным, ненужным, избыточным? От чего нужно избавиться, как от пережитков прошлого, мешающих развитию ОС? Если добавлять новые функции — то какие? Что такое «современная ОС», в принципе? Обсуждение этих тем в usenet-конференции comp.os.aos происходило на протяжении двух лет. Это была череда однотипных писем: «нужно (нельзя) делать так…», на которые следовали не менее однотипные ответы: «это невозможно (необходимо), потому что… и вообще, это уже обсуждалось, смотрите в архиве… короче, Вы не правы!». Ни одной строчки кода не было написано или опубликовано.

Зимой 1995 Aaron Diguilla, которому надоели эти затянувшиеся обсуждения в конференции, опубликовал RFC (Request For Comments — предложение к обсуждению), содержащий несколько вариантов создания минимального общего базиса, некоей отправной точки, фундамента проекта. В результате почти единогласно было решено начать с написания открытой AmigaOS… Проект переименовали в AROS, работа закипела. Интересно, что часть кода AROS была использована в проприетарных операционных системах MorphOS и AmigaOS 4.0.


Будущее операционной системы

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