top logo menu kitty mascot
AROS.ORG Developers Localization Bounties

ЧАсто задаваемые ВОпросы

Содержание

Общие вопросы

Могу ли я задать вопрос?

Конечно. Есть несколько мест, где можно задать вопросы, обсудить AROS и найти помощь. Списки рассылки разработчиков AROS и каналы Slack перечислены в wiki Git-репозитория AROS. Также существуют форумы сообщества и обсуждения на различных форумах, посвящённых Amiga, где можно найти людей с опытом использования AROS и других Amiga-подобных систем.

Кроме того, в сети доступно значительное количество документации и литературы об AROS, AmigaOS и родственных Amiga-подобных системах, которые могут дать полезные общие и практические сведения.

Этот FAQ будет обновляться по мере появления полезных вопросов и ответов, однако обсуждения в сообществе и каналы разработки, скорее всего, содержат более свежую информацию.

Что вообще такое AROS ?

Об этом читайте во введении.

Каково официальное положение AROS?

Согласно европейским законам, считается законным применение технологий инженерного анализа для достижения взаимодействия систем. Также определено, что является незаконным распространение полученных таким образом сведений. Фактически, это означает, что возможно дизассемблирование или переписание программ для обеспечения совместимости (например, законно будет дизассемблировать Word, чтобы создать программу, конвертирующую документы Word в текст ASCII).

Разумеется, это влечет за собой ограничения: не позволяется дизассемблировать программы, если собранная в результате информация могла быть получена другими средствами. Также её нельзя никому передать. С такой точки зрения, книга вроде "Windows изнутри" является незаконной, или, по крайней мере, сомнительной законности.

Поскольку мы избегаем дизассемблирования и используем вместо него общедоступные сведения (включая руководства по программированию) которые не попадают под какие-либо NDA, перечисленное выше неприменимо непосредственно к AROS. Важна здесь суть закона: законным является написание программ, совместимых с другими программами. Таким образом, мы считаем, что закон на стороне AROS.

Тем не менее, патенты и заголовочные файлы - другое дело. Мы можем применять запатентованные алгоритмы в Европе, поскольку европейские законы не разрешают патентовать алгоритмы. Однако, код, использующий алгоритмы, запатентованные в США, не может быть импортирован в США. Примеры запатентованных алгоритмов AmigaOS включают перетаскивание экрана и специфичную работу меню. Соответственно, мы стараемся не реализовывать эти вещи в точности такими же. Заголовочные файлы же должны быть максимально совместимы, но вместе с тем и максимально отличны от исходных.

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

Почему ваша цель - совместимость только с AmigaOS 3.1?

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

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

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

Можно ли ввести возможность XYZ?

Нет, потому что:

а) Если бы это было так важно, это уже было бы :-) (в оригинальной ОС) b) Почему бы вам самим не сделать и не прислать нам патч?

Причина такого подхода в том, что большинство считают нужную им возможность самой важной и что AROS обречена, если не применить её правильным образом. Наша же позиция - в том, что AmigaOS, которую AROS старается воплотить, способна делать всё то же, на что способны все современные ОС. Мы замечаем, что есть области, где AmigaOS можно доработать, но если это сделать, кто будет дописывать всё остальное ? К тому же, это привело бы к появлению множества мелких доработок над оригинальной AmigaOS, которые бы мешали нормальной работе всех приложений, но при этом в целом ничего бы не стоили, так как остальные функции были бы утеряны.

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

Насколько AROS совместима с AmigaOS?

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

Перенос программ с AmigaOS на AROS в настоящее время, скорее, задача простой рекомпиляции, и, возможно, изменения кода в некоторых местах. Разумеестся, есть исключения из сказанного, но это применимо также для многих современных программ.

Для каких процессорных платформ доступна AROS?

В настоящее время AROS доступна во вполне пригодном состоянии в native- и hosted-вариантах (под Linux) для архитектуры i386 (то есть клонов, совместимых с IBM PC AT) и для X86_64. Ведутся работы над портами разной степени готовности на 68k Amiga и Raspberry Pi.

Будет ли AROS портирована на PowerPC?

Она уже доступна. Поддерживаемые порты AROS для PowerPC — sam440-ppc и darwin-ppc.

Почему Вы используете Linux и X11?

