Keluaran pertama Blink, emulator x86-64 berprestasi tinggi

Keluaran penting pertama projek Blink telah diterbitkan, membangunkan emulator pemproses x86-64 yang membolehkan anda menjalankan aplikasi Linux yang dibina secara statik dan dinamik dalam mesin maya dengan pemproses yang ditiru. Dengan Blink, program Linux yang disusun untuk seni bina x86-64 boleh dijalankan pada sistem pengendalian serasi POSIX lain (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) dan pada peralatan dengan seni bina perkakasan lain (x86, ARM, RISC-V, MIPS , PowerPC, s390x). Kod projek ditulis dalam bahasa C (ANSI C11) dan diedarkan di bawah lesen ISC. Daripada kebergantungan, hanya libc (POSIX.1-2017) diperlukan.

Dari segi fungsi, Blink adalah serupa dengan perintah qemu-x86_64, tetapi berbeza daripada QEMU dalam reka bentuk yang lebih padat dan peningkatan prestasi yang ketara. Sebagai contoh, boleh laku Blink hanya menggunakan 221 KB (dengan binaan yang dilucutkan - 115 KB) dan bukannya 4 MB untuk qemu-x86_64, dan dalam beberapa ujian, seperti berjalan dalam emulator GCC dan melaksanakan operasi matematik, ia mengatasi prestasi QEMU sebanyak kira-kira dua kali.

Untuk memastikan prestasi tinggi, pengkompil JIT digunakan, yang menukar arahan sumber dengan segera kepada kod mesin untuk platform sasaran. Emulator menyokong pelancaran terus fail boleh laku dalam format ELF, PE (Boleh Laku Mudah Alih) dan bin (Boleh laku Rata), disusun dengan perpustakaan C standard Cosmopolitan, Glibc dan Musl. Sokongan terbina dalam untuk 180 panggilan sistem Linux dan emulasi kira-kira 600 x86 arahan pemproses meliputi i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87RD, REDDRND set arahan dan RDTSCP.

Selain itu, berdasarkan Blink, utiliti blinkenlights sedang dibangunkan, yang menyediakan antara muka untuk menggambarkan kemajuan pelaksanaan program dan menganalisis kandungan memori. Utiliti boleh digunakan sebagai penyahpepijat yang menyokong mod penyahpepijatan terbalik dan membolehkan anda kembali ke dalam sejarah pelaksanaan dan kembali ke titik yang telah dilaksanakan sebelum ini. Projek ini dibangunkan oleh pengarang perkembangan seperti perpustakaan Cosmopolitan C, pelabuhan mekanisme pengasingan ikrar untuk Linux dan sistem fail boleh laku universal Redbean.

Keluaran pertama Blink, emulator x86-64 berprestasi tinggi


Sumber: opennet.ru

Tambah komen