AmigaOS
AmigaOS | |
---|---|
![]() Рабочий стол AmigaOS 3.9 | |
Разработчик | Commodore International (1.0-3.1) Haage & Partner (3.5-3.9) Hyperion Entertainment (3.1.4-3.2.2, 4.0-4.1) |
Семейство ОС | Amiga |
Первый выпуск | 23 июля1985 |
Последняя версия | AmigaOS 4.1 Final Edition (PPC) Update 2 AmigaOS 3.2.2.1 (68K) ( 12 января 2021 года (PPC) 23 апреля 2023 года (68K)) |
Последняя тестовая версия | |
Поддерживаемые платформы | Motorola 680x0 и PowerPC |
Типядра | атипичноемикроядро |
Лицензия | Проприетарная |
Состояние | разработка прекращена |
Предыдущая | TRIPOS |
Следующая | AROS |
Веб-сайт | amigaos.net |
![]() |
AmigaOS — этооперационная система для компьютеров семейства Amiga, обладающая нетипичным микроядром, которое в классическом AmigaOS обычно рассматривается как комбинация двух компонентов: Kickstart и desktop. Kickstart представляет собой абстракцию от уникального аппаратного обеспечения Amiga и содержит: планировщик многозадачности (Exec), дисковую операционную систему (AmigaDOS) и графические библиотеки (Intuition). Рабочий стол - это графический интерфейс пользователя, который обычно представлен одноименным рабочим столом или другим файловым менеджером.
Краткий обзор
[править |править код]AmigaOS основана на технологии совместно используемыхбиблиотек (файлы с расширением.library), что обеспечивает её модульность и расширяемость. Библиотеки представляют собой сборники функций, в том числе и тех, которые обеспечивают функционирование самой операционной системы.
В этом плане библиотеки AmigaOS аналогичны библиотечным технологиям другихоперационных систем, но обладают также свойствами совместного использования и переместимости (решение имеет свои достоинства и недостатки).
Изначально предполагалось, что единственная библиотека, которая имеет жёстко заданный адрес в памяти и не может обновляться пользователем — exec.library по адресу4. Впоследствии развитие аппаратной частиAmiga сторонними компаниями и банкротство корпорацииCommodore привели к появлению решений (акселераторы иэмуляторы), позволяющих перемещать и обновлять также и exec.library (так называемый «механизм затенения»). Эта библиотека являетсяядром AmigaOS.
Драйверы AmigaOS (файлы с суффиксом имени файла.device), также являются библиотеками функций, обслуживающих специфичные для подключаемой периферии и устройств Amiga-вызовы, и имеющие стандартный интерфейс запросов. Существует также специфичное для AmigaOS понятие «обработчика» (англ. handler) — драйвера, имеющего более высокий уровень абстракции. Обработчики обеспечивают управление распределением ресурсов Amiga и представляют собойпроцессы, запускаемые при старте AmigaOS.
Один из важнейших обработчиков AmigaOS — обработчикфайловой системы. AmigaOS может использовать любую файловую систему, для которой был написан обработчик. Эта возможность используется вCrossDOS — приложении, служащем для обмена файлами, например сFAT, — и его аналогах. Для AmigaOS существуют обработчики для всех наиболее распространённых файловых систем, а также некоторых экзотических. У пользователей наиболее популярны следующие обработчики файловых систем:OFS,FFS,FFS2,PFS,PFS2,SFS.
Как правило, обработчики передают вDOS название устройства, связанного с ними, но существуют и исключения. Например, обработчик Speak-handler (соответствующий устройству SPEAK:) позволяет управлять программным синтезатором речи (аналогичным реализации вOS/2 Warp, и более поздней реализации вWindows NT) и является одним из примеров службы, не связанной с периферией.
AmigaOS безразличен регистр, в котором набрано название устройства (принято использовать прописные символы), а идентификатором устройства служит символ двоеточия (:) после его имени. После двоеточия может следовать дополнительная информация для обработчика, указывающая на объект и способ управления. Для обработчика файловой системы, это, как правило, информация о пути к файлу. Для других обработчиков это может быть указание потока ввода-вывода (например, устройство SER:, связанное с последовательным портом, воспринимает данные о битрейте, стартовом/стоповом бите и т. д.).
Файловые системы используют в названиях устройств их порядковые номера в системе. Например, устройствоDF0: по умолчанию связано с первым дисководом в системе, аDH0: — с первым разделом винчестера.
Помимо этого, обработчики устройств могут неограниченно связываться друг с другом. В этом случае путь к устройству может быть достаточно «извилистым». Метки томов устройств также считаются устройствами. Например, если дискета в дисководеDF0: имеет метку тома Workbench, то пользователь может обратиться к ней как к логическому устройствуWorkbench:.
Если пользователь хочет обратиться к файлу Bar, находящемуся в каталоге Foo на диске Work в дисководеDF0:, он может записать это так:
DF0:Foo/Bar
или так:
Work:Foo/Bar
Однако эти формы записи не полностью аналогичны. Последняя форма используется, когда системе уже известно, что дискета с именем «Work» — это не любая дискета в дисководеDF0:. Поэтому, если попытаться вставить в тот же дисководDF0: копию нашей дискеты, но с другой меткой тома и обратиться к ней как Work:Foo/Bar, система обнаружит ошибку и выдаст сообщение:
Please insert volume "Work" in any drive
Приложениям AmigaOS часто требуется получить доступ к файлу, не имея данных о его месторасположении (включая название устройства и метку тома): им известен только его тип, является ли файл библиотекой, документацией, локализацией сообщений программы и т. д. Этот вопрос решается на уровне стандартных логических устройств, связанных с файлами определённых типов. Поиск соответствующего файла производится в первую очередь в этих устройствах. По умолчанию в AmigaOS приняты следующие логические устройства:
- SYS:, указывающее на носитель, с которого была загружена система. Создаётся автоматически при старте AmigaOS
- LIBS:, указывающее на каталог, содержащий системные библиотеки. Обычно,SYS:Libs/
- DEVS:, указывающее на каталог, содержащий драйверы. Обычно,SYS:Devs/
- L, указывающее на каталог, содержащий хэндлеры. Обычно,SYS:L/
- C:, указывающее на каталог, содержащий команды Shell. Обычно,SYS:C/
Составляющие AmigaOS
[править |править код]Классическую AmigaOS принято рассматривать как совокупность двух составляющих: Kickstart и Workbench. До AmigaOS 3.5 они считались неотделимыми и зависимыми друг от друга.
Kickstart (в версиях от V0 до V42) предполагал использование определённых версий Workbench. Например, наAmiga 500, имеющей Kickstart V36, может исполняться Workbench 1.3, а корректная загрузка, например, Workbench 3.1 невозможна. Исключением из этого правила является только Workbench 2.1, который может быть загружен на Amiga, имеющей более ранний Kickstart V37. Последние версии Workbench — 3.5 и 3.9 — используют Kickstart V40 для первоначальной загрузки, после чего происходит его обновление до V42 (или V44) в специально выделенной и защищённой области памяти (функция замещения ПЗУ у акселераторов).
Kickstart
[править |править код]Kickstart — название, принятое длясистемного ПО, осуществляющегопервоначальную загрузкуAmiga. НаAmiga 1000 (первой выпущенной модели) Kickstart загружался с3,5″-диска и занимал 256 Кб. В более поздних моделях Kickstart был перенесён впостоянное запоминающее устройство, а его объём вырос до 512 Кб. Все версии Kickstartобратно совместимы, несмотря на многочисленные изменения, происходившие вчипсете классической Amiga с появлением каждой новой модели.
Помимо кода, отвечающего за первоначальную загрузку Workbench, Kickstart также содержит значительную часть самой AmigaOS. Эта часть носит названиеAmiga ROM Kernel и включает в себя Intuition (библиотеки, обеспечивающиеGUI), Exec (микроядро, реализующее вытесняющуюмногозадачность) и AmigaDOS (библиотеки, обеспечивающие работу с дисками). Последняя составляющая основана наTRIPOS, портированной специально для Amiga компаниейMetaComCo, и написана на языкеBCPL (считается «прародителем» языкаСи).
Последние версии Kickstart содержат драйверы дляIDE- иSCSI-контроллеров, портаPCMCIA и различной периферии самой Amiga.
С помощьюПО от сторонних производителей возможно замещение Kickstart, находящегося вПЗУ Amiga, на Kickstart другой версии, находящийся в специально выделенной и защищённой области ОЗУ. Например, Kickstart V34 может использоваться владельцем компьютера, имеющего Kickstart V37, для более корректной работы старых игр. Программы, осуществляющие такое замещение, называются «софткикерами» (Softkickers). Также существуют аппаратные переключатели Kickstart, позволяющие использовать компьютер как бы обладающим двумя чипсетами — устаревшим и штатным. Таким образом, существует множество средств для динамического замещения ПЗУ.
Workbench
[править |править код]Workbench — штатная графическая оболочка AmigaOS. Название оболочки является метафорой словосочетания «рабочий стол» (дословно — «верстак»), поэтому аналогия была продолжена и дальше: каталоги изображены ящиками рабочего стола, исполняемые файлы — инструментами, данные — проектами, а остальные составляющиеGUI — разного рода приспособлениями. Большинство приложений AmigaOS использует всплывающие меню, традиционно начинающиеся со слова Project («Проект»), а не File («Файл»), как на других платформах. Строго говоря, термин Workbench относится только к основному файловому менеджеру AmigaOS, хотя часто используется для обозначения всей той её части, которая расположена внеПЗУ (то есть вне Kickstart).
Интерфейс Workbench похож на Finder вMac OS: здесь также используется главное меню в виде полосы в верхней части экрана. В отличие от стандартной мышиMacintosh, имеющей единственную кнопку, стандартная мышь классическойAmiga имеет две кнопки. Удержанием правой кнопки открывается всплывающее меню, отпусканием — выбирается опция. Левая кнопка мыши используется для управления открытыми на рабочем столе окнами (перемещение, свёртывание, закрытие, выделение и т. п.). Позднее была добавлена поддержка мыши с бо́льшим числом кнопок и колесом.
Exec
[править |править код]Exec[англ.] (ExegSG начиная от AmigaOS 4) является многозадачныммикроядром AmigaOS. Exec обеспечивает функциональность длямногозадачности, распределения памяти, обработки прерываний и обработкидинамических разделяемых библиотек. Оно выступает в качестве планировщика для задач, запущенных в системе, обеспечивающего преимущественную многозадачность с приоритетами планирования вграфическом окружении. Exec также обеспечивает доступ к другим библиотекам и на высоком уровне обеспечивает связи между процессами через передачу сообщений. Другие сопоставимые микроядра имели проблемы производительности из-за необходимости копирования сообщений междуадресными пространствами. Так какAmiga имеет только одноадресное пространство, наличие Exec является довольно эффективным инструментом для передачи сообщений в системе.
AmigaDOS
[править |править код]AmigaDOS обеспечивает системную часть воперационной системе AmigaOS. Это включает в себяфайловую систему, управление файлами и каталогами,интерфейс командной строки, перенаправление файлов, консольные окна и так далее.Интерфейс системы многофункционален, он включает в себя перенаправление команд, эффективную передачу сообщений, сценарии с шаблоном примитивов программирования и систему глобальных и локальныхпеременных.
В AmigaOS первого поколения AmigaDOS был основан наTRIPOS, который был написан на языке программированияBCPL. Взаимодействие с ним других языков оказалось задачей трудной и приводило порой к ошибкам, в связи с чем портTRIPOS был признан не очень эффективным.
В AmigaOS второго поколения AmigaDOS был переписан наязык программированияC иассемблер, сохранив совместимость сBCPL. В него были включены полная программа первого поколения и часть программы из третьей партииAmigaDOS Resource Project (ARP), которые уже нашли замену для многих из программныхBCPL-утилит и интерфейсов.
В последующем ARP также предоставил один из первых стандартизированных реквестеров файлов дляAmiga с целью введения в рабочую средуAmiga для использования более дружественныхUNIX-стилю шаблонов (форматов) функций в параметрах командной строки. Другими нововведениями были существенные улучшения в диапазоне форматов файлов, реализуемых системой как объектыОС, что позволяло загружать в память ту или иную информацию только один раз, сохранять её в памяти и значительно уменьшить время загрузки системы для последующих применений.
В AmigaOS 4.0 в составеDOS отказались от наследияBCPL полностью, и, начиная от AmigaOS 4.1, она была переписана целиком с полной поддержкой64-битной архитектуры.
Само собой разумеется, что различные расширения часто используются в AmigaOS, но они не являются обязательными, и они не обрабатываются особым образом черезDOS, которая ныне в системе относится лишь к каталогам и файлам. Исполняемые программы реализуются с использованием так называемогомагического числа или сигнатуры данных.
ARexx
[править |править код]AmigaOS содержит поддержку интерпретируемого языка программированияREXX (ARexx — официальное сокращение словосочетанияAmiga Rexx). Эта поддержка буквально «пронизывает» все части операционной системы и позволяет: писать сценарии (script) управленияОС (аналогичноbash вGNU/Linux), управлять приложениями (поздний аналог — интеграцияVBA вMicrosoft Office), а также осуществлять обмен сообщениями между приложениями, поддерживающимиARexx-порты (аналог —D-Bus).
Приложения могут открыватьARexx-порты и ожидать сообщения в виде текста от других приложений или ОС. Эти сообщения могут интерпретироваться таким образом, как если бы пользователь использовалGUI иликомандную строку для непосредственного управления приложением. Например,ARexx-программа (обычный текстовый файл) может запустить почтовый клиент, сохранить полученные письма, вызвать программу для их обработки, а затем вызывать внешний просмотрщик текста для их отображения. Таким образом,ARexx позволяет одним приложениям управлять другими, перебрасывая данные через память, вместо создания множества маленьких файлов и перенесения дисковых операций по управлению ими на плечи пользователя.
Версии
[править |править код]AmigaOS 1.0 — 3.0 (первоначальное название —Amiga Workbench) создавались корпорациейCommodore S. G.
- AmigaOS 0.7 — Kickstart V27.3 — первая полностью функционирующая операционная система;
- AmigaOS 0.8 — Kickstart V28.7 —альфа-версия AmigaOS 1.0;
- AmigaOS 0.9 — Kickstart V29.2 —бета-версия AmigaOS 1.0;
- AmigaOS 1.0 — Kickstart V30 —Amiga 1000. практически неработоспособна с точки зрения существующего на данный момент программного обеспечения, поддерживает только NTSC;
- AmigaOS 1.1 — Kickstart V31.4 (NTSC) и Kickstart V32.34 (PAL);
- AmigaOS 1.2 — Kickstart V33.166, V33.180 —Amiga 500 иAmiga 2000, поддерживает NTSC и PAL;
- AmigaOS 1.2.1 — Kickstart 34.4, бета-версия AmigaOS 1.3
- AmigaOS 1.3 — Kickstart V34.5 — Amiga 500 и Amiga 2000. Добавилась возможность старта сHDD;
- AmigaOS 1.3.1 — Kickstart V34.5, бета-версия AmigaOS 1.3.2, основные обновления в Workbench;
- AmigaOS 1.3.2 — Kickstart V34.5, основные обновления в Workbench;
- AmigaOS 1.3.3 — Kickstart V34.5, основные обновления в Workbench;
- AmigaOS 1.3.4 — Kickstart V34.5, основные обновления в Workbench, драйвер для мониторов A2024;
- AmigaOS 1.4 — Kickstart V36, основные обновления в Workbench, бета-версия AmigaOS 2.0
- AmigaOS 2.0 — Kickstart V36 — Amiga 500, Amiga 2000, первые моделиAmiga 3000. Заметно усовершенствована по сравнению с предыдущими версиями, но имеет большое количество ошибок;
- AmigaOS 2.01 — Kickstart V36.143, основные обновления в Workbench;
- AmigaOS 2.02 — Kickstart V36.207, основные обновления в Workbench;
- AmigaOS 2.03 — Kickstart V37.132, основные обновления в Workbench;
- AmigaOS 2.04 — Kickstart V37.175 — Amiga 500,Amiga 600, Amiga 2000, Amiga 3000. Отлаженная версия. Начиная с 37.200 поддерживаютсяIDE-винчестеры (актуально для А600). При возможности легко обновляется на V38 (AmigaOS 2.1), поскольку разница между этими версиями заключается только в различных файлах дистрибутивов для этих систем (ПЗУ можно не менять).
- AmigaOS 2.05 — Kickstart V37.299, V37.300, V37.350, не получила большого распространения;
- AmigaOS 2.1 beta — Kickstart V38, бета-версия AmigaOS 2.1 (бета-версии перестали нумероваться отдельно);
- AmigaOS 2.1 — Kickstart V38 — Amiga 500, Amiga 600, Amiga 2000, Amiga 3000. Все обновлённые библиотеки V38 находятся не в ПЗУ, а на диске дистрибутива, поэтому с точки зрения команд ОС, Kickstart остаётся прежним (V37.x). Введена поддержка локализации.
- AmigaOS 3.0 beta — Kickstart V39.110, бета-версия AmigaOS 3.0;
- AmigaOS 3.0 — Kickstart V39.106 — А1200,А4000 иА4000Т. AmigaOS обрела уже все черты операционной системы позволяющие говорить о её собственном, узнаваемом лице. Самое большое её отличие от предыдущих версий — появление системы Datatypes, позволяющей отображать данные любого существующего формата и представления во всех программах, поддерживающих эту систему.
AmigaOS 3.1,была создана компаниейESCOM, также возобновившей производство классической Amiga вЕвропе иСША. Новая версия создавалась на основе исходников полученных от Commodore S.G.
- AmigaOS 3.1 beta — V39.82, V39.92, бета-версия AmigaOS 3.1 -
- AmigaOS 3.1 — Kickstart V40.55, V40.56, V40.58, V40.60, V40.63, V40.68, V40.70 — A1200, A4000 и A4000T. Устанавливается на все модели Амиг, выпускаемых с1995 года.
AmigaOS 3.5-3.9,была создана компаниейAmiga Inc., владельцем торговой марки Amiga в2004 году. Новая версия была написана с нуля на языкеСи с использованиемреверс-инжиниринга.
- AmigaOS 3.5 beta — Kickstart V44.0, V44.1, бета-версия AmigaOS 3.5
- AmigaOS 3.5 (2000 год) — Kickstart V44.2, V44.4 (BoingBag1), V44.5 (BoingBag2) — A1200, A4000 и A4000T, оснащённые68k-акселераторами. Обновление файлов самой ОС и Kickstart для всех моделей Амиг, оснащённых акселератором. Существенные изменения в дизайне, набор популярных программ, лицензированных в составе дистрибутива.
- AmigaOS 3.9 beta — Kickstart V45.0, бета-версия AmigaOS 3.9;
- AmigaOS 3.9 (2001 год) — Kickstart V45.057, V45.2 (BoingBag1), V45.3 (BoingBag2) — A1200, A4000 и A4000T, оснащённые 68k-акселераторами. Очередное обновление и исправление найденных с 1995 года ошибок в ПЗУ, их программное перекрытие (заплатки) для необновлённых Kickstart. Новый набор программ, лицензированных в составе дистрибутива.
AmigaOS 3.1.x,была создана компаниейHyperion Entertainment на базе исходников проданных компаниейAmiga Inc.
- AmigaOS 3.1.4 (30 сентября2018 года) — Kickstart V46.143. Большое обновление выпущенноеHyperion Entertainment, поддерживающее всю процессорную линейку68k с автоконфигурацией и винчестеры свыше 4Гб для любых контроллеров. Консольные команды были переработаны для поддержкиконвейеров,жёстких исимволических ссылок, в духеUNIX. Workbench и многоцветные иконки были унаследованы из AmigaOS 3.9. Всего было переписано более 20 модулей Kickstart, исправлено большинство ошибок, выявленных с момента выхода AmigaOS 3.9
- AmigaOS 3.1.4.1 (30 июня2019 года) — обновление с исправлением выявленных недочётов и улучшение совместимости с платами расширения сторонних производителей.
AmigaOS 3.2.x,была создана компаниейHyperion Entertainment на базе исходников проданных компаниейAmiga Inc.
- AmigaOS 3.2 (14 мая2021 года) — Kickstart V47.96. Большое обновление выпущенноеHyperion Entertainment, поддерживающее всю процессорную линейку68k с автоконфигурацией и винчестеры свыше 4Гб для любых контроллеров. Kickstart-ы для всей линии выпущенных машин. Обновлённый графический интерфейс пользователя, обновлённые системные классы ReAction и DataTypes, расширенный функционал мышки, новые утилиты и многие другие исправления и усовершенствования. Интерактивная система помощи интегрированная в систему с поддержкой русского языка.
- AmigaOS 3.2.1 (21 декабря2021 года) — Kickstart V47.102. Исправлены выявленные недочёты, расширена живая документация и система помощи. Обновлён редактор иконок с поддержкой новых форматов..Расширен функционал текстового редактора. Улучшена интеграция и работа с образами дискет. (бесплатное обновление доступно зарегистрированным пользователям)
- AmigaOS 3.2.2 (3 марта2023 года) — Kickstart V47.111. Косметическое обновление классов графическое интерфейса ReAction, доработан редактор иконок с улучшенной поддержкой многоцветных иконок, расширен функционал и модульная расширяемость текстового редактора, улучшена поддержка локализации, новый обработчик RAM диска, улучшена совместимость со сторонним ПО и более ранними версиями системных библиотек, система научилась определять ревизии процессоров 68060, прочие мелкие обновления и исправления выявленных недочётов повышающие стабильность ОС.
- AmigaOS 3.2.2.1 (HotFix) (23 апреля2023 года) — горячее обновление исправляющая ряд критических проблем обнаруженных после выпуска основной системы 3.2.2. Доступно два варианта, полный установочный пакет 3.2.2.1 и небольшой на дискете для обновления уже установленной 3.2.2 до 3.2.2.1. Исправления коснулись производительности системы ReAction, совместимость редактора IconEdit с графическими картами под управление CyberGraphX, доработки в текстовом редакторе TextEdit и еще ряд мелких исправлений.
AmigaOS 4.0 — 4.1 были созданы компаниейHyperion Entertainment[2] при активном содействии компанииACube Systems SRL, которые внесли значительную часть в развитие системы и сделали систему по-настоящему популярной благодаря продвинутому и комфортному графическому интерфейсу и широкому набору прикладных программ.
- AmigaOS 4.0 (2004—2005 годы) — Kickstart V50.12, V50.33 — Полностью переписанная наСи и скомпилированная для процессорной линейки PowerPC AmigaOS для новых моделей Амиги —AmigaOne. В декабре2007 года была портирована на классические A1200, A4000, A4000T, оснащённыеPPC-акселераторами. Совместима с ранними версиями AmigaOS иПО, написанным для них с помощью встроенного JIT-эмулятора 68k-кода.
- AmigaOS 4.1 — Kickstart V51.28, V51.1 — A1200, A4000, A4000T, оснащённые PPC-акселераторами, AmigaOne, Sam 440. Вышла в сентябре 2008 года в результате тесного взаимодействия и сотрудничества компанийHyperion Entertainment иACube Systems SRL. В 2009 году портирована наPegasos II. Также существуют планы по адаптации дляMac mini G4 (проект Moana). Регулярное обновление системы проходит автоматически через Интернет (в 2019 г. уровень V53-54). Последнее публичное обновление AmigaOS4.1FE-Update2 - v53.14 (12.01.2021). Последний Kernel v54.56 (26.01.2023).
- AmigaAnywhere — ранее называлась AmigaDE. Кроссплатформенная система, ориентированная наКПК,смартфоны и другие устройства домашнего использования. Отличительная черта — наличие переносимогоядра, похожего по своим возможностям навиртуальные Java-машины. Программа, скомпилированная для AmigaAnywhere один раз, будет работоспособна на всех системах с установленной AmigaAnywhere (ряд КПК продаются с предустановленной AA) или AmigaAnywhere Player (существует дляGNU/Linux,Microsoft Windows иMac OS). Компания Hyperion Entertainment[3] (разработчик AmigaOS, сегодня) имеет планы в будущем включать AmigaAnywhere в AmigaOS 4.x.
См. также
[править |править код]Примечания
[править |править код]- ↑12Hyperion News
- ↑Hyperion Entertainment (неопр.). Дата обращения: 7 июля 2015. Архивировано 7 июля 2015 года.
- ↑Hyperion Entertainment (неопр.). Дата обращения: 12 апреля 2006. Архивировано 22 августа 2010 года.
Ссылки
[править |править код]![]() | Имеетсявикиучебник по теме«AmigaOS 3.9 FAQ» |
---|