Prvo izdanje Blink, visokoučinkovitog emulatora x86-64 sustava.

Objavljen je prvi značajan izdanak projekta Blink, koji razvija emulator procesora x86-64, omogućavajući pokretanje statički i dinamički sastavljenih Linux aplikacija u virtualnoj mašini s emuliranim procesorom. Uz pomoć Blink-a, Linux programi sastavljeni za arhitekturu x86-64 mogu se pokretati na drugim POSIX-kompatibilnim operativnim sustavima (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) i na hardveru s drugom arhitekturom (x86, ARM, RISC-V, MIPS, PowerPC, s390x). Kod projekta napisan je u programskom jeziku C (ANSI C11) i distribuira se pod ISC licencom. Od ovisnosti zahtijeva samo libc (POSIX.1-2017).

Po funkcionalnosti, Blink podsjeća na naredbu qemu-x86_64, ali se razlikuje od QEMU po kompaktnijem izvođenju i značajnom porastu performance. Na primjer, izvršna datoteka Blink zauzima svega 221 KB (u smanjenoj verziji — 115 KB) u odnosu na 4 MB koliko zauzima qemu-x86_64, dok prema performansama u nekim testovima, poput pokretanja u emulatoru GCC i izvršavanja matematičkih operacija, nadmašuje QEMU otprilike dva puta.

Za postizanje visoke performanse koristi se JIT-kompajler, koji u hodu pretvara izvorne instrukcije u strojni kod za ciljnu platformu. Podržava se izravno pokretanje izvršnih datoteka u formatima ELF, PE (Portable Executables) i bin (Flat executable), sastavljenih sa standardnim C knjižnicama Cosmopolitan, Glibc i Musl. Implementirana je ugrađena podrška za 180 sistemskih poziva Linuxa i emulacija oko 600 procesorskih instrukcija x86, obuhvaćajući instrukcijske setove i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87, RDRND, RDSEED i RDTSCP.

Dodatno, na temelju Blinka razvija se alat blinkenlights, koji pruža sučelje za vizualizaciju toka izvršenja programa i analizu sadržaja memorije. Alat se može koristiti kao debager, koji podržava način reverzne debagiranja (Reverse-Debugging) i omogućava kretanje unatrag kroz povijest izvršenja i vraćanje na već prethodno izvršenu točku. Projekt razvija autor takvih rješenja kao što su C knjižnica Cosmopolitan, port mehanizma izolacije pledge za Linux i sustav univerzalnih izvršnih datoteka Redbean.

Prvo izdanje Blink, visokoučinkovitog emulatora x86-64 sustava.


Izvor: opennet.ru
Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster