<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.elbrus.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%94%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D0%B0%D1%8F_%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D1%8F%D1%86%D0%B8%D1%8F</id>
	<title>Двоичная трансляция - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.elbrus.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%94%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D0%B0%D1%8F_%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D1%8F%D1%86%D0%B8%D1%8F"/>
	<link rel="alternate" type="text/html" href="https://wiki.elbrus.ru/index.php?title=%D0%94%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D0%B0%D1%8F_%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D1%8F%D1%86%D0%B8%D1%8F&amp;action=history"/>
	<updated>2026-05-20T06:43:54Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>https://wiki.elbrus.ru/index.php?title=%D0%94%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D0%B0%D1%8F_%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D1%8F%D1%86%D0%B8%D1%8F&amp;diff=606&amp;oldid=prev</id>
		<title>Антон Самсонов: Заготовка статьи</title>
		<link rel="alternate" type="text/html" href="https://wiki.elbrus.ru/index.php?title=%D0%94%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D0%B0%D1%8F_%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D1%8F%D1%86%D0%B8%D1%8F&amp;diff=606&amp;oldid=prev"/>
		<updated>2025-09-25T08:21:17Z</updated>

		<summary type="html">&lt;p&gt;Заготовка статьи&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{ShortcutAddress|bincomp}}&lt;br /&gt;
&lt;br /&gt;
'''Двоичная трансляция''', она же ''бинарная компиляция'' ('''bincomp''') или ''рекомпиляция'' — технология преобразования машинных кодов из одной системы команд в другую, как то из системы команд x86 (x86-64) в систему команд Эльбрус (e2k), без использования исходных текстов программы и в реальном времени, то есть «на лету» — прозрачно с точки зрения пользователя.&lt;br /&gt;
&lt;br /&gt;
Для запуска программ в машинных кодах x86 (x86-64) на компьютерах архитектуры Эльбрус разработана ''система двоичной трансляции'', включающая два компонента:&lt;br /&gt;
&lt;br /&gt;
* транслятор уровня системы ([[Lintel]]), позволяющий запускать целые операционные системы, такие как Windows или Linux;&lt;br /&gt;
* транслятор уровня приложений ([[RTC]]), позволяющий запускать прикладные программы для x86 Linux внутри операционной системы в машинных кодах Эльбрус, такой как ОС Эльбрус Линукс.&lt;br /&gt;
&lt;br /&gt;
Первый вариант похож на запуск виртуальной машины (с той лишь разницей, что транслятор с гостевой системой занимают весь компьютер монопольно, или всю виртуальную машину, если Lintel запущен внутри неё), а второй вариант — на запуск контейнера в изолированном окружении &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt;. Если проводить параллели с популярным эмулятором Qemu, то Lintel — это аналог &amp;lt;code&amp;gt;qemu-system-x86_64&amp;lt;/code&amp;gt;, а RTC — это &amp;lt;code&amp;gt;qemu-x86_64&amp;lt;/code&amp;gt; (он же &amp;lt;code&amp;gt;qemu-user-x86_64&amp;lt;/code&amp;gt;, он же &amp;lt;code&amp;gt;qemu-linux-x86_64&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
Благодаря тому, что в архитектуру Эльбрус изначально заложена аппаратная поддержка двоичной трансляции, накладные расходы получаются небольшими (в отличие от того же Qemu, который отслеживает выполнение гостевых кодов чисто программно и потому медленно). Более того, транслятор адаптивно оптимизирует получающийся машинный код: «холодные» участки, которые встречаются однократно, обрабатываются наиболее простым способом, а «горячие», которые выполняются снова и снова, подвергаются раз за разом всё более тщательному анализу и синтезу. Как итог — высокая скорость работы гостевых программ, сравнимая со скоростью изначально скомпилированных для архитектуры Эльбрус.&lt;br /&gt;
&lt;br /&gt;
Система двоичной трансляции настолько эффективна, что гостевые программы могут работать даже быстрее, чем их аналоги в машинных кодах Эльбрус, — когда речь идёт о языковых интерпретаторах и трансляторах: например, таких как среда исполнения Java или .Net (Mono), интерпретатор JavaScript в веб-браузере (Firefox). Это закономерно, поскольку оптимизирующие кодогенераторы в них совершенствуются широким сообществом разработчиков, тогда как фирменные разработки для платформы Эльбрус — сравнительно небольшим коллективом.&lt;br /&gt;
&lt;br /&gt;
Однако высокое быстродействие и обеспечиваемый уровень совместимости с существующим программным обеспечением не снимают угроз информационной безопасности, присущих архитектуре x86. Чтобы в полной мере пользоваться преимуществами аппаратной защиты, положенной в основу архитектуры Эльбрус, необходимо применять программы в машинных кодах Эльбрус.&lt;br /&gt;
&lt;br /&gt;
Другие особенности и ограничения обеих разновидностей транслятора см. в описании этих разновидностей.&lt;/div&gt;</summary>
		<author><name>Антон Самсонов</name></author>
		
	</entry>
</feed>