First release of Blink, a high-performance x86-64 system emulator

The first significant release of the Blink project has been published, which develops an x86-64 processor emulator allowing the execution of both statically and dynamically compiled Linux applications in a virtual machine with an emulated processor. With Blink, Linux programs compiled for the x86-64 architecture can run on other POSIX-compatible operating systems (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) and on hardware with different architectures (x86, ARM, RISC-V, MIPS, PowerPC, s390x). The project code is written in C (ANSI C11) and is distributed under the ISC license. Only libc (POSIX.1-2017) is required as a dependency.

Functionally, Blink resembles the qemu-x86_64 command but is distinguished from QEMU by its more compact implementation and significant performance gains. For example, the Blink executable is only 221 KB (115 KB in a stripped build) compared to 4 MB for qemu-x86_64, and in certain tests, such as running in the GCC emulator and performing mathematical operations, it outperforms QEMU by approximately two times.

To ensure high performance, a JIT compiler is utilized, on-the-fly converting source instructions into machine code for the target platform. Direct execution of executable files in ELF, PE (Portable Executables), and bin (Flat executable) formats compiled with standard C libraries Cosmopolitan, Glibc, and Musl is supported. Built-in support for 180 Linux system calls and emulation of about 600 x86 processor instructions is realized, covering instruction sets i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87, RDRND, RDSEED, and RDTSCP.

Additionally, a utility called blinkenlights is being developed on the basis of Blink, providing an interface for visualizing program execution and analyzing memory contents. The utility can be used as a debugger supporting reverse debugging mode, allowing navigation backward in the execution history and returning to a previously executed point. The project is developed by the author of creations like the Cosmopolitan C library, the port of the pledge isolation mechanism for Linux, and the Redbean universal executable file system.

First release of Blink, a high-performance x86-64 system emulator


Source: opennet.ru
Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster