Rilis pisanan Blink, emulator x86-64 kinerja dhuwur

Rilis penting pisanan proyek Blink wis diterbitake, ngembangake emulator prosesor x86-64 sing ngidini sampeyan mbukak aplikasi Linux kanthi statis lan dinamis ing mesin virtual kanthi prosesor sing ditiru. Kanthi Blink, program Linux sing disusun kanggo arsitektur x86-64 bisa ditindakake ing sistem operasi liyane sing kompatibel karo POSIX (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) lan ing peralatan karo arsitektur hardware liyane (x86, ARM, RISC-V, MIPS). , PowerPC, s390x). Kode proyek ditulis ing basa C (ANSI C11) lan disebarake miturut lisensi ISC. Saka dependensi, mung libc (POSIX.1-2017) sing dibutuhake.

Ing babagan fungsi, Blink padha karo perintah qemu-x86_64, nanging beda karo QEMU kanthi desain sing luwih kompak lan peningkatan kinerja sing signifikan. Contone, eksekusi Blink mung njupuk 221 KB (karo mbangun sing diudani - 115 KB) tinimbang 4 MB kanggo qemu-x86_64, lan ing sawetara tes, kayata mlaku ing emulator GCC lan nindakake operasi matematika, kinerja kasebut luwih unggul. QEMU kira-kira kaping pindho.

Kanggo njamin kinerja dhuwur, compiler JIT digunakake, kang ngowahi instruksi sumber ing fly menyang kode mesin kanggo platform target. Emulator ndhukung langsung mbukak file eksekusi ing format ELF, PE (Portable Executables) lan bin (Flat executable), disusun karo perpustakaan C standar Cosmopolitan, Glibc lan Musl. Dhukungan internal kanggo 180 panggilan sistem Linux lan emulasi babagan instruksi prosesor 600 x86 sing kalebu i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87RD, RDSEDDRND, set instruksi lan RDTSCP.

Kajaba iku, adhedhasar Blink, utilitas blinkenlights lagi dikembangake, sing nyedhiyakake antarmuka kanggo nggambarake kemajuan eksekusi program lan nganalisa isi memori. Utilitas kasebut bisa digunakake minangka debugger sing ndhukung mode reverse-debugging lan ngidini sampeyan bali menyang riwayat eksekusi lan bali menyang titik sing wis dieksekusi sadurunge. Proyek iki dikembangake dening penulis pangembangan kayata perpustakaan Cosmopolitan C, port mekanisme isolasi janji kanggo Linux lan sistem file eksekusi universal Redbean.

Rilis pisanan Blink, emulator x86-64 kinerja dhuwur


Source: opennet.ru

Add a comment