Мы применяем Linux и X11 для ускорения разработки. Например, если требуется простая новая функция открытия окна, можно написать одну эту функцию, не вводя множество других функций в layers.library, graphics.library, ряд драйверов и другое, что ещё этой функции потребуется.

Задача AROS, тем не менее, быть всё же независимой от Linux и X11 (но она всё же будет способна, при надобности, работать с ними), и это становится реальностью благодаря native-версиям AROS. Тем не менее, Linux всё ещё нужен при разработке, поскольку ещё не все требуемые инструменты разработки перенесены на AROS.

Как же вы собираетесь добиться переносимости AROS?

Одим из самых значительных отличий AROS от AmigaOS является применение системы HIDD (Hardware Independent Device Drivers), позволяющей с лёгкостью портировать AROS на различные платформы. Вкратце, базовые библиотеки ОС обращаются к оборудованию не напрямую, а через HIDDы, которые написаны с применением объектно-ориентированного подхода, позволяющего легко заменять HIDDы, и использовать код повторно.

Вы верите в успех AROS?

Каждый день мы слышим от многих, что у AROS ничего не выйдет. Большинство из них либо не знают, что именно мы делаем, либо считают, что Амига давно мертва. После того, как первым объяснили, в чём наша задача, большинство из них согласилось, что это возможно. Со вторыми хлопот больше. Ладно, Амига уже мертва ? Пользователи Амиги определенно с ними не согласятся. Разве их A500 или A4000 взорвались, когда Commodore объявили банкротом ? А когда та же участь постигла Amiga Technologies ?

Однако фактом является малое количество новых программ для Амиги (что не мешает Aminet жить и здравствовать) и медленность разработки оборудования (впрочем, как раз начали появляться интересные гаджеты). Сообщество Amiga, живое до сих пор, замерло в ожидании. И если появится продукт, достойный Amiga, какой она была в 1984, его вновь ждёт успех. Как знать, быть может, к машине будет прилагаться диск с надписью "AROS"? :-)

Что мне делать, если не удаётся скомпилировать AROS?

Пожалуйста, опишите проблему подробно, включая команду, которой вы собирали AROS, и все полученные сообщения об ошибках, и попросите помощи в списке рассылки разработчиков AROS или в канале Slack AROS. Это подходящие места для обсуждения проблем сборки и других вопросов, связанных с разработкой AROS, и именно там разработчики и другие люди, знакомые с системой сборки, могут помочь диагностировать проблему.

Чтобы попросить помощи с проблемой сборки, не нужно быть признанным разработчиком AROS. Если вы собираете AROS из исходников, вы уже работаете со средой разработки.

Будет ли в AROS защита памяти, SVM, RT, ...?

Несколько сотен экспертов по Amiga (и тех, кто считал себя таковыми) три года пытались найти способ реализовать защиту памяти (MP) для AmigaOS. Успеха они не добились. Это говорит о том, что обычная AmigaOS вряд ли когда-нибудь получит MP, как в Unix или Windows NT.

Но не всё потеряно. Есть планы интегрировать в AROS вариант MP, который позволит защитить хотя бы новые программы, которые о нём знают. Некоторые усилия в этой области выглядят действительно многообещающе. К тому же падение машины само по себе не такая уж проблема. Проблема скорее в том, что:

  1. Вы плохо представляете, почему она упала. По сути, вам приходится тыкать тридцатиметровым шестом в болото, затянутое густым туманом.
  2. Вы теряете свою работу.

Перезагрузка машины на самом деле не проблема.

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

То же касается SVM (выгружаемой виртуальной памяти), RT (отслеживания ресурсов) и SMP (симметричной многопроцессорности). Сейчас мы планируем, как их реализовать, стараясь сделать добавление этих возможностей безболезненным. Однако прямо сейчас у них не самый высокий приоритет. Впрочем, очень базовый RT уже добавлен.

Можно ли стать бета-тестером?

Конечно, без проблем. В действительности, чем больше бета-тестеров, тем лучше, так что приглашаются все! Мы не ведем списка бета-тестеров, так что всё, что вам надо сделать - это скачать AROS, опробовать всё что вы захотите, и прислать нам отчёт.

Какова связь между AROS и UAE?

UAE — эмулятор Amiga, и как таковой его цель несколько отличается от цели AROS. UAE стремится к двоичной совместимости даже для игр и кода, напрямую работающего с железом, тогда как AROS стремится к native-приложениям. Поэтому AROS намного быстрее UAE, но под UAE можно запустить больше программ.

Мы поддерживаем нерегулярный контакт с автором UAE, и есть хорошие шансы, что код из UAE появится в AROS и наоборот. Например, разработчики UAE заинтересованы в исходниках ОС, поскольку UAE мог бы выполнять некоторые приложения намного быстрее, если бы часть или все функции ОС можно было заменить native-кодом. С другой стороны, AROS могла бы выиграть от встроенной эмуляции Amiga.

Поскольку большинство программ не будет доступно в AROS с самого начала, Fabio Alemagna портировал UAE на AROS, так что старые программы можно запускать хотя бы в эмуляторе.

В Contrib также доступен E-UAE — UAE, улучшенный некоторыми возможностями из WinUAE.

Какова связь между AROS и Haage & Partner?

Haage & Partner использовали фрагменты AROS в AmigaOS 3.5 и 3.9, например, такие элементы, как colorwheel и gradientslider и команда SetENV. Это означает, что по ходу своего развития, AROS пополнила AmigaOS, став её частью. Но это не означает, что имели место какие-то официальные отношения между AROS и Haage & Partner. AROS - проект с открытым исходным кодом, и любой может использовать наш код в своих проектах, если будет использовать его в рамках нашей лицензии.

Какова связь между AROS и MorphOS?

Отношения между AROS и MorphOS практически те же, что и между AROS и Haage & Partner. MorphOS использует части AROS для ускорения собственных разработок, в рамках нашей лицензии. Как и в случае с Haage & Partner, от этого выигрывают обе стороны, поскольку MorphOS получает дополнительный стимул к ускорению разработок, а AROS - дополнения к коду, разработанные для MorphOS. Никаких официальных отношений не существует, такова разработка open source - проектов.

Какие есть языки программирования?

GCC (C, C++) доступен как в native-варианте, так и в виде кросс-компилятора.

Нативно доступны языки Python, Regina, Lua и Hollywood:

  • Python — скриптовый язык, ставший довольно популярным благодаря удачному дизайну и возможностям (объектно-ориентированное программирование, система модулей, множество полезных модулей в комплекте, чистый синтаксис, ...). Для порта на AROS создан отдельный проект, который можно найти по адресу https://pyaros.sourceforge.net/.
  • Regina — переносимый ANSI-совместимый интерпретатор REXX. Цель порта на AROS — совместимость с интерпретатором ARexx классической AmigaOS.
  • Lua — мощный, быстрый, лёгкий и встраиваемый скриптовый язык. Порт на AROS расширен двумя модулями: siamiga и zulu. Первый содержит несколько простых графических команд, второй — интерфейс к Zune.
  • Hollywood — коммерческий язык программирования для мультимедийных приложений, включая игры. Можно купить версию для i386-aros (ABI v0).

Почему в AROS не встроен эмулятор m68k?

Уже предпринимается попытка интегрировать эмулятор janus-uae.

Но почему бы просто не реализовать виртуальный процессор m68k, чтобы запускать программы прямо в AROS? Проблема в том, что программы для m68k ожидают данные в формате big-endian, тогда как AROS работает и на little-endian-процессорах. Little-endian-подпрограммам ядра AROS пришлось бы работать с big-endian-данными эмуляции. Автоматическое преобразование выглядит невозможным (лишь один пример: в одной из структур AmigaOS есть поле, которое иногда содержит один ULONG, а иногда два WORD), поскольку мы не можем определить, как закодирована пара байтов в памяти.

Будет ли в AROS Kickstart ROM?

Они уже доступны в пакете amiga-m68k-boot-iso в каталоге boot/amiga.

Ночные сборки (nightly builds)

Что такое ночные сборки?

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

Почему ночные сборки не используют "красивые" темы?

Проблема в том, что "красиво" — понятие субъективное. Не существует темы по умолчанию, которая устроила бы всех, а изменение настроек проекта по умолчанию всякий раз, когда они кому-то не нравятся, лишь превращает эстетику в бесконечный цикл "верните как было".

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

Ночные сборки не задуманы как отшлифованный настольный продукт с определённым вкусом; это единообразная среда для разработки и тестирования. Если вам нравится другой внешний вид, настройте его под себя или создайте дистрибутив на основе этого предпочтения.

Личные предпочтения — вполне законная причина настроить собственную систему, но не особенно хорошее основание для изменения настроек по умолчанию основного проекта.

"Программные" вопросы (software)

Что такое Zune?

Если вы прочитали на этом сайте о Zune, то знайте, что это просто реинкарнация MUI в открытом исходном коде. MUI - это мощный, удобный и для пользователей, и для разработчиков объектно-ориентированный пакет разработки GUI с shareware-лицензией, стандарт де-факто в AmigaOS. Zune - основной пакет разработки GUI-приложений AROS. Само имя ничего особенного не означает, но звучит прикольно. =)

Какова разница между Графической и обычной памятью в Wanderer?

Это разделение памяти, в основном, является лишь отголоском прошлого Амиги, когда графическая память была основной памятью, доступной приложениям, пока не добавлялась другая память, называвшаяся FAST RAM, где и располагались приложения. При этом графика, звуки и некторые системные структуры оставались в графической памяти.

В AROS-hosted не существует такой памяти, как FAST, есть только графическая. В Native AROS максимальный размер этой памяти не превышает 16МБ, но при этом никак не отображает размер памяти графического адаптера. Фактически, этот параметр не имеет никакого отношения к памяти графического адаптера.

Развернутый ответ Графическая память в i386-native относится к нижним 16МБ системной памяти. В пределах этой области карты шины ISA могут использовать DMA. Выделение памяти при помощи функций MEMF_DMA и MEMF_CHIP возможно только в её пределах, остальных - в прочей памяти, аналоге FAST.

Чобы получить подробные сведения о доступной памяти используйте команду C:Avail HUMAN.

Для чего служит команда Wanderer Запомнить <окно/все>?

Эта команда запоминает расположение значков всех окон (или одного окна).

Какие параметры командной строки есть у исполняемого файла hosted-версии AROS?

Их список можно получить, выполнив команду ./aros -h.

Какие параметры ядра native-версии AROS используются в строке GRUB?

Вот некоторые из них:

floppy=<disabled/nomount>   Задаёт параметры устройства trackdisk
    disabled                - полностью отключает инициализацию
                              trackdisk.device
    nomount                 - инициализирует trackdisk.device, но не
                              создаёт DOS-устройства

ATA=32bit           - Включает 32-битный ввод-вывод в драйвере жёсткого
                      диска (безопасно)
forcedma            - Принудительно включает DMA в драйвере жёсткого диска
                      (должно быть безопасно, но не гарантируется)
gfx=<hidd name>     - Использовать указанный HIDD в качестве графического
                      драйвера
lib=<name>          - Загрузить и инициализировать указанную библиотеку/HIDD

Учтите, что параметры чувствительны к регистру.

Как сделать DOS-скрипт, который автоматически запускается для установленного пакета?

  1. Создайте подкаталог S и добавьте в него файл с именем 'Package-Startup', содержащий DOS-скрипт этого пакета, который вы хотите выполнять при каждой загрузке.
  2. Создайте в файле envarc:sys/packages переменную, содержащую путь к подкаталогу S вашего пакета.

Пример структуры каталогов:

sys:Extras/myappdir
sys:Extras/myappdir/S
sys:Extras/myappdir/S/Package-Startup

Переменная в envarc:sys/packages может называться 'myapp' (имя приведено для примера); её содержимым тогда будет 'sys:extras/myappdir'.

Скрипт Package-Startup будет затем вызван из startup-sequence.

Вопросы по оборудованию (hardware)

Где найти список совместимого оборудования для AROS?

Один из них можно найти на странице AROS Wiki. Могут существовать и другие списки, составленные пользователями AROS.

Почему AROS не загружается с диска, установленного как SLAVE на канале IDE?

Вообще-то AROS должен загружаться, если диск установлен как SLAVE, но ТОЛЬКО если на MASTER тоже есть диск. Это соответствует правильному подключению согласно спецификации IDE, и AROS ей следует.

Моя система зависает с красным курсором на экране или с пустым экраном

Одной из причин может быть использование мыши с последовательным портом (она пока не поддерживается). В настоящее время с AROS необходимо использовать мышь PS/2. Другая причина может быть в том, что вы выбрали в загрузочном меню видеорежим, который ваше оборудование не поддерживает. Перезагрузитесь и попробуйте другой.