Регистрация на РИФ.Иннополис и OS DAY

Зарегистрироваться

Сергей Семенихин

Avatar1

Семенихин Сергей Владимирович. Учредитель ЗАО «МЦСТ», заместитель генерального директора по науке — направление «Операционные системы», Доктор технических наук, профессор, Лауреат Ленинской премии СССР, Заслуженный деятель науки РФ, Награжден орденом Трудового Красного знамени.
На предприятии с 1996 г.


Технология создания и основные особенности ОС Эльбрус

Операционная система Эльбрус построена на основе ОС Linux c отечественной разработкой архитектурно зависимой части ядра, компилятора, glibc, binutils и других основных компонент. ОС Эльбрус с единым интерфейсом работает на архитектурах Эльбрус, E90S (система команд Sparc V9) и х86. Дистрибутив ОС Эльбрус построен на базе ядра 3.10 и обеспечивает возможность работы в различных режимах: сервера, рабочей станции, жёсткого реального времени (РВ). Реализация возможности работы систем жесткого реального времени основана на изменениях, определенных в linux_rt_patch и mcst_rt_patch. Архитектурные особенности Эльбрус позволяют реализовать защищенный режим вычислений. Средства защиты ОС Эльбрус позволили сертифицировать ОС Эльбрус по 2-му уровню защиты от НСД (несанкционированный доступ).



Рассматриваются методы построения и основные возможности ОС Эльбрус.
Операционная система Эльбрус построена на основе ОС Linux c отечественной разработкой архитектурно зависимой части ядра, компилятора, glibc, binutils и других основных компонент. ОС Эльбрус с единым интерфейсом работает на архитектурах Эльбрус, E90S (система команд Sparc V9) и х86. Уровень предоставляемых возможностей ОС Эльбрус определяется версионностью программных пакетов. Версионность пакетов дистрибутива ОС Эльбрус определяется версионностью основных компонент: компилятор LCC, ядро ОС Linux, glibc, binutils, xorg. На сегодняшний день это уровень близкий к уровню ОС Debian-7: компилятор LCC соответствует gcc-4.4, ядро — linux kernel-3.10, glibc-2.16, binutils-2.23, xorg-7.6.

Технология формирования ОС Linux для x86 сравнительно не сложная задача. Это справедливо и в отношении ОС Эльбрус для х86. Формирование ОС Эльбрус для отечественной архитектуры это достаточно трудоемкий процесс. Для разрешения зависимостей между пакетами в период компиляции необходим или режим кросс-сборки (получение исполняемых кодов на машине отличной от целевой архитектуры), или итерационный процесс разрешения зависимостей на целевой платформе. В настоящий момент поддерживаются два дистрибутива: «ОПО Эльбрус 311–05» и «ОСРВ Эльбрус 911-01». Оба дистрибутива построены на базе одной версии ядра 3.10 и, например, с точки зрения режима реального времени имеют одинаковые возможности, но отличаются версионностью используемых пакетов: «ОПО Эльбрус 311–05» соответствует Debian-7 c адаптацией отдельных пакетов до версионности пакетов Debian-8, «ОСРВ Эльбрус» это строгий Debian-5 с ядром 3.10.

Состав ОС Эльбрус обеспечивает возможность работы в различных режимах: сервера, рабочей станции, жёсткого реального времени (РВ) — все определяется необходимой номенклатурой пакетов и режимом компиляции ядра: для РВ, или для обычной работы в режиме сервера или рабочей станции со средствами разработки и отладки Функционального программного обеспечения (ФПО).

Реализация возможности работы систем жесткого реального времени основана на изменениях, определенных в linux_rt_patch и mcst_rt_patch. Этот режим позволяет сократить время переключения на процесс обработки ФПО после приема прерываний. Основные преобразования ядра ОС для работы в реальном времени заключаются в следующем:

Введение режима работы ядра с возможным переключением на другой поток (preempt_enable); введение потоков irq_thread для обработки прерываний; замена подавляющего количества примитивов spin_lock() синхронизации на синхронизацию типа mutex_lock(); масштабирование обработки прерываний (softirq threads) не по процессорам, а по устройствам; и масса всевозможных оптимизаций. Например, введение специального режима работы с ожиданием прерывания на процессоре (cpu) позволяет строить систем жесткого реального времени со временем реакции на прерывание (время входа в процедуру ФПО после прихода прерывания) 1–3 мкс.

Средства защиты ОС Эльбрус позволяют сертифицировать ОС Эльбрус по 2-му уровню защиты от НСД (несанкционированный доступ) и создавать АСУ в защищённом исполнении класса 1Б. Основой организации защиты в соответствии с моделью Белла-ЛаПадулы является хранений меток конфиденциальности субъектов в его учетной записи, а соответствующих меток объектов в учетной записи владельца объекта (owner). Дальнейшее развитие в основном направлено на создание средств обнаружения сетевых вторжений и антивирусной защите.

Поддержка архитектурных особенностей в ядре ОС Эльбрус сосредоточена в управлении процессами, памятью, прерываниями, защищенными вычислениями. Управление процессами основано на использовании 3-х стеков: данных, процедур и стека связующей информации. Наличие стека связующей информации позволяет гарантировать невозможность проникновения вирусов за счет известного хакерского приема «подмена адреса возврата из процедуры». Архитектурные особенности управления памяти связаны с поддержкой работы таблицы страниц и спецификой отработки прерывания по отсутствию страницы, когда требуется программная эмуляция повторения операции после выделения нужной области памяти.
Аппаратные платформы функционирования ОС Эльбрус включают все виды машин с МП архитектур e2k, e90s(Sparc-v9), x86. Поддерживаемое периферийное оборудование определяется составом контроллера внешних прерываний (КПИ), и включает все известные контроллеры: Ethernet, SATA, IDE, HAD, i2c, spi, …

В настоящий момент в МЦСТ ведет следующие работы в области ОС Эльбрус: сопровождение 2-х дистрибутивов ОС Эльбрус, разработка ОС Эльбрус следующего поколения, полностью совместимого с ОС Debian-7, планируется разработка ОС для поддержки Arinc 653 на основе ОС-4000. Возможна работа по адаптации ОС для архитектур ARM, MIPS, PowerPC.

Организаторы

Генеральные информационные партнеры

Информация