Rilis penting pisanan proyek Blink wis diterbitake. Iki ngembangake emulator prosesor x86-64 sing ngidini aplikasi Linux dibangun kanthi statis lan dinamis ing mesin virtual kanthi prosesor sing ditiru. Kanthi Blink, program Linux sing dibangun kanggo arsitektur x86-64 bisa ditindakake ing sistem operasi liyane sing kompatibel karo POSIX (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) lan ing peralatan kanthi arsitektur hardware sing beda (x86, ARM, RISC-V, MIPS, PowerPC, s390x). Kode proyek ditulis ing C (ANSI C11) lan disebarake miturut lisensi ISC. Mung gumantung sing dibutuhake libc (POSIX.1-2017).
Blink padha ing fungsi kanggo qemu-x86_64 printah, nanging bedo saka QEMU ing eksekusi luwih kompak lan gain kinerja wujud. Contone, file eksekusi Blink mung njupuk 221 KB (karo mbangun sing diudani - 115 KB) tinimbang 4 MB kanggo qemu-x86_64, lan ing babagan kinerja ing sawetara tes, kayata mlaku ing emulator GCC lan nindakake operasi matematika, iku ngluwihi QEMU kanthi kira-kira kaping pindho.
Kanggo njamin kinerja dhuwur, compiler JIT digunakake, kang ngowahi instruksi sumber menyang kode mesin kanggo platform target ing fly. Bukak langsung file eksekusi ing format ELF, PE (Portable Executables) lan bin (Flat executable), sing disusun karo perpustakaan C standar Cosmopolitan, Glibc lan Musl, didhukung ing emulator. Dhukungan sing dibangun kanggo 180 panggilan sistem Linux lan emulasi babagan instruksi prosesor 600 x86 dileksanakake, nyakup set instruksi i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, RCPEDDR lan X87RDEP),
Kajaba iku, sarana blinkenlights dikembangake kanthi basis Blink, nyedhiyakake antarmuka kanggo nggambarake eksekusi program lan nganalisa isi memori. Utilitas kasebut bisa digunakake minangka debugger, ndhukung mode reverse-debugging lan ngidini sampeyan bali menyang riwayat eksekusi lan bali menyang titik sing wis dieksekusi sadurunge. Proyèk iki dikembangaké déning penulis pangembangan kayata perpustakaan Cosmopolitan C, port mekanisme isolasi janji kanggo Linux, lan sistem file eksekusi universal Redbean.

Source: opennet.ru
