Операционная система "Эльбрус" и отечественный процессор. Моноблок "КМ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 с логином и тикетами, - в том смысле, что без выданного вам логина вы туда не попадёте, а тикеты будете видеть только свои собственные, даже если проблема уже обсуждалась тысячу раз с другими клиентами и решение было давно найдено.

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

Компанией МЦСТ для ВК с архитектурой 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 .

Всем привет. Довольно давно я уже делал , и вот я решил снова вернуться к этой теме.

За прошедшие годы много чего поменялось — сборки для школ потихоньку развиваются, и там даже появляются новые версии, вышли ROSA и ASTRA (если они окажутся чем-то мне интересны, напишу обзорчик), которые живут своей жизнью на x86, и даже есть видео загрузки компьютера Эльбрус с МЦСТ-шным процессором с этой самой ОС Эльбрус .
Однако этот самый сумрачный компьютер выпускается исключительно для внутренних нужд государства, не совместим с x86/x64 архитектурой (заявленный режим эмуляции x86 есть, но особо не проверялся), документации на него тоже очень не густо, с крупными дистростроителями типа Дебиана / ред-хата / нетбзд сотрудничества особого тоже нет, в открытой продаже его тем более нет, а из-за малых объёмов партий ценник на него выходит зело негуманный.

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

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

Однако всё это относится к его родной архитектуре, видеть которую «в железе» мало кому приходилось. Тем интереснее было мне поковырять один крайне занятный установочный образ, содержащий эту самую «Эльбрус-ОС», но под x86-64. Оно вполне себе работает на виртуальной машине, и мне было крайне любопытно её посмотреть.

Итак, образ весом чуть меньше 2.5 Гб, с этой самой магической «ОС Эльбрус» внутри. На сайте разработчика я её не нашёл, возможно, это связано с её состоянием долгой бета-версии и незаконченностью. Наткнулся на неё случайно, разгребая архив старых файлов от одного знакомого инопланетянина =)

Попробуем поставить.
Сразу важная заметка — система ставится целиком и вся, занимает в распакованном виде под 8 Гб, так что сразу делаем размер диска ВМ как минимум 10 Гб.
Первый привет от инсталлятора:

Тут всё тривиально и привычно, посмотрим опции загрузки:

Тоже ничего необычного, запускается ядро и образ initrd, и после буквально пары секунд видим первое окно инсталлятора:

Сам инсталлятор в ASCII-графике, и это хорошо, дебиан и фряха пользуют тот же тип интерфейса. Кто пытался поставить Федору её родным питоновским инсталлятором на системе с малым объёмом памяти, меня поймут. Установка по сети нам не подходит, у меня нет репозитария от неё, так что ставим по умолчанию. При ошибке инсталлятор вываливается в шелл, так что читаем внимательно, что оно нам пишет. Разбиваем диск:

Интерфейс для ручной разбивки ужасен (пачка диалогов вида введите значение — далее, одна ошибка — начинай заново), так что на виртуалке самое простое — отдать системе весь диск на растерзание.
Каталог /boot должен быть обязательно вынесен отдельным разделом, а вот подкачка не обязательна.

Первый раз я выделил слишком мало места (не знал, что ОС ставися ВСЯ и сразу целиком):

И после непродолжительной распаковки:

Инсталлятор выпал:

Сообщив о недостатке свободного места. Возможно, в будущих версиях этот поправят, добавив проверку размера раздела на более раннем этапе. Впрочем, это совершенно не критично.

Я сделал новый диск на 12 Гб вместо 8 и повторив те же шаги, перешёл к настройке сети:

Как и в любом линуксе, тут сеть поднимается тоже легко и без проблем.

Это первый этап установки. После него ребутимся, извлекаем загрузочный диск, и уже загруженный с жесткого диска эльбрус-ос начнёт второй этап инсталляции софта и генерации начальных конфигов.
Несколько минут поскрипев диском, система сразу предложит залогиниться. По умолчанию никакие пользователи не создаются, парольный вход рутом по SSH разрешён. Хотя к 2017-му вроде решили, что по умолчанию в sshd_config вход рутом лучше либо выключить, либо разрешить только по ключам =) .

Что же оказалось внутри? Чтобы не плодить лишних скриншотов, я сделал доступ по ssh (авторизация на ключах поддерживается) и просто приведу некоторые выводы стандартных команд.

Elbrus ~ # uname -a
Linux Elbrus 2.6.33-elbrus.033.6.61 #1 SMP Thu Nov 19 12:07:06 MSK 2015 x86_64 Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz GenuineIntel GNU/Linux

Ядро 2.6.33 (более старые версии были на 2.6.14, а то и вообще на 2.4-й ветке), но свои задачи это ядро выполняет, а сертификация такого тяжелого софта, как ядра ОС — дело долгое и печальное.

Elbrus ~ # ls /etc | grep release
Elbrus ~ # ls /etc | grep version
mcst_version
Elbrus ~ # cat /etc/mcst_version
release 2.3-rc5

