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