Interested Article - A2 (операционная система)

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

Активный объект в A2 представляется как совокупность традиционного для современных языков ООП понятия «объект» и выполняющейся в контексте данного объекта «активности» (нити). В данной реализации Активного Оберона у активного объекта могут быть, кроме его активности, ещё и активности объектов-предков.

Другими отличиями A2 от более распространенных операционных систем является аскетичный дизайн, пользовательский интерфейс, поддерживающий метафору "наведи и щелкни" для выполнения команд непосредственно из текста в любом окне подобно гиперссылкам в веб-браузере. Безопасный для типов язык программирования, автоматическое управление памятью, сборка мусора, набор примитивов синхронизации доступа к внутренним элементам объектов из множества конкурирующих потоков (активностей).

Над слоем ядра гибкая коллекция модулей обеспечивает общие абстракции для устройств и сервисов, например, файловые системы , интерфейсы пользователя , сетевые подключения, кодеки и так далее.

Архитектура

Иерархия модулей A2 и Active Oberon

A2 ActiveOberon Hierarchy

Основная часть исходного кода оригинального 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 дней ] .

Формальная верификация на основе модели

  1. Модель модуля — это, по сути, формальное описание в виде конечного автомата его активности .
  2. Юнит-тестирование (Модульное тестирование является встроенной возможностью в Aктив Оберон) .
  3. Возможность построения общей схемы сложного проекта .

Детали конфигурации и реализации

Эта система обладает множеством параметров (вплоть до ассемблерного кода) в файле конфигурации, который, по сути, являлся загрузчиком .

Самыми популярными дополнительными опциями конфигурации были 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 также может выполняться на отдельных виртуальных машинах , как, например:

и поверх хостовых ОС Windows, Unix, Linux, Darwin

См. также

Примечания

  1. Thomas Martin Frey. Bluebottle : A Thread-safe Multimedia and GUI Framework for Active Oberon. — Швейцария, 2005. — С. 57-58 .
  2. @Kemet. . Хабрахабр . Хабрахабр (27 мая 2015). Дата обращения: 6 января 2017. 7 января 2017 года.
  3. . Дата обращения: 6 января 2017. 7 января 2017 года.
  4. Yaroslav Romanchenko. (англ.) . Дата обращения: 6 января 2017. 4 марта 2016 года.
  5. Alexander Ilin. (англ.) . Дата обращения: 6 января 2017. 4 марта 2016 года.
  6. . Дата обращения: 24 июля 2013. Архивировано из 19 апреля 2012 года.

Ссылки

  • (англ.) , ETH Zürich
  • (англ.)
  • (англ.)
  • (англ.)
  • Архив (англ.)
  • Архив (англ.)
  • Архив
  • Архив
Источник —

Same as A2 (операционная система)