Эльбрус

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 19:05, 15 июня 2019.
ОС Эльбрус (OSL)
MCST logo.png
Разработчик МЦСТ
Написана на C
Состояние разработки Актуальное
Cистема управления пакетами Apt, dpkg, aptitude
Ядро (тип) Linux
Лицензия Проприетарная
Официальный веб-сайт mcst.ru

ОС Эльбрус (OSL) – операционная система реального времени, разработанная в АО "МЦСТ" для процессоров архитектуры "Эльбрус" на основе ядра Linux. Оригинальная архитектура вычислительных комплексов «Эльбрус» потребовала разработки особых механизмов управления процессами, виртуальной памятью, прерываниями, сигналами, синхронизацией, поддержки тегированными вычислениями. С целью оптимизации в составе ОС была создана собственная оптимизированная библиотека управления потоками вычислений и синхронизацией elpthread. При работе в реальном времени можно устанавливать различные режимы обработки внешних прерываний, планирования вычислений, обменов с дисковыми накопителями и многие другие.[Источник 1]

Основная информация

ОC «Эльбрус» создана с использованием как общедоступных решений с открытым кодом, так и разработок МЦСТ. Кроме того, ОС содержит компилятор lcc, совместимый с gcc. Как и другие распространённые ОС, «Эльбрус» может обеспечивать многозадачный и многопользовательский режим работы. Основой библиотекой ОС является GNU C Library (Glibc)– библиотека, которая предоставляет основные функции языка C. Для поддержки программ, работающих в защищённом режиме, предоставлена компактная библиотека libmcst, обеспечивающая функции работы с памятью и поддержку ввода-вывода на уровне базовой библиотеки libc.

В ОС «Эльбрус» входит уже откомпилированное ядро Linux. При необходимости внесения изменения в исходный код ОС и введения в неё дополнительных функций, ядро ОС можно скомпилировать с добавлением нужных функций.

В составе ОПО «Эльбрус» содержатся также основные модули поддержки пользовательского интерфейса:

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

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

Применение

ОС «Эльбрус» применяется на всех вычислительных комплексах, разработанных в АО «МЦСТ» и имеющих архитектуру SPARC и «Эльбрус».

Программное обеспечение ОС Эльбрус

Основные средства базового набора программ и утилит:

  • Пакетные менеджеры (Apt, dpkg, aptitude) — реализуют функции установки, обновления и удаления программных пакетов.
  • Базовые библиотеки и утилиты для работы с файловыми объектами, текстовыми файлами и системной информацией (Coreutils: cp, chgr, chown, mkdir, touch, cat, login, uname, who) — выполняют копирование файлов и каталогов, изменение прав доступа, создание и удаление файловых объектов, просмотр текстовых файлов в командном окне, вывод информации о системе, вывод списка всех вошедших пользователей в систему.
  • Интерпретаторы командной строки (bash, dash) — командный процессор, работающий в интерактивном режиме командной строки или из файла.
  • Обработка регулярных выражений (sed, mawk, grep) — реализуют поиск и преобразование регулярной информации в текстовых файлах.
  • Текстовые редакторы (vim, nano) — редактируют тексты в командном окне.
  • Архиваторы (tar, gzip, cpio) — обеспечивают представления архивов в один файл и сжатие информации.
  • Сетевое управление(iproute, iputils-ping, iptables, ifupdown, hostname) — выполняют управление работой сети, сетевых экранов и маршрутизаторов.
  • Управление инициализацией ЭВМ (Initscripts) — задают определенные действия при инициализации системы.

Базовые средства разработки СПО:

  • Оптимизирующий компилятор с языков С/С++ — преобразует исходные тексты программных модулей в исполняемые коды для архитектур Эльбрус и Sparc;
  • Обращения к системным вызовам (Библиотека Glibc) — обеспечивает для прикладных программ возможность обращения к системным вызовам ядра ОС и реализует функции выделения памяти.
  • Утилиты работы с бинарными кодами (Binutils) — обеспечивают возможность профилирования работы программ, удаления символов для сокращения размера исполняемого кода, возможность линковки модулей для объединения в один код.
  • Символьный отладчик (GDB) — Предоставляет возможность пошаговой отладки пользовательских приложений с привязкой к исходным текстам.
  • Трассировщик событий LTT — Предоставляет возможность задания трассируемых событий в процессе исполнения и возможность последующего анализа с использованием графического представления событий.

