První vydání Blink, vysoce výkonného emulátoru systémů x86-64

Byl zveřejněn první významný vydání projektu Blink, který vyvíjí emulátor procesorů x86-64, umožňující spouštění staticky a dynamicky sestavených linuxových aplikací ve virtuálním stroji s emulovaným procesorem. Pomocí Blink lze spouštět programy sestavené pro architekturu x86-64 v jiných operačních systémech kompatibilních s POSIX (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) a na zařízeních s jinou hardwarovou architekturou (x86, ARM, RISC-V, MIPS, PowerPC, s390x). Kód projektu je napsán v jazyce C (ANSI C11) a je distribuován pod licencí ISC. Jako závislost je vyžadována pouze libc (POSIX.1-2017).

Funkčně Blink připomíná příkaz qemu-x86_64, ale liší se od QEMU kompaktnějším provedením a značným nárůstem výkonu. Například spustitelný soubor Blink zabírá pouze 221 KB (při zúžené sestavě 115 KB) namísto 4 MB u qemu-x86_64, a v některých testech, jako je spuštění v emulátoru GCC a provádění matematických operací, překonává QEMU přibližně dvakrát.

Pro zajištění vysokého výkonu se používá JIT kompilátor, který za běhu přetváří zdrojové instrukce na strojový kód pro cílovou platformu. Podporuje se přímé spouštění v emulátoru spustitelných souborů ve formátech ELF, PE (Portable Executables) a bin (plochý spustitelný soubor), sestavených se standardními C knihovnami Cosmopolitan, Glibc a Musl. Je implementována vestavěná podpora 180 systémových volání Linuxu a emulace asi 600 instrukcí procesoru x86, pokrývající sady instrukcí i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87, RDRND, RDSEED a RDTSCP.

Dále se na základě Blink vyvíjí utilita blinkenlights, která poskytuje rozhraní pro vizualizaci průběhu programu a analýzu obsahu paměti. Utilita může být použita jako debugger s podporou režimu reverzního ladění, umožňujícího vrátit se zpět v historii provádění a vracet se k již dříve vykonané příčce. Projekt rozvíjí autor takových vývojů, jako je C knihovna Cosmopolitan, port izolačního mechanismu pledge pro Linux a systém univerzálních spustitelných souborů Redbean.

První vydání Blink, vysoce výkonného emulátoru systémů x86-64


Zdroj: opennet.ru
Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster