Введение

A2 (ранее известная как Active Object System (AOS), а затем Bluebottle) — это модульная, объектно-ориентированная операционная система с нестандартными функциями, включая автоматическое управление памятью со сборкой мусора и масштабируемый пользовательский интерфейс. Она была разработана в 2002 году в ETH Zurich. A2 компактна, быстра, поддерживает многопроцессорные компьютеры и обеспечивает вычисления в условиях мягкого реального времени. Она полностью написана на диалекте языка программирования Oberon, обеспечивающем обратную совместимость, под названием Active Oberon. Оба языка относятся к семейству Pascal, наряду с Modula 2. Архитектура A2 позволяет разрабатывать эффективные системы на основе активных объектов, которые выполняются непосредственно на аппаратном обеспечении, без использования промежуточного интерпретатора или виртуальной машины. Активные объекты представляют собой сочетание традиционной объектно-ориентированной (ООП) модели объекта и потока, выполняющегося в контексте этого объекта. В реализации Active Oberon активный объект может включать в себя активность как собственную, так и активность своих предков. Другим отличием A2 от более распространенных операционных систем является крайне минималистичный дизайн, полностью реализованный на языке с типобезопасностью и автоматическим управлением памятью, в сочетании с мощным и гибким набором примитивов (на уровне языка программирования и среды выполнения) для синхронизации доступа к внутренним свойствам объектов в конкурирующих контекстах выполнения. Над уровнем ядра A2 предоставляет гибкий набор модулей, обеспечивающих унифицированные абстракции для устройств и служб, таких как файловые системы, пользовательские интерфейсы, компьютерные сетевые соединения, медиакодеки и т.д.

Пользовательский интерфейс

Bluebottle заменил уникальный текстовый пользовательский интерфейс (TUI) более старой ОС Oberon на масштабируемый пользовательский интерфейс (ZUI), который значительно больше похож на привычный графический пользовательский интерфейс (GUI). Однако, как и в Oberon, его пользовательский интерфейс поддерживает метафору "укажи и щелкни" для выполнения команд непосредственно из текста, аналогично переходу по гиперссылкам в веб-браузере.