Prima lansare a Blink, un emulator x86-64 de înaltă performanță

Prima versiune semnificativă a proiectului Blink a fost publicată. Acesta dezvoltă un emulator de procesoare x86-64 care permite rularea compilată static și dinamic. Linux- aplicații într-o mașină virtuală cu un procesor emulat. Construit pentru arhitectura x86-64 folosind Blink Linux- programele pot fi rulate pe alte sisteme de operare compatibile POSIX (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) și pe hardware cu alte arhitecturi (x86, ARM, RISC-V, MIPS, PowerPC, s390x). Codul proiectului este scris în C (ANSI C11) și este distribuit sub licența ISC. Singura dependență necesară este libc (POSIX.1-2017).

În ceea ce privește funcționalitatea, Blink este similar cu comanda qemu-x86_64, dar diferă de QEMU prin designul mai compact și creșterea semnificativă a performanței. De exemplu, executabilul Blink ocupă doar 221 KB (cu o versiune redusă - 115 KB) în loc de 4 MB pentru qemu-x86_64, iar în unele teste, cum ar fi rularea în emulatorul GCC și efectuarea de operații matematice, depășește QEMU de aproximativ două ori.

Pentru a asigura performanțe ridicate, se utilizează un compilator JIT, care convertește instrucțiunile sursă din mers în cod mașină pentru platforma țintă. Execuția directă în emulator este acceptată pentru fișierele executabile în formatele ELF, PE (Portable Executables) și bin (Flat executable), compilate cu bibliotecile C standard Cosmopolitan, Glibc și Musl. Este implementat suport încorporat pentru 180 de apeluri de sistem. Linux și emularea a aproximativ 600 de instrucțiuni ale procesorului x86, acoperind seturile de instrucțiuni i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87, RDRND, RDSEED și RDTSCP.

În plus, utilitarul blinkenlights este dezvoltat pe baza Blink, oferind o interfață pentru vizualizarea execuției programului și analizarea conținutului memoriei. Utilitarul poate fi utilizat ca depanator, suportând depanarea inversă și permițând navigarea înapoi în istoricul execuției și revenirea la un punct executat anterior. Proiectul este dezvoltat de autorul unor dezvoltări precum biblioteca Cosmopolitan C, un port al mecanismului de izolare a promisiunilor pentru... Linux și sistemul executabil universal Redbean.

 Prima lansare a Blink, un emulator x86-64 de înaltă performanță


Sursa: opennet.ru
Cumpărați găzduire de încredere pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără găzduire web fiabilă cu protecție DDoS, servere VPS VDS | ProHoster