В рамките на проекта Blink се разработва и развива нов емулатор на х86-64 процесори, който дава възможност за стартирането на статично компилирани Linux приложения във виртуална машина с емулиран процесор. Основната цел на този проект е осигуряване възможността за стартирането на компилираните за х86-64 архитектурите Linux приложения в средата на други операционни системи (macOS, FreeBSD, NetBSD, OpenBSD) и на компютри с процесори с други архитектури (x86, ARM, RISC-V, MIPS, PowerPC, s390x). Кодът на проекта се пише на програмния език Си (ANSI C11) и се разпространява под ISC лиценза.
От зависимостите е необходима само libc (POSIX.1-2017).
По функционалност Blink напомня на qemu-x86_64, но се различава от QEMU със своя по-компактен размер и значително по-високата производителност. Така например, изпълнимият файл на Blink е с големина едва 157 KB, докато qemu-x86_64 заема над 4 MB дисково пространство. Освен това, в стандартните тестове на GCC новият Blink демонстрира двойно по-голяма производителност в сравнение с QEMU. Тази висока производителност е постигната чрез използването на JIT компилатор, който в реално време преобразува входните инструкции в машинен код за съответната платформа.
Емулаторът поддържа директното стартиране на изпълнимите файлове с ELF, PE (Portable Executables) и bin (Flat executable) формати, компилирани с използването на стандартните Си библиотеки Cosmopolitan, Glibc и Musl. Поддържа се емулацията на процесорните инструкции на i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87, RDRND, RDSEED и RDTSCP.
Всичко важно от света на технологиите, директно в пощата ти.
С абонирането приемате нашите Условия и Политика за поверителност. Може да се отпишете с един клик по всяко време.
Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Google Новини, TikTok, Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iPhone, Huawei, Google Chrome, Microsoft Edge и Opera!