Основные программы для работы в режиме сервера:

  • Обработка гипертекстовых запросов (Apache, Nginx) — обеспечивает прием запросов на получение ресурсов в локальной сети и/или в сети интернет, обозначенных символьными интернет адресами.
  • Компьютерная распределённая система для получения информации о доменах (DNS, Bind9) — получает сетевой адрес по имени ЭВМ в сети.
  • Сервер сетевой файловой системы (NFS) — определяет протокол доступа к файловым системам, распределенным в сети.
  • Служба удаленного доступа(ssh) — устанавливает вход на ЭВМ в сети.
  • Файловый сервер(ftp) — считывает файлы через сеть.
  • Сервер синхронизации времени(ntp) — обеспечивает синхронизацию времени разных сетевых машин.
  • Сетевая информационная служба(nis) — выполняет работу с учетными записями пользователей.
  • Служба каталогов(ldap) — протокол доступа к каталогам с возможностью аутентификации.
  • Сервер отправки почты(Sendmail, Exim, Exim4) — отправляет электронные сообщения.
  • Служба управления сетевыми сервисами(Xinetd) — реализует контроль сетевого доступа и управление службами по расписанию.
  • Сервер приема почты(Ipopd) — принимает электронные сообщения.
  • Система управления базами данных (Postgresql, Mysql,Sqlite) — обеспечивает работу с базами данных с использованием структурированного языка запросов SQL.
  • Интерпретатор скриптового языка для отображения webстраниц(PHP5) — язык программирования для разработки веб-приложений.
  • Репозиторий для хранения данных при совместной разработке программных проектов (GIT, SVN, CvS) — управляет программными проектами при коллективном проектировании.
  • Сервер мониторинга состояния машин в сети(Nagios) — устанавливает наблюдение и контроль состояния вычислительных узлов и служб.
  • Сервер резервного копирования(Amanda) — выполняет резервное копирование и восстановление файловых систем.
  • Сервер удаленного рабочего стола(Xvncserver) — реализует управление удаленным доступом к рабочему столу.

Набор программ маршрутизаторов и сетевых экранов:

  • Поддержка работы сетевых экранов (Iptables, Netfilter) — совершает фильтрование сетевых пакетов для организации сетевых экранов.
  • Виртуальная частная сеть(OpenVPN) — предоставляет защищенный удаленный вход через интернет.
  • Инструменты отслеживания и блокирования сетевых атак(Snort, ntop) — обнаруживает атаки и наблюдает за сетевой активностью.
  • Туннельный протокол типа точка-точка(PPTP) — позволяет компьютеру устанавливать защищённое соединение с сервером.
  • Двухточечный сетевой протокол(PPP) — устанавливает прямую связь между двумя узлами сети.
  • Реализация протокола PPP поверх Ethernet(PPPoE) — устанавливает соединение точка-точка для транспортировки IP-пакетов с возможностями PPP.
  • Набор протоколов динамической маршрутизации IP(Quagga) — реализует динамическую маршрутизацию.
  • простой протокол сетевого управления (SNMP) — выполняет контроль подключенных к сети устройств. [Источник 2]

Система тестирования ОС Эльбрус

Система действует на всех вычислительных комплексах и модулях, работающих под управлением ОС «Эльбрус», и моделирующих их инструментальных комплексах. Основной состав тестов выполняет:

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

При этом используются средства тестирования:

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

Особенности

Основным преимуществом ОС «Эльбрус» является встроенная в ядро операционной системы комплексная система защиты информации (КСЗИ) от несанкционированного доступа (НСД). Полное функционирование КСЗИ ОС должно обеспечивать требуемый уровень защиты информации от НСД при работе вычислительного комплекса в составе специализированных автоматизированных систем. Комплексная система защиты информации в ОС «Эльбрус» реализуется использованием системных вызовов, библиотек подпрограмм, конфигурированием системы. КСЗИ от НСД ОС «Эльбрус» предоставляет возможность применять средства вычислительной техники серии «Эльбрус» в составе автоматизированных систем. В этом случае средства вычислительной техники:

  1. отвечают требованиям 2-го класса защищённости от НСД РД Гостехкомиссии при президенте РФ;
  2. позволяют проводить сертификацию ОПО СВТ по 2-му уровню контроля недекларированных возможностей, в соответствии с РД Гостехкомиссии при президенте РФ. [Источник 3]

Выводы

Следует отметить, что функционал данной ОС рассчитан, скорее, на её использование военными структурами, и в общем доступе можно найти лишь её открытые версии.

Источники

  1. Операционная система Эльбрус // МЦСТ. URL:https://web.archive.org/web/20140625090201/http:/mcst.ru/programmnoe-obespechenie-elbrus (дата обращения: 05.04.2018)
  2. Технология создания и основные особенности ОС Эльбрус. Дата обновления: 09.05.2015. URL:http://files.runet-id.com/2015/rifinnopolis/presentations/9jun.rifinnopolis15-os3--semenihin.pdf (дата обращения: 15.05.2018)
  3. Операционная система Эльбрус // Positron. URL:http://positron.ru/projects/?ELEMENT_ID=1275 (дата обращения: 05.05.2018)