E1Distributed operating system project
ГлавнаяАрхитектура Е1ДокументыКоманда
Rus
Eng
Архитек...Обзор архитектуры
Архитектура E1
Концепциии E1
Распределенный объект
Обзор архитектуры
Домены защиты
Междоменные вызовы
Потоки
Компонентные сервисы
Репликация
Разработка ПО
Обзор архитектуры Е1

На рисунке показана обобщенная архитектура Е1. ОС E1 состоит из микроядра и множества распределенных объектов, функционирующих на прикладном уровне. Микроядро поддерживает минимальный набор примитивов, необходимых для построения операционной системы: адресные пространства, потоки выполнения, средства межпроцессного взаимодействия, диспетчеризация прерываний. Функции ОС и прикладное программное обеспечение реализуются объектами.

Обобщенная архитектура Е1

Обобщенная архитектура Е1

Архитектура на основе микроядра обладает рядом преимуществ. Во-первых, она потенциально более надежна, чем традиционная монолитная архитектура, поскольку позволяет перенести большую часть кода ОС из привилегированного ядра на прикладной уровень. При этом, система становится более простой, более модульной и, как следствие, уменьшается количество ошибок и повышается устойчивость системы к ошибкам в отдельных подсистемах. Во-вторых, разработка ОС на основе готового микроядра значительно проще, чем разработка “с нуля”, поскольку микроядро предоставляет удобный набор примитивов, которые обеспечивают высокий уровень аппаратной абстракции, не накладывая при этом значительных ограничений на архитектуру ОС. Кроме того, поскольку сервисы ОС выполняются на прикладном уровне, а не в привилегированном ядре, существует возможность заменять, модифицировать, отлаживать отдельные сервисы непосредственно во время работы системы или даже запускать одновременно несколько версий некоторых сервисов. Наконец, в-третьих, как показывают исследования в данной области [30], архитектура на основе микроядра может быть более эффективной, чем монолитная архитектура. На сегодняшний день существуют микроядра, характеризующиеся очень низкими задержками при передаче управления между адресными пространствами [32]. Этот показатель является ключевым для систем, ориентированных на интенсивное взаимодействие компонентов, каковой является Е1. К таким микроядрам относятся микроядра семейства L4 [31, 14, 39, 25]. Поэтому L4 было выбрано в качестве микроядра ОС Е1

Собственно компоненты Е1 можно условно разбить на три группы (выделенные на рисунке светло-серым фоном):

  • Примитивы выполнения, защиты и управления памятью.
  • Сервисы, реализующие поддержку компонентной модели.
  • Средства поддержки репликации (Group RPC на рисунке).

Перечислим основные элементы архитектуры Е1.

Примитивы выполнения, защиты и управления памятью.

Домен защиты - часть виртуального адресного пространства, изолирующая набор расположенных в ней распределенных объектов от остальных объектов системы. Объекты, находящиеся в различных доменах, могут взаимодействовать только при помощи междоменных вызовов.

Поток - единица выполнения Е1. Е1 использует модель мигрирующих потоков, в которой поток не связан жестко с некоторым объектом или доменом, а перемещается между объектами посредством вызова методов интерфейсов, пересекая границы доменов при междоменных вызовах.

Объект памяти - основная единица управления памятью внутри домена. Все данные и код находятся внутри объектов памяти. Объект памяти может отображаться в несколько доменов, что позволяет реализовать разделяемую память.

Поддержка компонентной модели

Реестр объектов содержит информацию о репликах распределенных объектов в локальном узле. Данный сервис управляет созданием и удалением объектов, выполнением междоменных вызовов, а также ведет подсчет локальных и распределенных ссылок между репликами объектов.

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

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

Сервер прав доступа поддерживает модель ограничения доступа, проверяет правомерность каждого производимого в системе междоменного вызова.

Репозиторий классов хранит имплементации всех зарегистрированных в системе классов объектов, что необходимо для механизма динамической загрузки классов Е1.

Средства поддержки репликации включают инструменты, составляющие основу для создания и использования разнообразных стратегий репликации. Любая стратегия репликации опирается на механизм Группового Удаленного Вызова Процедур (Group RPC), который обеспечивает 1) динамическое формирование группы реплик, входящих в состав распределенного объекта 2) удаленное взаимодействие между репликами объекта в различных узлах, 3) управление восстановлением распределенного объекта в случае сбоев или фрагментации сети.

Copyright E1 Team 2003
mail:team@E1OS.org