Операционная система A2 разрабатывалась в несколько этапов. Исходный код из предыдущих проектов с минимальными изменениями попадал в новые проекты (Если судить только по названиям модулей (префиксы платформ "Oberon.", "WM", "AMD64.", "I386.", "Win32.", "Unix.", "ARM." "RPI", etc) и двух областей видимости для модулей "A2" и "Oberon"). Это наложило отпечаток на архитектуру OS.
A2 (ранее Bluebottle) — модульная, объектно-ориентированная операционная система, с автоматическим управлением памятью и подсистемой мягкого реального времени, разрабатываемая в ETH Zurich, основанная на ядре Active Object System — дальнейшего развития системы Native Oberon). Она обеспечивает компактное окружение времени выполнения для языка Активный Оберон, который поддерживает активные объекты непосредственно, и позволяет разрабатывать эффективные системы, основанные на активных объектах, функционирующие непосредственно на железе.
Активный объект в A2 представляется как совокупность традиционного, для современных языков ООП, понятия «объект» и выполняющейся в контексте данного объекта «активности» (нити). В данной реализации Активного Оберона у активного объекта могут быть, кроме его активности, ещё и активности объектов-предков. Другими важными особенностями и отличиями A2 является чрезвычайно минималистичный, мощный и гибкий (на уровне языка программирования и исполняющей системы) набор примитивов синхронизации доступа к внутренним элементам объектов из множества конкурирующих потоков (активностей).
Над слоем ядра, гибкая коллекция модулей обеспечивает общие абстракции для устройств и сервисов, например, файловые системы, интерфейсы пользователя, сетевые подключения, кодеки и т. д.
Активный объект в A2 представляется как совокупность традиционного, для современных языков ООП, понятия «объект» и выполняющейся в контексте данного объекта «активности» (нити). В данной реализации Активного Оберона у активного объекта могут быть, кроме его активности, ещё и активности объектов-предков. Другими важными особенностями и отличиями A2 является чрезвычайно минималистичный, мощный и гибкий (на уровне языка программирования и исполняющей системы) набор примитивов синхронизации доступа к внутренним элементам объектов из множества конкурирующих потоков (активностей).
Над слоем ядра, гибкая коллекция модулей обеспечивает общие абстракции для устройств и сервисов, например, файловые системы, интерфейсы пользователя, сетевые подключения, кодеки и т. д.