Файл os-release отсутствует.

Elbrus ~ # openssl version
LibreSSL 2.1.7
Системная криптовалка — уже LibreSSL, но старой версии (сейчас актуален 2.4.5 , но сертификация не позволяет так легко менять версии). Возможно, в новых билдах есть версии посвежее, но я этих билдов пока что не встречал.

Elbrus ~ # openssl ciphers | grep —color GOST
GOST2001-GOST89-GOST89
GOST2012256-GOST89-GOST89
Отечественная криптография на месте.

Elbrus ~ # which gpg
which: no gpg in (/opt/mcst/bin:/bin:/sbin:/usr/sbin:/usr/bin:/usr/local/bin)
А вот второй важнейший компонент отсутствует. Насколько я предполагаю, для непосредственного применения у российских военных есть свои крипто-решения, а процедура обновления самой системы не предусмотрена — установленная система переводится в «remount / ro», заливается чугунием, и используется на ядерной ракете, так что проверять подписи пакетов им ни к чему =)
А возможно, просто ОС ещё в процессе переноса/сертификации, и эту важнейшую утилиту добавят.

Elbrus ~ # df -h | grep sd
/dev/sda3 9,9G 8,2G 1,2G 88% /
/dev/sda1 1008M 61M 897M 7% /boot
/dev/sda4 12G 159M 12G 2% /export

В корне занято 8.2 Гб места. Для свежеустановленной системы это ОЧЕНЬ много, но если вспомнить, что там идёт сразу весь софт, который успели перенести к моменту релиза, цифра становится понятной.

Elbrus ~ # env | grep LC
LC_PAPER=C
LC_ADDRESS=C
LC_MONETARY=ru_RU.KOI8-R
LC_NUMERIC=ru_RU.KOI8-R
LC_TELEPHONE=C
LC_MESSAGES=ru_RU.KOI8-R
LC_IDENTIFICATION=C
LC_COLLATE=ru_RU.KOI8-R
LC_MEASUREMENT=C
LC_CTYPE=ru_RU.KOI8-R
LC_TIME=ru_RU.KOI8-R
LC_NAME=ru_RU.KOI8-R

Для русского текста предлагается использовать безбожно устаревшую однобайтную кодировку KOI-8. Это пиздец, товарищи =) Да, мы помним про старый софт, совместимость, скрипты на перле и документы из Word 3.0, но KOI-8 — это в любом случае вне добра и зла.
Хотя если прописать LANG=ru_RU.UTF8 и запустить тот же миднайт или любую команду с локализованным выводом (df -h) — всё ок, UTF-8 тут присутствует.

Логинимся, пробуем сделать startx и созерцаем twm с пачкой консолей:

Охренев от такого юзер-френдли, правим конфиг:
Elbrus /etc/X11/xinit # mcedit xinitrc

Компания ЗАО "МЦСТ" запустила в производство опытную партию универсальных микропроцессоров Эльбрус-8С . Расчётная рабочая частота чипа - 1.3 ГГц, технология производства – 28 нм, вычислительная мощность составляет 250 гигафлопс. Получение готовых образцов микросхем ожидается в октябре 2014 года.

Микропроцессор Эльбрус-8С - полностью российская разработка. Кристалл микропроцессора спроектирован по технологии 28 нм, имеет 8 процессорных ядер с улучшенной 64-разрядной архитектурой Эльбрус 3-го поколения, кэш-память 2-го уровня общим объёмом 4 мегабайта и 3-го уровня объёмом 16 мегабайт.

На базе микропроцессора Эльбрус-8С планируется организовать массовое производство серверов, рабочих станций и других средств вычислительной техники, предназначенных для применения в государственных учреждениях и бизнес-структурах, предъявляющих повышенные требования к информационной безопасности, а также для применения в области высокопроизводительных вычислений, обработки сигналов, телекоммуникации. Инженерные образцы 4-процессорного сервера на базе процессоров Эльбрус-8С с производительностью 1 терафлопс будут изготовлены в конце 2014 года.

Отечественная архитектура Эльбрус разработана в России и имеет ряд уникальных особенностей. К ним относятся:

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

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

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

Базовой операционной системой для платформы Эльбрус является ОС "Эльбрус", построенная на базе ядра Linux. Система программирования платформы поддерживает языки С, С++, Java, Фортран-77, Фортран-90.

Источник: sdelanounas.ru

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

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

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

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

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

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

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

Средства поддержки графического пользовательского интерфейса содержат базовые компоненты графической системы 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.

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

КСЗИ от НСД ОС «Эльбрус» предоставляет возможность применять средства вычислительной техники (СВТ) серии «Эльбрус» в составе ВК для построения автоматизированных систем с классами защищённости от НСД 3А, 2А, 1Б, 1А и ниже , согласно руководящим документам Гостехкомиссии при президенте РФ. В этом случае СВТ:

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

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

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

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

ОС «Эльбрус» создана компанией МЦСТ для компьютеров с архитектурой 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.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: