RTC: различия между версиями

Материал из Базы знаний сообщества разработчиков Эльбрус
Перейти к навигации Перейти к поиску
(Заготовка статьи)
 
(Добавлено описание процедуры установки)
Строка 2: Строка 2:
  
 
[[Двоичная трансляция]] проходит в режиме реального времени, «на лету», с адаптивной многопроходной оптимизацией, что в сочетании с аппаратными средствами поддержки трансляции, заложенными в архитектуру Эльбрус и обеспечивающими низкие накладные расходы, даёт высокую скорость работы гостевых приложений. При этом системные вызовы ядра Linux обрабатываются ядром хозяйской (нативной) системы, что также снижает накладные расходы по сравнению с запуском целой системы x86 Linux через транслятор уровня системы ([[Lintel]]).
 
[[Двоичная трансляция]] проходит в режиме реального времени, «на лету», с адаптивной многопроходной оптимизацией, что в сочетании с аппаратными средствами поддержки трансляции, заложенными в архитектуру Эльбрус и обеспечивающими низкие накладные расходы, даёт высокую скорость работы гостевых приложений. При этом системные вызовы ядра Linux обрабатываются ядром хозяйской (нативной) системы, что также снижает накладные расходы по сравнению с запуском целой системы x86 Linux через транслятор уровня системы ([[Lintel]]).
 +
 +
Подробнее на сайте МЦСТ: {{mcstlink|RTC}}
 +
 +
 +
== Установка ==
 +
 +
Во всех операционных системах рекомендуется использовать штатную версию пакета '''rtc'''. При отсутствии такого пакета в штатной поставе ОС, или при необходимости установить более свежую версию, ещё не доступную штатно для имеющегося дистрибутива ОС, можно воспользоваться универсальным пакетом, предоставляемым на сайте МЦСТ, однако в таком случае следует иметь в виду, что уровень совместимости и степень интеграции с конкретной ОС может быть не таким высоким, как у штатного пакета в составе ОС.
 +
 +
 +
=== Штатный пакет ===
 +
 +
В операционных системах на базе пакетного менеджера <code>apt</code> (Альт, Астра, Эльбрус, Эльбрус-Д) установка и удаление пакета производятся следующим образом:
 +
 +
<pre>
 +
apt-get install rtc
 +
apt-get remove rtc
 +
</pre>
 +
 +
В операционных системах на базе пакетного менеджера <code>dnf</code> (Ред ОС, РОСА) установка и удаление пакета производятся аналогично:
 +
 +
<pre>
 +
dnf install rtc
 +
dnf remove rtc
 +
</pre>
 +
 +
В зависимости от конкретной ОС и версии пакета RTC, имя пакета может быть другим — например, '''rtc5''', '''rtc6''' и т. д.
 +
 +
 +
=== Универсальный пакет ===
 +
 +
Пакет находится по ссылке в описании {{mcstlink|RTC}} на сайте МЦСТ — во вкладке «Поддержка»: https://storage.mcst.ru/index.php/s/ekZcC2IxjkNEOoB — перейдя по ссылке и войдя в директорию с нужной версией транслятора, например ''RTC_5.1'', следует скачать deb-файл с пометкой „'''anyos'''“ в имени, например ''rtc5_5.1-anyos0u9_all.deb''.
 +
 +
В операционных системах на базе пакетов ''deb'' и пакетного менеджера <code>apt</code> (Астра, Эльбрус, Эльбрус-Д) установка производятся как обычно, но не по имени пакета, а с указанием пути к deb-файлу, в том числе даже если он находится в текущей директории; а вот удаление — как обычно, по имени пакета:
 +
 +
<pre>
 +
apt-get install ./rtc5_5.1-anyos0u9_all.deb
 +
apt-get remove rtc
 +
</pre>
 +
 +
В операционных системах на базе пакетов ''rpm'' (Альт, Ред ОС, РОСА) необходимо сначала установить низкоуровневый пакетный менеджер <code>dpkg</code> и инициализировать его пакетную базу, после чего работать с deb-пакетами через него:
 +
 +
<pre>
 +
#  Ред ОС, РОСА  || Альт
 +
dnf install dpkg || apt-get install dpkg
 +
touch /var/lib/dpkg/status
 +
 +
dpkg --install ./rtc5_5.1-anyos0u9_all.deb
 +
dpkg --remove rtc5
 +
</pre>
 +
 +
