Мцст: эльбрусоперационная система реального времениосрв эльбрус. Операционная система "Эльбрус" и отечественный процессор. Моноблок "КМ4-Эльбрус"

BOOT started. BOOT E2S VERSION: release-2.13.3.0-E2S::::::: (/tags/release-2.13.3.0-E2S at revision 3816) BUILT BY neo TARGET: mono ON Nov 2 2015 AT 18:05:37 COMPILER: lcc:1.17.12:Nov-27-2012:e2k-linux.cross:i386-linux Thread model: posix gcc version 3.4.6 compatible. FLAGS: -DDEBUG_TEST_BOOTBLOCK ........ -DRELEASE ........
Нажав клавишу «Пробел» при появлении соответствующего приглашения (спустя 45 секунд после подачи питания), можно прервать автоматическую загрузку ядра системы и попасть в меню основных команд, где показываются или меняются базовые параметры загрузчика. Нажав клавишу «Тильда», можно перейти из этого меню в интерфейс командной строки, где доступна тонкая настройка аппаратуры - от установки даты и времени суток до задания режимов работы периферийных контроллеров и системной шины. Хотя в меню есть пункт принудительного сохранения параметров, изменения из командной строки сохраняются автоматически; в крайнем случае, настройки можно сбросить с помощью джампера на материнской плате.

Журнал работы в системном меню (полностью на Pastebin)

BOOT SETUP Press command letter, or press "h" to get help:h HELP "p" or "s" - load and Start file "c" - Change boot parameters "u" - show cUrrent parameters "d" - show Disks and partitions "m" - save params to NVRAM "b" - start Boot.conf menu "`", "~" - enter enhanced cmd mode:` ENHANCED CMD MODE Enter command, "help" to get help, or Esc to exit # set vga primary 1 core: 0x0, link: 0x0, bus: 0x3, slot: 0x0, func: 0x0, ven: 0x1002, dev: 0x6779, rev: 0x0, classcode: 0x30000 is selected! # boot boot# auto CPU#00: Label "auto" found, loading parameters Trying to load and start image with following parameters: drive_number: "4" partition_number: "0" command_string: "console=tty0 root=/dev/sda3 ........" filename: "/boot/image-033.6.57" initrdfilename: "" CPU#00: Reading: File - "/boot/image-033.6.57", Drive - 4, Partition - 0 ........
Среди прочего, обращает на себя внимание возможность активации и деактивации аппаратно-программного модуля доверенной загрузки «Эшелон‑Э», хотя никакой платы, напоминающей традиционные АПМДЗ, в компьютере не установлено. Внятной информации о таком устройстве найти не удалось, за исключением одной заметки, где утверждалось, что это специализированная версия продукта «МДЗ-Эшелон», который является полностью программной разработкой и использует штатные аппаратные средства компьютера.

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

По той же причине, - из‑за отсутствия надлежащей документации, - не удалось вникнуть в тонкости управления загрузчиком операционной системы, точнее, как загрузить что-нибудь помимо штатной системы. Ведь здесь используется тот же загрузчик (SILO), что и на компьютерах архитектуры SPARC, - а там не предполагается работа с чужеродным набором инструкций. Сами‑то параметры загрузки интуитивно понятны: надо указать номер раздела и имя файла с ядром системы, а также аргументы запуска ядра, имя файла с архивом вспомогательных программ (initrd , если нужен), тайм-аут ожидания отмены пользователем. Эти параметры считываются из файла /boot/boot.conf в первом разделе диска, заданного из командной строки; в файле может быть определено несколько наборов параметров, - по умолчанию используется тот, что указан в директиве default , либо которому присвоено название «auto ». Но что нужно делать, чтобы запускать операционные системы для архитектуры x86 или x86‑64, прозрачная поддержка которых заявлена как одна из ключевых особенностей «Эльбруса»? Отсутствие файла boot.conf на установочном диске Windows или популярного дистрибутива Linux можно компенсировать ручным вводом через меню. А как передать управление новому загрузчику, не являющемуся ядром Linux? Как запустить хотя бы ядро Linux, если оно для x86? Разобраться в этом без документации не получилось: дело неизменно заканчивалось зависанием в момент перехода управления от загрузчика к ядру.

Штатная конфигурация загрузчика (boot.conf)

Default=auto timeout=3 label=auto partition=0 image=/boot/image-033.6.57 cmdline=console=tty0 console=ttyS0,115200 consoleblank=0 hardreset REBOOT root=/dev/sda3 video=DVI-D-1:1024x768-24@60 video=VGA-1:1024x768-24@60 fbcon=map:10
Что касается штатных ядер операционной системы «Эльбрус», то файл конфигурации загрузчика содержит только один набор параметров, и указывают они на ядро по умолчанию. Помимо него, имеются два ядра - с суффиксами «nn » и «rt »: судя по конфигурации сборки этих ядер, первое означает «no NUMA» (упрощённая версия для однопроцессорных систем; почему бы на персональном компьютере не использовать именно её?), а второе - «real time» (расширения ядра Linux для диспетчеризации задач с ограничением по времени выполнения). Не имея даже поверхностных знаний в этих областях, автор затрудняется дать какие-либо комментарии насчёт преимуществ или недостатков того или иного альтернативного ядра.

Касательно поддержки PPS и PTP

Единственный знакомый параметр конфигурации - это включение поддержки PPS API (pulse per second) в ядре «rt », которая позволяет корректировать ход системных часов компьютера согласно внешнему синхроимпульсу, например, от приёмника GPS/ГЛОНАСС или от цезиевых часов, если у вас вдруг такие случайно завалялись. Вот только непонятно, как именно настроить эту синхронизацию: в отличие от FreeBSD, например, где всё начинает работать как бы само собой после пересборки ядра с нужным параметром и перенастройки NTPd на использование системной дисциплины, в Linux обычно требуются пляски с бубном вокруг утилиты ldattach , создающей виртуальное PPS-устройство на основе порта COM или LPT, - для этого нужны соответствующие драйверы в ядре или в отдельных модулях, а их здесь не видно.

Встроенная сетевая карта тоже не проявила признаков аппаратной поддержки синхронизации времени: вывод утилиты ethtool касательно протокола PTP свидетельствовал об отсутствии подобных функций. В любом случае, - что при использовании ядра по умолчанию, что real time, единственным источником времени системы является устройство «lt » («Elbrus timer»?) с дискретностью 1 мкс. Не то чтобы это слишком грубо, но современным компьютерам вполне по силам обеспечить квантование на уровне 25–50 нс, причём независимо от текущей частоты процессора.


По умолчанию, операционная система запускается вместе с графическим окружением: 12 секунд уходит на загрузку ядра в память и ещё около 23 до появления приглашения ко входу в систему, - всего 80 секунд с момента включения. Как уже говорилось, подобрать аргументы ядра для запуска в однопользовательском режиме у нас не получилось: при указании «S » или «1 » система всё равно доходила до 5‑го уровня, а попытки понизить уровень после этого с помощью команды init приводили к краху системы.

Поскольку в компьютере имеется два видеоадаптера, виртуальные терминалы распределяются между ними по очереди: первый терминал открывается на дискретной карте, второй - на встроенном контроллере, третий - опять на дискретной, и так далее. Графический рабочий стол, находясь на седьмом терминале, таким образом попадает на дискретную видеокарту, быстродействие которой не вызывает вопросов. Очень хотелось проверить, насколько отзывчивым будет рабочий стол, если вывести его через встроенный контроллер, потому что у отечественных платформ с этим бывает туго: например, простая перерисовка экрана силами Модуля графических адаптеров (собственной разработки МЦСТ) может занимать несколько секунд, - не просто медленно, а почти как построчное появление заставки в играх для ZX Spectrum, загружаемых с магнитофонной кассеты. Увы, ни правка Xorg.conf по образу и подобию, ни подбор аргументов ядра, ни смена первичного видеоадаптера в настройках аппаратуры нужного эффекта не дали.

Любопытный нюанс

Тогда как первичный экран на дискретной видеокарте инициализируется в текстовом режиме, тот же экран на встроенном контроллере инициализируется в графическом режиме и показывает 4 эмблемы процессора (как это делают некоторые ядра Linux сразу после своего запуска), но всё равно использует только верхние 25 строк текста.


По умолчанию, ядро запускается с аргументом «hardreset », который инструктирует систему выполнить полный аппаратный сброс при перезапуске компьютера. В мире x86 к этому варианту все привыкли, но альтернативные платформы, где «холодная» инициализация после включения питания занимает несколько минут, могут предлагать быстрый перезапуск операционной системы, - и это действительно работает, в отличие от «лотереи» с kexec у Intel / AMD. Нам не удалось подобрать такой аргумент, который поддерживался бы ядром системы «Эльбрус» и при этом давал нужный результат.

Программное обеспечение

Операционная система «Эльбрус» (ОС Эль, OSL) является штатной для всех компьютеров МЦСТ, хотя на платформе SPARC также может функционировать порт системы МСВС 3.0 . Официальная система идентификации программных продуктов восходит к их децимальным номерам: например, «ОС 316‑10» расшифровывается как «операционная система ТВГИ.00316‑10 с ядром ТВГИ.00315‑03, входящая в состав общего программного обеспечения ТВГИ.00311‑05». С одной стороны, это похоже больше на буквенно-цифровые названия , чем на порядковые номера версий . С другой стороны, тот или иной программный продукт обычно тесно связан с конкретным аппаратным продуктом, и не претерпевает существенных изменений за время своей жизни. Тем не менее, в файле /etc/mcst_version можно увидеть бирку «release 2.2.1», а в псевдофайле /proc/bootdata - «release 2.13.3.0». Однако в интерфейсе пользователя не встречается ни одно из этих обозначений.

$ cat /etc/mcst_version release 2.2.1 $ cat /proc/bootdata boot_ver=" release-2.13.3.0-E2S::::::: (/tags/release-2.13.3.0-E2S at revision 3816) built on Nov 2 2015 at 18:05:58" mb_type="MONOCUB" chipset_type="IOHUB" cpu_type="E2S" cache_lines_damaged=0 $ cat /proc/version Linux version 2.6.33-elbrus.033.6.57 (gavrilova_tg@e2k13) (gcc version 4.4.0 compatible) #1 SMP Sun Oct 11 00:10:58 MSK 2015 $ uname -a Linux MONOCUB-10-XX 2.6.33-elbrus.033.6.57 #1 SMP Sun Oct 11 00:10:58 MSK 2015 e2k E2S MONOCUB GNU/Linux
Ядром системы служит Linux 2.6.33, портированное на архитектуру «Эльбрус-2000» (E2K), а в целом система базируется на дистрибутиве Debian с избирательным подходом к выбору пакетов: по большей части наблюдается соответствие выпуску 7.0 «Wheezy» или более новому, однако версии некоторых пакетов скорее ближе к 5.0 «Lenny». Если верить недавнему отчёту (PDF, 172 Кбайт), проводятся также изыскания по прямому портированию оригинального дистрибутива со всем его многообразием пакетов, однако за основу там выбран всё тот же «Дедушка Ленин». А всё потому, что необходимо обеспечивать обратную совместимость с прикладным и системным программным обеспечением, разрабатываемым под ещё более старые версии библиотек и компиляторов. Но почему бы тогда не выпустить несколько версий системы, - на более старой и на более новой пакетной базе, - чтобы потребитель мог сам выбирать? Наверное, потому что нет достаточного спроса со стороны целевой аудитории, да и проблемы сертификации наверняка играют не последнюю роль.

Единожды установленная система не подлежит регулярному обновлению из официального репозитория фирмы МЦСТ и сразу содержит в себе все имеющиеся пакеты. Вот версии некоторых наиболее значимых (за исключением средств разработки, рассматриваемых в следующей части статьи):

  • офисные инструменты: abiword 2.8.6, evince 2.32.0, geeqie 1.1, gimp 2.6.12, gnumeric 1.10.0, graphviz 2.32.0, mtpaint 3.40, xsane 0.998;
  • средства Интернета: dillo 3.0.3, firefox 3.6.28, links 2.2, linphone 3.5.2, lynx 3.81, thunderbird 3.1.20, sylpheed 2.7.0;
  • криптография: gnutls 3.1.22, openssl 0.9.8zc, openvpn 2.2.2;
  • мультимедиа: ffmpeg 1.0, mplayer 1.1.1;
  • текстовые редакторы: ed 1.7, leafpad 0.8.17, vim 7.3 + gvim 7.3;
  • файловые менеджеры: mc 4.7.0.8, thunar 1.4.0;
  • командные интерпретаторы: bash 4.2.53, pdksh 5.2.14, tcsh 6.18.01, zsh 5.0.2;
  • службы: openssh 6.1p1, httpd 2.4.3, postgresql 9.2.3 + slony1 2.2.0, zeromq 2.1.11;
  • менеджеры пакетов: apt 0.9.7.9, aptitude 0.6.8.2, dpkg 1.16.10, pkgtools 13.1.
Всего в менеджере пакетов насчитывается 679 записей , что в десятки раз меньше исходного пула Debian, однако следует учитывать, что не всё реально установленное программное обеспечение оформлено в виде пакетов: например, система в действительности располагает виртуальной машиной и набором разработчика Java, но менеджер пакетов об этом не в курсе.

Единственным окружением графического рабочего стола является Xfce 4.10. Удивительно, но в отечественной операционной системе вновь создаваемые профили пользователей по умолчанию настроены на английский язык интерфейса, а в меню программ нет ярлыков для настройки переключения раскладки клавиатуры, да и индикатора текущей раскладки тоже нигде не видно. Впрочем, опытные пользователи знают, что отечественные операционные системы на базе Linux обычно стараются копировать «лучшие» традиции Windows: работа из под root и переключение раскладки по Alt+Shift.

Рабочий стол Xfce (примерный вид)

Дополнение от 09.02.2016. В комментариях подсказывают, что функция снятия снимков экрана есть в графическом редакторе GIMP, - замечание справедливое, но для этого надо быть опытным пользователем данной программы; автор же, хоть и выполнил обработку всех иллюстраций для этой статьи именно в GIMP, к таким знатокам не относится. Что же до получения скриншотов с помощью утилит командной строки, - штатно имеющихся или собранных самостоятельно, - то такой способ не рассматривался по причине низкой дружелюбности к рядовому пользователю.

Как уже говорилось, запустить хоть какую-нибудь стороннюю операционную систему, скомпилированную для архитектуры x86 или x86‑64, мы не смогли из‑за отсутствия документации. Попытки напрямую из командной строки «Эльбрус» запустить пользовательское приложение, скомпилированное для Linux x86‑64, тоже успехом не увенчались. Слоя эмуляции WinAPI и средств запуска PE-бинарников в системе нет, а чтобы собрать WinE самостоятельно из исходных текстов, необходимо портировать архитектурно-зависимые участки кода. Эмулятора Qemu тоже нет в штатной поставке, но он более-менее успешно собирается (с параметрами ‑‑enable-tcg-interpreter ‑‑disable-werror ) и вроде даже работает в вариантах i386-softmmu , x86_64-softmmu , sparc-softmmu , sparc64-softmmu ; портирование однако требуется для «прикладных» вариантов *-linux-user . Очевидно, создатели технологии двоичной трансляции «Эльбруса» совсем не это имели в виду, когда говорили об аппаратной эмуляции x86, поэтому смысла тестировать производительность Qemu мы не видели, - и так ясно, что это было бы медленно и печально.

Возвращаясь к теме штатного программного обеспечения, рискнём высказать предположение, что типичный пользователь этой системы вряд ли будет чувствовать себя обделённым, так как ему придётся либо решать задачи в специализированных программах сторонней разработки, либо создавать несложные документы в офисных пакетах, сканировать и печатать, - а для этого мало кому нужны самые свежие версии. Единственным исключением здесь, пожалуй, является веб-браузер: простейший Dillo и текстовые Lynx / Links ни на что не претендуют, а вот Firefox 3.6 - это хоть и не 1.5 из состава МСВС 3.0, но всё равно безнадёжно стар для современных сайтов. Эту версию не поддерживают, например, карты Яндекса и Гугла (в отличие от OSM и Bing), Google Docs; вы увидите только шапку сайтов Intel, почты Mail.ru и Сбербанка. И, конечно, в отсутствие встроенной поддержки HTML Video и плагина Flash вы не сможете посмотреть видеоролики ни на одном сайте, - будь то зарубежный YouTube с отчётом о запуске Doom 3 на «Эльбрус 401‑PC» или идеологически верный Kremlin.ru с выступлениями верховного главнокомандующего. Видимо, это тоже не считается недостатком, так как типовой сценарий применения подобных компьютеров - доступ к внутренним, специально разработанным сайтам в закрытой сети предприятия или ведомства.

Попытки выхода в Интернет (слово «Namoroka» на скриншотах - это не очередной ребрендинг Firefox для Debian, а всего лишь кодовое имя версии 3.6)

Но ведь обновление программного обеспечения служит не только для расширения функциональности, а ещё и устраняет серьёзные ошибки и уязвимости, - как быть с этим? Видимо, идеологи информационной безопасности считают, что раз внешнего доступа в частную сеть нет, а внутренние пользователи, имеющие физический доступ к своим компьютерам, не станут сознательно предпринимать злонамеренных действий или подключать сомнительные носители данных по неосторожности, то беспокоиться не о чем. В крайнем случае, если какой‑то баг вас очень тревожит, и вы хотите поговорить об этом, у МЦСТ есть своя bugzilla с логином и тикетами, - в том смысле, что без выданного вам логина вы туда не попадёте, а тикеты будете видеть только свои собственные, даже если проблема уже обсуждалась тысячу раз с другими клиентами и решение было давно найдено.

Российская компьютерная индустрия способна поставлять решения, которые вполне могут быть конкурентными в отношении продукции ведущих мировых брендов. Так, в сегменте микропроцессоров - одном из самых технологичных и характеризующихся очень высоким порогом входа - отечественная компания МЦСТ готова в качестве альтернативы чипам от Intel и AMD предложить рынку процессоры российские. Компьютер «Эльбрус» в любой из модификаций, которые представлены в самом широком спектре, — пример функциональной системы на базе таких чипов. При этом рассматриваемого типа девайсы могут работать под управлением ОС «Эльбрус», которая также создана МЦСТ. Какова специфика программных и аппаратных решений, разработанных российским брендом?

История компьютеров «Эльбрус»

Прежде чем изучать специфику ОС «Эльбрус» и соответствующего типа процессоров, изучим ключевые моменты истории отечественного компьютерного бренда. Впервые ЭВМ, положившие начало технологической линейке «Эльбрус», появились в 70-х годах. Их разработкой занимался Институт точной механики и В 80-е и 90-е годы возможности вычислительных комплексов совершенствовались. С советских времен ключевой потребитель систем «Эльбрус» - ВПК. Процессоры соответствовали самым строгим критериям, что вполне объяснимо в силу оборонного их использования. Известно, например, что комплексы «Эльбрус» задействовались в структуре системы ПРО типа А-135.

В 1991 году была завершена работа над комплексом «Эльбрус-3». В связи с экономическими сложностями после «перестройки» осуществить необходимую наладку комплекса не удалось. В 1992 году разработчики компьютеров линейки «Эльбрус» создали компанию МЦСТ и стали работать над реализацией особой микропроцессорной архитектуры. Им удалось успешно решить поставленную задачу. Созданная архитектура позволила объединить в компьютерах энергоэффективность и производительность.

Совместимость с алгоритмами Intel и AMD

Также была решена задача по обеспечению совместимости процессоров «Эльбрус» с алгоритмами чипов архитектуры x86, на базе которой работают решения от Intel и AMD.

Благодаря данной возможности, современные на базе процессоров «Эльбрус» могут функционировать под разными операционными системами, включая некоторые версии ОС Windows.

Вычислительные модули

На базе чипов «Эльбрус» создано несколько вычислительных модулей. Рассмотрим их специфику. Под модулем в компании МЦСТ понимается системная плата, которая оснащена необходимыми интерфейсами. В принципе, это готовый компьютер, который только нужно подключить к источнику питания, а также оснастить требуемого типа дисковыми накопителями. Вычислительная система на кристалле «Эльбрус» выстроена в следующих модулях:

МВКУБ/С;

Модуль «Монокуб»;

Модуль МВ3S/С-К.

В модуле МВКУБ/С — два процессора «Эльбрус», в остальных установлен один чип. В системе типа МВ3S/С-К присутствует дополнительный модуль флеш-памяти, предназначенный для двоичной трансляции.

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

Вычислительные комплексы

Другая категория девайсов, созданных на базе процессоров «Эльбрус», - вычислительные комплексы. К ним относятся готовые компьютеры, которые компания МЦСТ также разработала в широком спектре. Рассмотрим основные решения, созданные российским брендом.

Ноутбук

В линейке вычислительных комплексов присутствует ноутбук, название которого звучит как «Носимый терминал НТ-Эльбрус S».

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

Десктоп

Интересная модель - «Монокуб-PC», который можно классифицировать как десктоп. В нем установлено 4 Гб ОЗУ и жесткий диск объемом в 500 Гб — вполне среднерыночные показатели. Их к тому же всегда можно увеличить. К данному вычислительному комплексу можно подключить любой монитор, поддерживающий интерфейсы VGA или DVI.

Моноблок

Моноблок "КМ4-Эльбрус" представляет собой универсальный компьютер, он в некоторой степени схож по конфигурации с известными решениями от Apple. Устройство интересно тем, что его экран — сенсорный, а также обладающий приличным разрешением — 1600 на 900 пикселей. Моноблок "КМ4-Эльбрус" также можно использовать с другим монитором.

Сервер

Комплекс «Эльбрус-3С» - это мощный сервер. Он оснащен 16 процессорами. В нем установлено 128 ГБ оперативной памяти. В данном комплексе используются диски твердотельного типа, а также контроллер сети оптического типа. Конструкция комплекса «Эльбрус-3С» - модульная. Благодаря этому его можно конфигурировать в соответствии со спецификой требований заказчика.

Процессор «Эльбрус-4С»

Предмет особой гордости российской компьютерной индустрии — новый 4-ядерный микропроцессор «Эльбрус-4С». Рассмотрим его основные особенности. Он относится к категории 64-разрядных. Каждое из его ядер работает на частоте 800 МГц и может взаимодействовать с 3 каналами ОЗУ типа DDR3-1600. Возможно объединение до 4 процессоров в систему с общим комплексом модулей памяти. Произведен процессор в соответствии с технологией 65 нм. Энергопотребление чипа — порядка 45 ватт.

Общая производительность процессора при задействовании всех ядер — порядка 50 гигафлопс при одинарной точности или же 25 гигафлопс — при двойной. Чип «Эльбрус-4С» совместим с двоичной трансляцией кодов ведущих мировых производителей процессоров — Intel и AMD. Что касается сопоставления скорости работы российского процессора и решений от Intel и AMD, то многое зависит от конкретного режима работы чипов. Безусловно, по номинальному показателю частоты процессор «Эльбрус» уступает микросхемам от ведущих мировых производителей. И потому он, как полагают эксперты, может быть не вполне оптимален для запуска популярных компьютерных игр. Но он работает по иным алгоритмам, предполагающим преимущества в его задействовании при выполнении иного типа операций.

Процессор «Эльбрус 8С»

В числе новейших решений от МЦСТ — процессор «Эльбрус 8С». Он обладает 8 ядрами. Базируется чип на технологическом процессе 28 нм — на уровне ведущих мировых разработок. Процессор обладает 4 МБ кэш-памяти второго уровня, 16 МБ — третьего. Чип совместим с модулями ОЗУ типа DDR3-1600. Производительность новейшего процессора от МЦСТ — 250 гигафлопсов. Этот показатель превосходит цифры, которые показывает чип Intel Core i7 типа 4930K. Его скорость работы - порядка 130-140 гигафлопсов. Известно, что для новейшего процессора от МЦСТ создается отдельный тип материнской платы.

На компьютерах, выпускаемых компанией МЦСТ, установлена операционная система «Эльбрус». Рассмотрим специфику российской ОС более подробно.

ОС «Эльбрус»: общие сведения

Операционная система «Эльбрус» базируется на ядре Linux в версии 2.6.33, однако есть сведения, что планируется модернизация соответствующего до версии 3.10.

Основной дистрибутив для российской ОС — Debian, зарекомендовавший себя как надежное серверное решение. Операционная система «Эльбрус» включает порядка 4 тыс. различных программных пакетов. Дистрибутив включает широкий спектр инструментов для обеспечения работы серверов, а также решения задач, актуальных для пользователя. Так, в структуре ОС «Эльбрус» присутствуют:

Графический интерфейс;

Браузер;

Программы для работы с текстами;

Мультимедийные проигрыватели;

Веб-сервер.

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

Структура «ОС Эльбрус»

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

Специально для данной ОС разработаны концепции управления программными процессами, прерываниями, синхронизацией и т. д. С целью оптимизации ядра Linux под задачи вычислительных комплексов «Эльбрус» была изменена стандартная библиотека, отвечающая за потоки вычислений — libpthread. Вместо нее разработчики ОС создали библиотеку elpthread.

В состав операционной системы «Эльбрус» входят также следующие полезные модули:

Командная строка, которая позволяет пользователю работать с вычислительным комплексом с помощью текстовых команд и взаимодействовать соответствующим способом с различными приложениями;

Инструменты для комплексной с целью повышения удобства их передачи или хранения;

Комплекс средств разработки: компиляторы, редакторы связей, отладчики, ассемблеры, редакторы, трансляторы, различные библиотеки, инструменты документирования и т. д.

В числе ключевых библиотек ОС — Glibe, которая используется также и на других ОС, созданных на базе Linux.

Таковы общие сведения об операционной системе МВК «Эльбрус». Можно отметить, что даннная ОС во многом рассчитана на пользование военными структурами, поэтому в общем доступе, подобно иным дистрибутивам Linux, ее найти трудно.

Операционная система «Эльбрус» и отечественный процессор типа 4С — в числе флагманов компании МЦСТ. Однако российский разработчик, конечно же, не ограничивается выпуском и поддержкой соответствующих решений. Рассмотрим, какие сегодня программные и аппаратные продукты выпускает бренд.

Известно, что ЗАО «МЦСТ» разрабатывает две базовые линейки микропроцессоров — с архитектурой типов VLIW и SPARC. Что касается первой архитектуры, то на ее базе выпускаются процессоры серий МЦСТ-R, а также МЦСТ-4R. Чипы «Эльбрус» относятся к тем, что базируются на архитектуре VLIW. Однако компьютеры серии «Эльбрус» могут оснащаться процессорами обоих типов.

Всего российский разработчик создал три основные ОС. Во-первых, это операционная система типа OSL_3M1, оптимизированная для комплексов «Эльбрус-3М1». Во-вторых, это OSL_90, которая создана для комплекса «Эльбрус-90 микро». В-третьих, это OS_E90, которая базируется на операционной системе Solaris в версии 2.5.1. Первые две ОС часто объединяются под единым названием — ОС «Эльбрус». Также известно, что разрабатывается специальная версия ОС под новейший процессор типа 8С, о котором мы сказали выше.

Интересен тот факт, что название процессоров, готовых решений и ОС, разрабатываемых компанией МЦСТ, практически идентично системе локализации "ЭльбРУС", популярной в 2000 годы среди пользователей компьютеров на базе ОС EPOC. Данная согласно некоторым данным, стала прототипом Symbian. Возможности системы локализации «ЭльбРУС» импонировали многим энтузиастам соответствующего типа девайсов. Однако данные, которые бы свидетельствовали о преемственности двух брендов, в распоряжение широкой общественности не поступали.

Перспективы использования ОС «Эльбрус»

Ключевой потребитель разработок МЦСТ сегодня — это, как мы отметили в начале статьи, ВПК. Поэтому программные и аппаратные решения, созданные российским брендом, вероятнее всего, в первоочередном порядке будут закупаться военными структурами. Рассматриваемые разработки компании МЦСТ способны содействовать процессу импортозамещения в ряде IT-сегментов. Это может быть актуально для систем, в которых требуется обеспечить высокий уровень безопасности.

В данном аспекте вычислительные модули, разработанные МЦСТ, имеют отличительную особенность: ключевые компоненты, которые входят в их структуру, обладают необходимой документацией, проходят при необходимости проверки в компетентных структурах. Ожидается, что компьютеры на базе чипов «Эльбрус» серий 4С и 8С будут востребованы не только в военной сфере, но также и в среде гражданских потребителей.

Операционная система (ОС) - самая важная часть программного обеспечения любого вычислительного комплекса (ВК). ОС - комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительного комплекса и прикладными программами, а с другой стороны - предназначены для управления устройствами ВК, вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений.

Компанией МЦСТ для ВК с архитектурой SPARC и «Эльбрус» создана, сопровождается и постоянно развивается операционная система ОС «Эльбрус» . Она основана на базе ядра Linux 2.6.33 . ОС «Эльбрус» обеспечивает многозадачный и многопользовательский режимы работы. Для неё разработаны особые механизмы управления процессами, виртуальной памятью, прерываниями, сигналами, синхронизацией, поддержка тегированными вычислениями.

Для использования ВК серии «Эльбрус» в ряде ответственных систем проделана фундаментальная работа по преобразованию ОС Linux в операционную систему, поддерживающую режим работы в реальном времени, для чего были реализованы актуальные оптимизации в ядре. В ходе работы в реальном времени можно устанавливать различные режимы обработки внешних прерываний, планирования вычислений, обменов с дисковыми накопителями и некоторые другие.

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

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

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

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

Основой ОС является библиотека. Glibc - (GNU C Library ) - свободно распространяемая библиотека С . Обеспечивает системные вызовы и основные функции, такие как open , malloc , printf и т.д. Библиотека C используется для всех динамически скомпонованных программ. Glibc используется в системах, на которых работает много разных ОС, и на разных архитектурах. Наиболее часто Glibc используется на x86-машинах с ОС Linux . Также официально поддерживаются архитектуры SPARC и «Эльбрус».

Библиотека glibc , поставляемая в составе ОС Эльбрус, сформирована на основе GNU glibc версии 2.7 . Она состоит из двух частей:

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

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

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

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

а) отвечают требованиям 2-го класса защищённости от НСД РД Гостехкомиссии при президенте РФ;

б) позволяют проводить сертификацию ОПО СВТ по 2-му уровню контроля недекларированных возможностей, в соответствии с РД Гостехкомиссии при президенте РФ

Для поддержки существующих пользователей продолжается сопровождение дистрибутивов ОС «Эльбрус» с ядром Linux 2.6.14 . Помимо ОС «Эльбрус», компанией МЦСТ поставляются и поддерживаются ОС МСВС с ядром Linux 2.4.25 для ВК «Эльбрус-90микро» и ОС МСВС с ядром Linux 2.6.14 для ВК «Эльбрус-3М1». В составе серии ВК «Эльбрус-90микро» поддерживается также операционная система OS_E90 на базе Solaris 2.5.1 .

Под гордым названием «Эльбрус» вышла серия суперкомпьютеров, которая была разработана советским ученым Всеволодом Сергеевичем Бурцевым (70-80-е ).

Эти компьютеры внесли ряд новшеств в теорию вычислительных машин, такие как суперскалярность (обработку более одной инструкции за один такт), реализацию защищенного программирования с аппаратными типами данных, параллельную обработку нескольких инструкций. Но главной особенностью советских суперкомпьютеров была их ориентация на языки высокого уровня. Советско-американский ученый Владимир Мстиславович Пентковский, участвовавший в разработке «Эльбрус», создал высокоуровневый язык программирования Эль-76.

Кроме усовершенствования сферы советских вычислительных машин, компьютер стал базой для создания 64-разрядных универсальных микропроцессоров «Эльбрус 4-С» и следующего поколения «Эльбрус 8-С». Они разбавили рынок американских производителей Intel, AMD и IBM. Локальная разработка и производство процессоров было обусловлено потребностью найти собственные решения для оборонной отрасли, где применение отечественных устройств более желательно.

История развития

Разработка архитектуры компьютера «Эльбрус» началась в 70-х в ИТМиВТ им. Лебедева. Перед разработчиками стояла задача создать вычислительную систему имеющую производительность 100 млн оп/с. Бурцев занимался системой управления и конструирования ЭВМ и стал главным конструктором проекта.

В 1980 г. «Эльбрус-1» с общей производительностью 15 млн оп/с успешно прошел государственные испытания. Это была первая ЭВМ в Советском Союзе, построенная на базе ТТЛ-микросхем. Особенностью машины стала масштабируемая архитектура, которая поддерживала одновременную работу до 10 процессоров. Оперативная память достигала 64 МБ (220 машинных слова). Организация передачи потоков данных между переферийными устройствами и оперативной памятью осуществлялась с помощью специальных процессоров ввода-вывода. Подобных процессоров в системе могло быть около 4-х и они обладали собственной памятью, работая параллельно с центральным процессором.

«Эльбрус-1» использовался во многих системах военного назначения - ПРО, Центре контроля космического пространства и т.д.

Следующим этапом в разработке компьютера «Эльбрус» стал перенос архитектуры первой модели на новую элементную базу. Таким образом возник «Эльбрус-2», который основывался на базе ЭЛС интегральных схем. Его производительность достигала 125 млн оп/с. Увеличился и объем оперативной памяти - до 144 МБ. Тактовая частота достигала 20 МГц.

В 1985 г. «Эльбрус-2» был запущен в серийное производство. Он применялся в областях, где требовались большие вычисления. Также компьютер активно использовали в оборонной отрасли, в Центре управления космическими полетами и в ядерных исследовательских центрах (в Арзамасе-16, в Челябинске-70). С 1991 г. компьютер работал в системе противоракетной обороны А-135 и на других военных объектах.

Вместе с суперкомпьютерами выпускалась и ЭВМ общего назначения «Эльбрус 1-КБ» (1988 г.). Эти машины пришли на замену БЭСМ-6 с которыми у них существовала полная обратная программная совместимость. Ее дополнили новым режимом работы с увеличенной разрядностью чисел и адресов.

Сравнительная характеристика БЭСМ-6 и «Эльбрус 1-КБ»

Следующим был выпущен «Эльбрус-3», в котором разработчики впервые реализовали «постсуперскалярный» подход. Этот компьютер разрабатывался с 1986 по 1994 гг. сотрудниками ИТМиВТ под руководством советского ученого Бориса Арташесовича Бабаяна.

«Эльбрус-3» не был выпущен в серийное производство, но его архитектура вошла в основу развития микропроцессоров Эльбрус 2000 и Эльбрус-3М1.

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

Эра процессоров МЦСТ

Российская компания МЦСТ была основана в 1992 г. на базе коллектива разработчиков «Эльбрус-3». Она стала правопреемником ТОО «Московский центр SPARC-технологий» (отсюда и название МЦСТ). Аббревиатура SPARC пришла от основного партнера МЦСТ американской корпорации Sun Microsystems, продвигающей вычислительные машины с архитектурой SPARC.

МЦСТ производила микропроцессоры с архитектурой SPARC (МЦСТ-R100, МЦСТ-R150, МЦСТ-R500 и МЦСТ-R500S) и на их базе создавали вычислительные системы. Но в 2007 г. вышел одноименный процессор «Эльбрус». Пиковая производительность устройства в 64-разрядном режиме достигала 2,4 GFLOPS. Рабочая тактовая частота была 300 МГц. В процессоре было 75,8 млн транзисторов. Рассеиваемая мощность 6 Вт.

На основе процессора был разработан вычислительный комплекс «Эльбрус-3М1», применявшийся для оборонной отрасли. Этот комплекс предоставлялся с защищенной операционной системой МСВС-Э (Мобильная система Вооруженных Сил), базирующейся на Linux версии 2.6.14. «Эльбрус-3М1» был обратно совместим с первым и вторым «Эльбрусами».

Вычислительный комплекс имел два варианта конструктивного исполнения - серверный, который можно было использовать как настольный и в исполнении CompactPCI (системной шины). В основе серверного варианта лежало устройство вычислителя УВ 3М1. В случае CompactPCI «Эльбрус-3М1» занимал два модуля формата «Евромеханика» 6U. Аппаратура исполнения обоих вариантов оснащалась сетевым оборудованием для сверхскоростных обменов с аналогичными вычислительными комплексами.

В 2010 г. на выставках «ChipEXPO-2010» и Softool общественности была представлена система на кристалле «Эльбрус-S». В данном процессоре увеличилось количество транзисторов - до 218 млн. Также до 500 МГц поднялась тактовая частота и выросла пиковая производительность: до 4 GFLOPS в 64-разрядном и до 8 GFLOPS в 32-разрядном режимах.

Вместе с «Эльбрус-S» был представлен контроллер периферийных интерфейсов (КПИ).

В 2011 г. МЦСТ презентовала двухъядерный процессор следующего поколения «Эльбрус-2С+». Помимо 2 основных ядер (архитектура Эльбрус), работающих на тактовой частоте 500 МГц, в модели присутствовало еще дополнительных 4 ядра встроенного цифрового сигнального процессора (архитектура Мультикор). В процессор был добавлен канал ввода/вывода, с помощью которого возможно подключить еще один КПИ. Также «Эльбрус-2С+» дополнила поддержка памяти DDR2 с эффективной частотой 800 МГц. Выросла производительность процессора - до 28 GFLOPS в 32-разрядном режиме. Количество транзисторов достигло 368 млн.

Разработчики реализовали версию компилятора языка C, чтобы воспроизводить код для ядер DSP и наладить эффективное взаимодействие основной программы на ядрах CPU и действий на DSP.

По расчетам создателей, «Эльбрус-2С+» должен был использоваться в системах цифровой интеллектуальной обработки сигнала (радары, анализаторы изображений и т.д.). Но процессоры оказались лучше адаптированными под гражданские задачи. К примеру, компанией Kraftway была запущена тестовая серия моноблочных компьютеров на базе кристаллов «Эльбрус-2С+».

Процессор «Эльбрус-4С»

В апреле 2014 г. компания представила усовершенствованные четырехъядерные процессоры «Эльбрус-4С».

Технические характеристики «Эльбрус-4С»

В первую очередь стоит обратить внимание на переход производства процессора на 65 нм технологический процесс. Также возросла и тактовая частота, пропускная способность каналов оперативной памяти. Эти и другие улучшения существенно повлияли на рост производительности новых процессоров. Каждое ядро за один такт способно исполнить до 23 операций. В операциях с плавающей запятой пиковая теоретическая производительность четырёх ядер составляет около 50 GFLOPS одинарной точности и 25 GFLOPS двойной точности. Если сравнивать с предыдущей моделью «Эльбрус-2С+», то в 64-разрядном режиме - это более чем в три раза выше. В новом процессоре более сложный кристалл, который содержит 986 млн транзисторов, имеет полезную площадь в 380 мм2.

Специалисты МЦСТ создали собственную операционную систему «Эльбрус» специально под выпущенный процессор. ОС основывается на базе ядра Linux версии 2.6.33. В ее составе насчитывается свыше 3000 программных пакетов (из дистрибутива Debian 5.0) и есть менеджер пакетов. Включен полный набор инструментов разработчика, в том числе и компиляторы оптимизации для языков программирования высокого уровня С, С++, Фортран-77 и Фортран-9.

ОС «Эльбрус» была сертифицирована по второму классу защиты от несанкционированного доступа и второму уровню контроля за недекларированными возможностями. Но компьютеры на базе процессоров «Эльбрус-4С» работают и с версиями ОС Windows.

Тандем процессора и настольного компьютера

Одним из проектов компании стала разработка первого российского настольного компьютера на базе процессора «Эльбрус-4С». Он получил название «АРМ Эльбрус-401» (где АРМ расшифровывается, как автоматизированное рабочее место). Модель разработана под офис в корпусе стандарта MiniTower. Но может применяться в разных сферах с повышенными требованиями к информационной безопасности.

У компьютера есть технологический процесс 65 нм с тактовой частотой 800 Гц, порты SATA-2 и USB 2.0, предустановленный SSD 120 ГБ с интерфейсом mSATA и поддержкой DDR3-1600 с ECC. Базовая конфигурация предлагается 24 ГБ оперативной памяти (с возможностью расширения до 96 ГБ). Среди особенностей архитектуры «АРМ Эльбрус-401» можно выделить следующие: наличие 6 параллельно работающих каналов арифметико-логических устройств; регистровый файл из 256 84-разрядных регистров; аппаратную поддержку циклов; поддержку спекулятивных вычислений и однобитовых предикатов; команду, которая может задать в одном такте до 23 операций при максимальном заполнении. Также в компьютер установлена видеокарта AMD Radeon серии 6000.

Процессор нового поколения - «Эльбрус-8С»

Разрабатывает процессор «Эльбрус-8С» компания МЦСТ при участии Институт электронных управляющих машин (ИНЭУМ) им. И.С. Брука. Архитектура, схемотехника и топология микропроцессора были созданы российскими специалистами. У процессора восемь ядер с улучшенной 64-разрядной архитектурой «Эльбрус». Тактовая частота достигает 1,3 ГГц, объем кеш-памяти второго и третьего уровня - 4 и 16 МБ. Предполагаемая производительность достигает 250 GFLOPS.

Технические характеристики «Эльбрус-8С»

У компьютера присутствует своя архитектура «Эльбрус», которая разработана в ЗАО «МЦСТ». Векторные ускорители систем команд помогают сделать шифрование и обработку сигналов более быстрым.

Взаимодействие аппаратной части с ОС происходит через собственный микрокод BIOS. Процессор совместим с дистрибутивами Linux, FreeBSD, QNX, Windows XP, но рекомендованная операционная система «Эльбрус» на базе ядра Linux 2.6.33. Применение специализированных средств разработки (оптимизирующие компиляторы с языков C и C++, Фортран, Java и т.д.) дает возможность оптимизировать код программы с учетом архитектуры «Эльбрус».

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

«Эльбрус-8С» должен работать в паре с КПИ 2 - контроллером периферийных интерфейсов российского производства.

Реального времени.

ОС «Эльбрус» создана компанией МЦСТ для компьютеров с архитектурой SPARC и «Эльбрус » на ядре Linux 2.6.33. ОС обеспечивает многозадачный и многопользовательский режимы работы. Для неё разработаны особые механизмы управления процессами, виртуальной памятью, прерываниями, сигналами, синхронизацией, поддержка тегированными вычислениями.

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

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

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

Средства поддержки графического пользовательского интерфейса содержат базовые компоненты графической системы Xorg, а также набор различных вспомогательных библиотек, в том числе GTK+ и .

Основа ОС - библиотека Glibc – (GNU C Library) – свободно распространяемая библиотека С. Обеспечивает системные вызовы и основные функции, такие как open, malloc, printf и т.д. Библиотека C используется для всех динамически скомпонованных программ. Glibc используется в системах, на которых работает много разных ОС, и на разных архитектурах. Наиболее часто Glibc используется на x86-машинах с ОС Linux . Также официально поддерживаются архитектуры SPARC и «Эльбрус».

Библиотека glibc, поставляемая в составе ОС Эльбрус, сформирована на основе GNU glibc версии 2.7. Она состоит из двух частей:

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

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