На GitHub появился проект Blink — эмулятор процессоров x86-64, который можно считать более быстрым и легким аналогом QEMU.
Blink — это эмулятор x86-64, предназначенный для запуска Linux-программ в виртуальной машине, с возможностью работы на любой POSIX-совместимой операционной системе или аппаратной архитектуре. Однако самая интересная особенность Blink заключается в его способности эмулировать самого себя.
Главное преимущество Blink — его высокая производительность при минимальных ресурсах. Он предлагает функциональность, аналогичную команде qemu-x86_64
, но при этом занимает значительно меньше места и работает почти в два раза быстрее. Это достигается благодаря использованию JIT-компилятора, который конвертирует инструкции в код, оптимизированный для быстрого выполнения, на основе анализируемого объекта. Для ускорения работы Blink сканирует длину байта скомпилированной функции, проверяет возможность применения RET-инструкции, а затем копирует код в JIT-память.
Но Blink — это не только эмулятор. Разработчики активно работают над утилитой под названием blinkenlights, которая позволит контролировать память и процесс выполнения программ. В основном она служит отладчиком, предоставляя возможность отслеживать историю изменений и возвращаться к предыдущим версиям данных, что значительно облегчает процесс тестирования и исправления ошибок.
Blink представляет собой мощный инструмент, который будет полезен разработчикам, исследователям и всем, кто работает с Linux-программами на разных платформах и архитектурах. Высокая производительность и продвинутые отладочные функции делают его отличным выбором для тех, кто ищет быстрый и удобный эмулятор с расширенными возможностями.