Interested Article - A2 (операционная система)
- 2020-04-18
- 1
A2 (ранее Bluebottle ) — модульная объектно-ориентированная операционная система с автоматическим управлением памятью и подсистемой мягкого реального времени, разрабатываемая в ETH Zurich , основанная на ядре Active Object System — дальнейшем развитии системы ETH Oberon . Она обеспечивает компактное окружение времени выполнения для языка Active Oberon , который позволяет разрабатывать эффективные системы, основанные на активных объектах, выполняющихся непосредственно на "железе" без посреднического интерпретатора или виртуальной машины. А2 содержит в себе все инструменты, необходимые для разработки - компилятор, IDE , редактор форм, профилировщик, редактор XML, ассемблер и так далее.
Активный объект в A2 представляется как совокупность традиционного для современных языков ООП понятия «объект» и выполняющейся в контексте данного объекта «активности» (нити). В данной реализации Активного Оберона у активного объекта могут быть, кроме его активности, ещё и активности объектов-предков.
Другими отличиями A2 от более распространенных операционных систем является аскетичный дизайн, пользовательский интерфейс, поддерживающий метафору "наведи и щелкни" для выполнения команд непосредственно из текста в любом окне подобно гиперссылкам в веб-браузере. Безопасный для типов язык программирования, автоматическое управление памятью, сборка мусора, набор примитивов синхронизации доступа к внутренним элементам объектов из множества конкурирующих потоков (активностей).
Над слоем ядра гибкая коллекция модулей обеспечивает общие абстракции для устройств и сервисов, например, файловые системы , интерфейсы пользователя , сетевые подключения, кодеки и так далее.
Архитектура
Иерархия модулей A2 и Active Oberon
Основная часть исходного кода оригинального Oberon вошла в проект A2 с префиксом "Oberon." (средняя часть диаграммы) [ источник не указан 3010 дней ] . По функциональным возможностям эта часть кода соответствует возможностям MS-DOS с экранным текстовым редактором [ источник не указан 3010 дней ] .
Параллельно с AOS (A2) студенты работали над системой Native Oberon (N-O). В N-O были созданы следующие графические модули: GD54xx.Display.Mod, S3C805.Display.Mod, DisplayLinear.Mod, DisplayMach64.Mod, DisplayVGA4.Mod, Display3.Mod, DisplayGTF.Mod ( ). В среде и операционной системе Active Oberon (A2) были сделаны изменения. A2 не поддерживает большое разнообразие различного железа, так как маленькой группой разработчиков во время создания A2 невозможно написать модули для большинства видеоустройств .
В A2 сохранилась возможность работы с графическими интерактивными объектами — Гаджетами (верхняя-средняя часть диаграммы). Возможности, близкие к Windows 3.x , так как обе OS имели один и тот же прототип из исследовательского центра Xerox PARC , где два раза по одному году (1976–1977 и 1984–1985) работал Вирт .
Концепция A2 связана с интерактивными и независимыми графическими окнами и элементами внутри окон, каждый из которых запускался в отдельной нити с собственным конечным автоматом или потоком активности (правая часть диаграммы). Все названия модулей этой части системы начинаются с «WM», что является сокращением от «Менеджер окон». Этот интерфейс функционально соответствует графическим менеджерам окон системы Unix/Linux [ источник не указан 3010 дней ] .
Дальнейшее развитие системы происходило в улучшении приложений для аудио- и видеомультимедиа-взаимодействии приложений через сетевое соединение с помощью механизмов A2. Так же были написаны модули для различных видео- и аудиокодеков и кодирования передаваемой информации.
В качестве средства для удалённого взаимодействия с A2 предлагается сервер удалённого доступа VNC (левая часть диаграммы).
В A2 есть возможность обмена сообщениями и настройками элементов между приложениями по сети посредством Properties. Properties — это набор методов и описания объектов в формате XML для сохранения конфигурации объектов. Properties можно использовать для создания экземпляров объектов в A2. Такие возможности можно сравнить с линкованием интерфейсов типа DCOM / SOAP в системах Windows NT , Windows NT 4.0 и Java -фреймворке [ источник не указан 3010 дней ] .
Формальная верификация на основе модели
- Модель модуля — это, по сути, формальное описание в виде конечного автомата его активности .
- Юнит-тестирование (Модульное тестирование является встроенной возможностью в Aктив Оберон) .
- Возможность построения общей схемы сложного проекта .
Детали конфигурации и реализации
Эта система обладает множеством параметров (вплоть до ассемблерного кода) в файле конфигурации, который, по сути, являлся загрузчиком .
Самыми популярными дополнительными опциями конфигурации были TraceModules=1, ATADetect=legacy.
История
Проект Oberon был запущен Никлаусом Виртом в 1985 году. Операционные системы на базе языка Oberon были разработаны молодыми учёными из Федерального института технологии в Швейцарии. Проект A2 условно можно разделить на 3 этапа (AOS (2003), Bluebottle (2005), A2 (2008)) . Каждый этап связан со сменой основных мейнтейнеров и разработчиков системы.
AOS
Исторически первой ОС этого семейства была BlueBottle (Синяя бутылка). Название AOS поначалу употребляли в контексте файловой системы .
- В 2002 году группа будущей AOS начала работу по созданию Active Oberon для .NET ("Lightnight Oberon" — "Сумрачный Оберон") .
- В 2002 году она запускалась в среде DOS .
- В конце июля 2002 года был сделан загрузочный CD с поддержкой VESA BIOS Extensions
- В конце августа 2002 года студентам Andre, Patrik, Pieter, Folks было указано на недостаток документации (возможно, это был важный момент для будущего этой OS) . Тогда же прозвенел второй звоночек, когда преподаватели перестали выделять ресурсы веб-сервера под Native Oberon в пользу Bluebottle (сейчас то же самое происходит с A2 — это типичная история для образовательных проектов) .
- В 2003 году вышел релиз Win AOS — операционной системы, запущенной поверх Windows.
- В июне 2003 года были предложены специальные клавиши для масштабирования пространства Рабочего стола (до этого работало только колесо мышки) .
- Ноябрь 2004 года была добавлена возможность работать с USB-флешки .
Bluebottle
Из-за претензии торговых марок следующую версию ОС официально назвали Bluebottle в 2005 году . Эта система с нитями и активностями запускалась непосредственно на железе Intel-совместимые однопроцессорные системы и процессор StrongARM / XScale , а также на виртуальных системах QEMU , VMware и Virtual PC 4.0 (только для Macintosh ) Macintosh.
- В 2006 в Bluebottle добавлены несколько драйверов для различного железа и исправлены некоторые ошибки в сетевых приложениях .
- 15 ноября 2006 года был выпущен релиз WinAos под Windows 3.0 .
- В феврале 2010 года появилась подсветка синтаксиса .
A2
- 16 декабря 2008 года в рассылке появилось первое упоминание системы A2 . Идея новой системы состояла в упорядочивании файлов системы Bluebottle c целью уменьшения размера дистрибутива. Минимальная версия включала следующие модули: Trace, Machine, Heaps, Modules, Objects, Kernel, KernelLog, Streams, Reflection, Traps, Commands, Files, Loader and BootConsole. A2 в этой конфигурации занимала 299 008 байт (статически слинкованного загрузочного образа диска ) .
- 11 декабря 2009 года добавилась поддержка Intel SMP -совместимости с мультипроцессорными системами ( гиперпоточность ) а также возможностью запуска поверх операционных систем Windows , Linux , OS X , сборщик мусора получил механизм прерываний .
- 14 апреля 2013 года пользователи заинтересовались примером работы с видеодрайвером (V4L2 и FFTW) в Linux из A2 .
- 19 сентября 2013 года информация об области видимости имён для модулей попала из FAQ в документацию .
- 1 февраля 2015 года программисты из бывшего СССР помогают находить ошибки в A2, создавая Юнит-тесты для конкретных функций .
- 5 октября 2015 года русские программисты учат ребят из Швейцарии строить диаграмму взаимодействия модулей в A2 .
Приложения
- Media Player (AVI, DivX, MPEG, MP3, OGG/Vorbis, WAV)
- Просмотр картинок (BMP, GIF, JPEG, PNG, SVG)
- TV-приёмник
- Programming Editor (Редактор исходного текста программ)
- Web-сервер
- FTP -сервер
- Архиваторы (ZIP, TAR)
- CAPO — Computational Analysis Platform for Oberon
- OCTK — Oberon Computational Toolkit
- ETH Oberon для A2
- VNC — сервер
- FDD — графический визуализатор пространства-времени
- UDPChat — UDP чат-мессенджер
- Raycaster — игра
- WMColorLines — игра
и множество других приложений
Совместимость
A2 в настоящий момент реализована для:
A2 также может выполняться на отдельных виртуальных машинах , как, например:
- QEMU
- VMWare
- VMWare Player
- Virtual PC 4.0 (только в версии для Macintosh ).
и поверх хостовых ОС Windows, Unix, Linux, Darwin
См. также
Примечания
- Thomas Martin Frey. Bluebottle : A Thread-safe Multimedia and GUI Framework for Active Oberon. — Швейцария, 2005. — С. 57-58 .
- @Kemet. . Хабрахабр . Хабрахабр (27 мая 2015). Дата обращения: 6 января 2017. 7 января 2017 года.
- . Дата обращения: 6 января 2017. 7 января 2017 года.
- Yaroslav Romanchenko. (англ.) . Дата обращения: 6 января 2017. 4 марта 2016 года.
- Alexander Ilin. (англ.) . Дата обращения: 6 января 2017. 4 марта 2016 года.
- . Дата обращения: 24 июля 2013. Архивировано из 19 апреля 2012 года.
Ссылки
- (англ.) , ETH Zürich
- (англ.)
- (англ.)
- (англ.)
- Архив (англ.)
- Архив (англ.)
- Архив
- Архив
- 2020-04-18
- 1