[ON] Первый выпуск Blink, высокопроизводительного эмулятора систем x86-64

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Аватара пользователя
rssbot
Бот
Сообщения: 6001
ОС: gnu/linux

[ON] Первый выпуск Blink, высокопроизводительного эмулятора систем x86-64

Сообщение rssbot »

Опубликован первый значительный выпуск проекта Blink, развивающего эмулятор процессоров x86-64, позволяющий запускать статически и динамически собранные Linux-приложения в виртуальной машине с эмулируемым процессором. При помощи Blink cобранные для архитектуры x86-64 Linux-программы можно запускать в других POSIX-совместимых операционных системах (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) и на оборудовании с другой аппаратной архитектурой (x86, ARM, RISC-V, MIPS, PowerPC, s390x). Код проекта написан на языке Си (ANSI C11) и распространяется под лицензией ISC. Из зависимостей требуется только libc (POSIX.1-2017).




По функциональности Blink напоминает команду qemu-x86_64, но отличается от QEMU более компактным исполнением и значительным приростом производительности. Например, исполняемый файл Blink занимает всего 221 КБ (при урезанной сборке - 115 КБ) вместо 4 МБ у qemu-x86_64, а по производительности в некоторых тестах, таких как запуск в эмуляторе GCC и выполнение математических операций, обгоняет QEMU примерно в два раза.



Для обеспечения высокой производительности применяется JIT-компилятор, на лету преобразующий исходные инструкции в машинный код для целевой платформы. Поддерживается прямой запуск в эмуляторе исполняемых файлов в форматах ELF, PE (Portable Executables) и bin (Flat executable), собранных со стандартными Си-библиотеками Cosmopolitan, Glibc и Musl. Реализована встроенная поддержка 180 системных вызовов Linux и эмуляция около 600 процессорных инструкций x86, охватывающих наборы инструкций i8086,
i386,
SSE2,
x86_64,
SSE3,
SSSE3,
CLMUL,
POPCNT,
ADX,
BMI2 (MULX, PDEP, PEXT),
X87,
RDRND,
RDSEED и
RDTSCP.


Дополнительно на базе Blink разрабатывается утилита blinkenlights, предоставляющая интерфейс для визуализации хода выполнения программы и анализа содержимого памяти. Утилита может применяться в качестве отладчика, поддерживающего режим реверсивной отладки
(Reverse-Debugging) и позволяющего перемещаться назад в истории выполнения и возвращаться к уже ранее выполненной точке. Проект развивает автор таких разработок, как Си-библиотека Cosmopolitan, порт механизма изоляции pledge для Linux и система универсальных исполняемых файлов Redbean.
Изображение


Источник: https://www.opennet.ru/opennews/art.shtml?num=59247
(opennet.ru, основная лента)
Спасибо сказали:
Аватара пользователя
yoricI
Сообщения: 2826
ОС: gentoo fluxbox

Re: [ON] Первый выпуск Blink, высокопроизводительного эмулятора систем x86-64

Сообщение yoricI »

Странно насчёт быстродействия. Везде пишут, что QEMU близка к оригиналу, куда ещё в два раза быстрее, превысить производительность хоста, что-ли?
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5412
ОС: Gentoo

Re: [ON] Первый выпуск Blink, высокопроизводительного эмулятора систем x86-64

Сообщение /dev/random »

yoricI писал:
05.06.2023 12:55
Везде пишут, что QEMU близка к оригиналу, куда ещё в два раза быстрее
QEMU близка по скорости к оригиналу (даже можно сказать, неотличима) при использовании в режиме гипервизора, т.е. без смены архитектуры. В режиме эмулятора, т.е. запуска системы, собранной для одной архитектуры, на другой архитектуре (напр., запуска MIPS-системы на ARM-железе), QEMU тот ещё тормоз. А сабж - это именно эмулятор.
Спасибо сказали: