RTC

Материал из Базы знаний сообщества разработчиков Эльбрус
Версия от 14:11, 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).

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

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

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

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