Lintel
Двоичный транслятор уровня системы или просто транслятор системы, он же Lintel (Эль–Intel) — программное обеспечение для платформы Эльбрус, позволяющее запускать операционные системы в машинных кодах x86 (x86-64). Данная разновидность двоичного транслятора действует аналогично гипервизору первого уровня: запускается как нативная ОС в машинных кодах e2k и затем своими средствами стартует гостевую ОС в машинных кодах x86, как на обычном x86-компьютере со своим BIOS и набором эмулируемых и пробрасываемых устройств. В отличие от обычного гипервизора, позволяющего создавать множество виртуальных машин, Lintel обеспечивает работу только одной гостевой ОС. Однако сам Lintel может быть запущен внутри виртуальной машины (под управлением нативного гипервизора для архитектуры Эльбрус — начиная с 6-го поколения), и таким образом на одном компьютере может быть запущено несколько гостевых ОС одновременно. Обратное невозможно, однако: Lintel не позволяет использовать x86-гипервизоры, чтобы создавать виртуальные машины x86 внутри одного гостевого домена.
Двоичная трансляция проходит в режиме реального времени, «на лету», с адаптивной многопроходной оптимизацией, что в сочетании с аппаратными средствами поддержки трансляции, заложенными в архитектуру Эльбрус и обеспечивающими низкие накладные расходы, даёт высокую скорость работы гостевой системы. В отличие от транслятора приложений (RTC), транслятор уровня системы создаёт наиболее полное подобие имитируемого x86-компьютера, но вместе с тем и бо́льшую поверхность атаки для типовых уязвимостей платформы x86, а также более высокие накладные расходы и ограничения по части использования аппаратных ресурсов, поскольку операции ввода-вывода проходят через слои эмуляции.
Подробнее на сайте МЦСТ: Lintel
Системные требования
Сам транслятор представляет собой машинный код для конкретной модели процессора Эльбрус и запускается как нативная операционная система из ПНС или МикроОС.
Сопутствующие утилиты в машинных кодах Эльбрус, такие как bcd_read
и bcd_write
, являются статически скомпонованными программами Linux, то есть не зависят от внешних библиотек, и соответственно могут работать практически в любой Linux-системе для архитектуры Эльбрус.
Прочие сопутствующие утилиты, такие как place_lintel.sh
, erase_lintel.sh
и prepare_log.sh
, являются текстовыми скриптами для оболочки Bash и могут работать на любых компьютерах, где работает Bash.
Все сопутствующие утилиты являются лишь вспомогательными инструментами и предназначены для удобства выполнения сервисных операций, как то установка и удаление транслятора, извлечение отладочных журналов работы. При отсутствии возможности запускать эти утилиты на самом компьютере Эльбрус под управлением нативной ОС семейства Linux, или на ином компьютере, где есть bash
и dd
, выполнить все те же операции можно самостоятельно с помощью любых других аналогичных средств, в том числе Windows-программ и т. п. — подробнее см. далее в соответствующих разделах статьи.