В последнем случае следует иметь в виду на будущее, что пакетные базы штатного менеджера <code>rpm</code> (<code>apt</code>, <code>dnf</code>) и нештатного менеджера <code>dpkg</code> в таких системах не пересекаются, и необходимо самостоятельно следить за предотвращением конфликтов между пакетами: например, если уже установлен штатный пакет версии 5.0, а вы хотите установить универсальный пакет версии 5.1; или если вы установили универсальный пакет версии 5.1 вместо штатного пакета версии 4.4 или в дополнение к нему, а в будущем разработчик ОС выпустит обновление штатного пакета версии 5.0, 5.1 или 6.0, и она будет автоматически выбрана для установки.
 +
 +
Универсальный пакет помечен как архитектурно-независимый („all“), потому что содержит в себе исполняемые файлы для всех моделей процессоров Эльбрус. Выбор исполняемых файлов по умолчанию производится при настройке пакета, и может быть повторён при переносе установленного пакета (накопителя с установленной ОС) на компьютер с другой моделью процессора:
 +
 +
<pre>
 +
dpkg --reconfigure rtc5
 +
</pre>
 +
 +
Также реконфигурацию пакета необходимо проводить при переносе на другую ОС с другой системой управления службами (''systemd'' или ''sysvinit'').
 +
 +
 +
=== Фирменные пакеты МЦСТ ===
 +
 +
Рядом с универсальным пакетом выложены для скачивания deb-пакеты из состава Эльбрус Линукс. Их отличие от универсального пакета в том, что они:
 +
 +
* содержат исполняемые файлы только для одной модели процессора Эльбрус;
 +
* поддерживают только систему управления службами ''sysvinit'' (в ''systemd''-системах возможна ограниченная поддержка в режиме обратной совместимости);
 +
* поддерживают только систему управления альтернативами <code>update-alternatives</code> (не совместимо с ОС Альт, где своя система <code>alternatives-update</code>);
 +
 +
Они предназначены в первую очередь для предоставления новых версий RTC для старых выпусков ОС Эльбрус Линукс, а также для обновления RTC в текущем выпуске без подключения к онлайн-репозиторию обновлений. Использование этих пакетов в других ОС не рекомендуется.
 +
 +
 +
=== Документация ===
 +
 +
Копия руководства по эксплуатации в формате PDF выложена для скачивания вместе с каждой версией пакетов, а также доступна после установки пакета в директории вместе с другими файлами пакета — обычно по одному из следующих путей:
 +
 +
* ''/opt/mcst/rtc/doc''
 +
* ''/opt/mcst/rtc5.0/doc''
 +
* ''/opt/mcst/rtc5/doc''
 +
* ''/usr/share/rtc5/doc''
 +
 +
  
 
== Гостевое окружение ==
 
== Гостевое окружение ==

Версия 16:00, 23 сентября 2025

Двоичный транслятор уровня приложений или просто транслятор приложений, он же двоичный компилятор (bincomp — binary compiler), он же компилятор в реальном времени (RTC — real-time compiler), он же рекомпилятор — программное обеспечение для платформы Эльбрус, позволяющее запускать прикладные программы для Linux в машинных кодах x86 или x86-64 под управлением нативной операционной системы семейства Linux. При запуске таким образом программы Wine — эмулятора Windows API для Linux (x86 / x86-64) — можно запускать программы для Windows из-под нативной ОС Linux.

Двоичная трансляция проходит в режиме реального времени, «на лету», с адаптивной многопроходной оптимизацией, что в сочетании с аппаратными средствами поддержки трансляции, заложенными в архитектуру Эльбрус и обеспечивающими низкие накладные расходы, даёт высокую скорость работы гостевых приложений. При этом системные вызовы ядра Linux обрабатываются ядром хозяйской (нативной) системы, что также снижает накладные расходы по сравнению с запуском целой системы x86 Linux через транслятор уровня системы (Lintel).

Подробнее на сайте МЦСТ: RTC


Установка

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


Штатный пакет

В операционных системах на базе пакетного менеджера apt (Альт, Астра, Эльбрус, Эльбрус-Д) установка и удаление пакета производятся следующим образом:

apt-get install rtc
apt-get remove rtc

В операционных системах на базе пакетного менеджера dnf (Ред ОС, РОСА) установка и удаление пакета производятся аналогично:

dnf install rtc
dnf remove rtc

В зависимости от конкретной ОС и версии пакета RTC, имя пакета может быть другим — например, rtc5, rtc6 и т. д.


Универсальный пакет

Пакет находится по ссылке в описании RTC на сайте МЦСТ — во вкладке «Поддержка»: https://storage.mcst.ru/index.php/s/ekZcC2IxjkNEOoB — перейдя по ссылке и войдя в директорию с нужной версией транслятора, например RTC_5.1, следует скачать deb-файл с пометкой „anyos“ в имени, например rtc5_5.1-anyos0u9_all.deb.

В операционных системах на базе пакетов deb и пакетного менеджера apt (Астра, Эльбрус, Эльбрус-Д) установка производятся как обычно, но не по имени пакета, а с указанием пути к deb-файлу, в том числе даже если он находится в текущей директории; а вот удаление — как обычно, по имени пакета:

apt-get install ./rtc5_5.1-anyos0u9_all.deb
apt-get remove rtc

В операционных системах на базе пакетов rpm (Альт, Ред ОС, РОСА) необходимо сначала установить низкоуровневый пакетный менеджер dpkg и инициализировать его пакетную базу, после чего работать с deb-пакетами через него:

#  Ред ОС, РОСА  || Альт
dnf install dpkg || apt-get install dpkg
touch /var/lib/dpkg/status

dpkg --install ./rtc5_5.1-anyos0u9_all.deb
dpkg --remove rtc5

В последнем случае следует иметь в виду на будущее, что пакетные базы штатного менеджера rpm (apt, dnf) и нештатного менеджера dpkg в таких системах не пересекаются, и необходимо самостоятельно следить за предотвращением конфликтов между пакетами: например, если уже установлен штатный пакет версии 5.0, а вы хотите установить универсальный пакет версии 5.1; или если вы установили универсальный пакет версии 5.1 вместо штатного пакета версии 4.4 или в дополнение к нему, а в будущем разработчик ОС выпустит обновление штатного пакета версии 5.0, 5.1 или 6.0, и она будет автоматически выбрана для установки.

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

dpkg --reconfigure rtc5

Также реконфигурацию пакета необходимо проводить при переносе на другую ОС с другой системой управления службами (systemd или sysvinit).


Фирменные пакеты МЦСТ

Рядом с универсальным пакетом выложены для скачивания deb-пакеты из состава Эльбрус Линукс. Их отличие от универсального пакета в том, что они:

  • содержат исполняемые файлы только для одной модели процессора Эльбрус;
  • поддерживают только систему управления службами sysvinit (в systemd-системах возможна ограниченная поддержка в режиме обратной совместимости);
  • поддерживают только систему управления альтернативами update-alternatives (не совместимо с ОС Альт, где своя система alternatives-update);

Они предназначены в первую очередь для предоставления новых версий RTC для старых выпусков ОС Эльбрус Линукс, а также для обновления RTC в текущем выпуске без подключения к онлайн-репозиторию обновлений. Использование этих пакетов в других ОС не рекомендуется.


Документация

Копия руководства по эксплуатации в формате PDF выложена для скачивания вместе с каждой версией пакетов, а также доступна после установки пакета в директории вместе с другими файлами пакета — обычно по одному из следующих путей:

  • /opt/mcst/rtc/doc
  • /opt/mcst/rtc5.0/doc
  • /opt/mcst/rtc5/doc
  • /usr/share/rtc5/doc


Гостевое окружение

Транслятор приложений позволяет запускать два вида программ:

  1. скомпонованных статически — не зависящих от внешних библиотечных модулей;
  2. скомпонованных динамически — подгружающих внешние библиотечные модули (.so) на этапе запуска или во время работы.

Программы запускаются транслятором в гостевом окружении — изолированном от хозяйской системы пространстве имён и со своим деревом файловой системы (как при использовании chroot, только ещё с трансляцией машинных кодов). Динамически скомпонованные программы требуют наличия всех нужных им для работы библиотек, поэтому их запуск обычно осуществляется внутри файловой системы ОС, взятой с x86-компьютера, — для лучшей совместимости рекомендуется использовать ОС одной и той же разновидности и версии, например «Альт 10.4 Рабочая станция для архитектуры Эльбрус» в качестве хозяйской системы и «Альт 10.4 Рабочая станция для архитектуры x86-64» в качестве гостевого окружения. Статически скомпонованные программы могут работать напрямую из файловой системы нативной ОС; дополнять их полноценным x86-окружением можно, например, при необходимости запуска внешних программ.