AROS
AROS (англ. AROS Research Operating System) — проект по створенню кросплатформної та вільної (ліцензія APL аналогічна Mozilla Public License) операційної системи (ОС), сумісної на рівні початкового коду із AmigaOS 3.1. Виконувані файли для однієї платформи сумісні із різними версіями AROS, але для перенесення їх на іншу платформу знадобиться перекомпіляція.
Дистрибутив Icaros Desktop 1.3.1 з інтеграцією Amiga 68K (серпень 2011) | |
Розробник | The AROS Development Team |
---|---|
Родина ОС | AmigaOS-подібна |
Стан проєкту | Актуальний |
Модель коду | Відкрите ПЗ |
Початковий випуск | 1995 |
Останній стабільний випуск | 2.1.3[1]/ 14 вер. 2016 |
Доступні мови | Багатомовний набір |
Доступні мови програмування | C |
Платформи, що підтримуються | x86-64, IA-32, PowerPC, m68k, ARM |
Тип ядра | Мікроядро |
Ліцензія | AROS Public License |
Вебсайт | aros.sourceforge.net |
AROS у Вікісховищі |
Розробники AROS прагнуть повної міжплатформної сумісності: початкові коди AROS-програм не мають вимагати будь-яких додаткових змін при перекомпіляції під іншу архітектуру (на сьогодні підтримуються x86, m68k, триває робота над SPARC, Palm і PowerPC-версіями). AROS може працювати як повноцінна ОС, завантажуючись із власного диску/розділу (тип native), або над Linux/FreeBSD/NetBSD/Solaris як X11-додаток (тип hosted) та над Android.
AROS не є клоном AmigaOS, а скоріше її послідовником, оскільки головною метою є реалізація сумісності, а не повне повторення AmigaOS. Код AROS не містить частин із AmigaOS.
Також існує емулятор UAE (Ubiquitous Amiga Emulator), портований на більшість ОС, в тому числі і на саму AROS. Останнє пов'язано з тим, що на сьогодні UAE має найкращу бінарну сумісність та дозволяє запускати оригінальні виконувані файли для платформи m68k на інших платформах без перекомпіляції.
Ціль проекту
Ціллю проекту є створення ОС, яка:
- Є максимально сумісною з AmigaOS 3.1;
- Може бути встановлена на різні види апаратних архітектур та процесорів, таких як x86, PowerPC, Alpha, Sparc, HPPA та інших;
- Володіє бінарною сумісністю на Amiga і ресурсній сумісності на інших апаратних забезпеченнях;
- Може працювати як автономна версія, яка завантажується безпосередньо з жорсткого диска, і як емулятор, який відкриває вікно в існуючій ОС для розробки програмного забезпечення та водночас запускає Amiga і рідні додатки;
- Покращує функціональності AmigaOS.
Історія створення
У 1993 році Amiga переживала важкі часи. Деякі користувачі серйозно замислювалися над необхідністю забезпечити майбутнє платформи. Була поставлена мета підвищити привабливість AmigaOS для користувачів і розробників. Тоді ж було розроблено декілька планів по досягненню цієї мети. Відповідно до одного з них, AmigaOS повинна стати більш сучасною ОС (революція), інший припускав позбавлення від накопичених помилок (еволюція). Так, в запеклих суперечках, народився проект AROS.
Після тривалої дворічної дискусії, взимку 1995 Аарон Дігуілла опублікував RFC (робоча пропозиція), що містить кілька варіантів створення мінімального загального базису, якоїсь відправної точки, фундаменту проекту. У результаті майже одноголосно було вирішено написати відкриту 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 fur AmigaOS). Таким чином, розробники додатків для AmigaOS тепер можуть компілювати версії і для AROS.
У поточний час у стані розробки перебувають USB-стек і драйвер файлових систем FAT, що дозволить використовувати безліч USB-пристроїв у AROS, таких як миші, клавіатури і USB-диски. Допрацьовуються системні бібліотеки та вирішуються питання стабільності файлових систем AFFS/SFS. Файловий менеджер Wanderer обростає новими функціями і поступово стає схожий на свій прототип — Amiga Workbench.
План розвитку
Для виходу AROS 1.0, повинні бути виконані нижченаведені вимоги для портів i386-pc та i386-linux (пізніше згадуються, як «обов'язкові порти»). Всі інші порти не розглядаються як вимоги для 1.0, що зроблено для зниження обсягу робіт.
Вимоги
- Сумісність із AmigaOS 3.1 API
- Повна сумісність за винятком частин, які були визнані такими, що не можуть бути перенесеними, або застарілими, або такими що не варті прикладених зусиль. Для того, що віднести яку-небудь частину до категорії застарілих, навіть попри можливість впровадження її у рамках портованості, необхідні досить вагомі підстави. Наприклад, якщо дана можливість дуже рідко використовується додатками і її впровадження потребує значних зусиль.
- Часткова сумісність із AmigaOS 3.5 та 3.9 API
- Необхідно обрати частини, що видаються корисними і вартими впровадження, відкинувши все зайве.
- Готовий інструментарій розробки GUI
- Повна сумісність Zune із MUI API, та завершений додаток редагування налаштувань.
- Стандартні додатки, порівнянні з аналогами, що йдуть з AmigaOS 3.1
- Це не означає, що в AROS повинні бути програми, що працюють в точності так само, як і їх аналоги в AmigaOS, але доступні користувачеві функції повинні бути приблизно еквівалентні.
- Підтримка звуку
- Сумісність на рівні API та основні додатки. Повинен бути щонайменше один драйвер для кожної обов'язкової портованої версії.
- Підтримка мережі
- Сюди відноситься TCP/IP стек і деякі основні програми, на кшталт клієнтів електронної пошти і SSH, а також простий веб-браузер. Повинен бути щонайменше один драйвер мережевої карти (NIC) для кожної обов'язкової портованої версії. До веб-браузеру не висувається високих вимог, але повинна бути можливість переглядати сайти яким-небудь способом (навіть якщо це буде всього лише текстовий режим).
- Власне середовище розробки і SDK для розробників
- Конкретно, сюди входить все програмне забезпечення потрібне для збірки AROS, таке як GCC, GNU Binutils, GNU Make та інші. Має бути можливість компілювати AROS в самій AROS. Реалізація бінарної сумісності (ABI) для підтримуваних архітектур (в цьому випадку тільки для i386) має бути завершена до виходу версії 1.0. Після виходу версії 1.0 ABI має бути стабільним протягом тривалого часу.
- Повна документація для розробників
- Сюди відносяться повні довідкові керівництва до усіх бібліотек, пристроїв, класів і засобів розробки, а також керівництва та навчальні матеріали, що знайомлять з підсистемами в цілому і дають загальні уявлення. Також має бути посібник з міграції та портування.
- Повна документація для користувачів
- Сюди відноситься повна довідка по командах, навчальні матеріали, посібники з установки, налаштування та інші керівництва.
- Завершення всебічного тестування і пошуку помилок
- Реліз версії 1.0 повинен бути насправді вільним від помилок і бути дуже стабільним.
Дистрибутиви
Для звичайних користувачів, як і у випадку з Linux, існує декілька дистрибутивів системи:
Icaros Desktop
В дистрибутив інтегрований емулятор Amiga 68K, апаратне прискорення для відеоадптерів Nvidia, та останні версії системних додатків. Остання версія 1.5.1 датується 29 січня 2013 року.[2]
Broadway
Broadway новий дистрибутив AROS, робота над яким розпочалася після 2009 року. Головні пріоритети — простота встановлення та використання, в той самий час щонайповніше розкриття можливостей AROS для пересічного користувача. Остання реліз було здійснено 14 червня 2011 року, номер версії — 0.05.[3] Встановлений за умовчанням на Ares One Computer.
AspireOS
Робота над дистрибутивом розпочата у 2011 році, та полягає у фокусуванні на нетбуках Aspire One. Остання версія 1.97 Update 4 видана 19 березня 2013 року.
Легальний статус AROS
Відповідно до європейських законів, вважається законним застосування технологій інженерного аналізу для досягнення взаємодії систем. Також визначено, що є незаконним поширення отриманих таким чином відомостей. Фактично, це означає, що можливо дизасемблювання або переписання програм для забезпечення сумісності (наприклад, законно буде дизасемблювати Word, щоб створити програму, що конвертує документи Word в текст ASCII).
Зрозуміло, це тягне за собою обмеження: не дозволяється розбирати код програми, якщо зібрана в результаті інформація могла бути отримана іншими засобами. Також її не можна нікому передавати. З цієї точки зору, книги на кшталт «Windows зсередини» є незаконними, або, принаймні, сумнівної законності.
Оскільки розробники AROS уникають дизасемблювання і використовують замість нього загальнодоступні відомості (включаючи керівництва з програмування) які не потрапляють під будь-які NDA, перераховане вище незастосовно безпосередньо до AROS. Важлива тут суть закону: законним є написання програм, сумісних з іншими програмами. Таким чином, на думку розробників, закон на боці AROS.[4]
Тим не менш, патенти та заголовні файли — інша справа. Можливо застосовувати запатентовані алгоритми в Європі, оскільки європейські закони не дозволяють патентувати алгоритми. Однак, код, що використовує алгоритми, запатентовані в США, не може бути імпортований до США. Приклади запатентованих алгоритмів AmigaOS включають перетягування екрану і специфічну роботу меню. Відповідно, в AROS намагаються не реалізовувати ці речі в точності такими ж. Заголовки ж повинні бути максимально сумісні, але разом з тим і максимально відмінні від вихідних.
Щоб уникнути проблем, команда розробників AROS зажадала офіційне підтвердження від Amiga Inc. На жаль, поки що ніякого офіційного висновку зроблено не було, незважаючи на добрі наміри з обох сторін.
Посилання
Примітки
- Вийшов Icaros Desktop v2.1.3
- Icaros Desktop 1.5.1 available for download.
- Broadway 0.0.5 released. Архів оригіналу за 12 травня 2013. Процитовано 31 травня 2013.
- http://aros.sourceforge.net/documentation/users/faq.php#what-is-the-legal-status-of-aros[недоступне посилання з червня 2019]