Premye lage nan Blink, yon emulateur segondè pèfòmans x86-64

Premye lage enpòtan nan pwojè Blink la te pibliye, devlope yon Emulation de processeurs x86-64 ki pèmèt ou kouri aplikasyon pou Linux estatik ak dinamik bati nan yon machin vityèl ak yon processeur imite. Avèk Blink, pwogram Linux konpile pou achitekti x86-64 yo ka kouri sou lòt sistèm opere POSIX ki konpatib (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) ak sou ekipman ak lòt achitekti pyès ki nan konpitè (x86, ARM, RISC-V, MIPS). , PowerPC, s390x). Kòd pwojè a ekri nan lang C (ANSI C11) epi li distribye anba lisans ISC. Nan depandans yo, sèlman libc (POSIX.1-2017) obligatwa.

An tèm de fonctionnalités, Blink se menm jan ak lòd qemu-x86_64 la, men diferan de QEMU nan konsepsyon plis kontra enfòmèl ant li yo ak ogmantasyon pèfòmans enpòtan. Pou egzanp, ègzèkutabl Blink la pran sèlman 221 KB (avèk yon batiman dezabiye - 115 KB) olye pou yo 4 MB pou qemu-x86_64, ak nan kèk tès, tankou kouri nan emulateur GCC a ak fè operasyon matematik, li depase. QEMU pa apeprè de fwa.

Pou asire pèfòmans segondè, yo itilize yon du JIT, ki konvèti enstriksyon sous sou vole nan kòd machin pou platfòm sib la. Emulateur a sipòte lansman dirèk nan dosye ègzèkutabl nan fòma ELF, PE (egzekutabl pòtab) ak bin (ègzekutabl plat), konpile ak estanda C bibliyotèk Cosmopolitan, Glibc ak Musl. Sipò entegre pou 180 apèl sistèm Linux ak emulasyon apeprè 600 enstriksyon processeur x86 ki kouvri i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87, RDSED, RDRND ansanm enstriksyon ak RDTSCP.

Anplis de sa, ki baze sou Blink, sèvis piblik blinkenlights yo ap devlope, ki bay yon koòdone pou vizyalize pwogrè nan ekzekisyon pwogram ak analize sa ki nan memwa. Yo ka itilize sèvis piblik la kòm yon debogaj ki sipòte mòd debogaj ranvèse epi ki pèmèt ou deplase tounen nan istwa ekzekisyon an epi retounen nan yon pwen ki te deja egzekite. Pwojè a devlope pa otè devlopman sa yo tankou Cosmopolitan C bibliyotèk, yon pò nan mekanis izolasyon angajman pou Linux ak sistèm nan dosye inivèsèl Redbean ègzèkutabl.

Premye lage nan Blink, yon emulateur segondè pèfòmans x86-64


Sous: opennet.ru

Add nouvo kòmantè