Pelepasan munggaran Blink, émulator x86-64 kinerja luhur

Kaluaran signifikan mimiti proyék Blink geus diterbitkeun, ngamekarkeun hiji émulator of x86-64 prosesor nu ngidinan Anjeun pikeun ngajalankeun statik sarta dinamis diwangun aplikasi Linux Ubuntu dina mesin virtual kalawan processor emulated. Kalayan Blink, program Linux anu disusun pikeun arsitéktur x86-64 tiasa dijalankeun dina sistem operasi anu cocog sareng POSIX (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) sareng alat sareng arsitéktur hardware anu sanés (x86, ARM, RISC-V, MIPS. , PowerPC, s390x). Kodeu proyék ditulis dina basa C (ANSI C11) sareng disebarkeun dina lisénsi ISC. Tina kagumantungan, ngan ukur libc (POSIX.1-2017) anu diperyogikeun.

Dina hal fungsionalitas, Blink sami sareng paréntah qemu-x86_64, tapi béda sareng QEMU dina desain anu langkung kompak sareng paningkatan kinerja anu signifikan. Contona, Blink executable nyokot ukur 221 KB (kalayan dilucuti-handap ngawangun - 115 KB) tinimbang 4 MB pikeun qemu-x86_64, sarta dina sababaraha tés, kayaning ngajalankeun dina émulator GCC jeung ngajalankeun operasi matematik, éta outperforms. QEMU ku ngeunaan dua kali.

Pikeun mastikeun kinerja luhur, dipaké hiji kompiler JIT, nu ngarobah parentah sumber on laleur kana kode mesin keur platform target. Émulator ngadukung peluncuran langsung file anu tiasa dieksekusi dina format ELF, PE (Portable Executables) sareng bin (Flat executable), disusun sareng perpustakaan C standar Cosmopolitan, Glibc sareng Musl. Diwangun-di rojongan pikeun 180 telepon sistem Linux Ubuntu jeung emulation ngeunaan 600 x86 parentah processor ngawengku i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87RD, RSEEDDRND, set instruksi jeung RDTSCP.

Salaku tambahan, dumasar kana Blink, utilitas blinkenlights dikembangkeun, anu nyayogikeun antarmuka pikeun ngabayangkeun kamajuan palaksanaan program sareng nganalisa eusi mémori. Utiliti bisa dipaké salaku debugger nu ngarojong mode reverse-debugging tur ngidinan Anjeun pikeun mindahkeun deui dina sajarah palaksanaan sarta balik deui ka titik saméméhna dieksekusi. Proyék ieu dikembangkeun ku panulis pamekaran sapertos perpustakaan Cosmopolitan C, palabuhan mékanisme isolasi janji pikeun Linux sareng sistem file laksana universal Redbean.

Pelepasan munggaran Blink, émulator x86-64 kinerja luhur


sumber: opennet.ru

Tambahkeun komentar