Thawj tso tawm ntawm Blink, kev ua haujlwm siab x86-64 emulator

Thawj qhov tseem ceeb tshaj tawm ntawm Blink project tau raug luam tawm, tsim ib qho emulator ntawm x86-64 processors uas tso cai rau koj los khiav statically thiab dynamically tsim Linux daim ntawv thov nyob rau hauv lub tshuab virtual nrog ib tug emulated processor. Nrog Blink, Linux cov kev pabcuam muab tso ua ke rau x86-64 architecture tuaj yeem khiav ntawm lwm lub POSIX-tshaj kev khiav haujlwm (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) thiab ntawm cov khoom siv nrog lwm cov khoom siv kho vajtse (x86, ARM, RISC-V, MIPS , PowerPC, s390x). Txoj haujlwm code yog sau ua lus C (ANSI C11) thiab muab faib raws li daim ntawv tso cai ISC. Ntawm qhov dependencies, tsuas yog libc (POSIX.1-2017) yuav tsum tau.

Hais txog kev ua haujlwm, Blink zoo ib yam li qemu-x86_64 hais kom ua, tab sis txawv ntawm QEMU hauv nws cov qauv tsim ntau dua thiab kev ua tau zoo nce ntxiv. Piv txwv li, Blink executable yuav siv sij hawm tsuas yog 221 KB (nrog ib tug stripped-down build - 115 KB) es tsis txhob ntawm 4 MB rau qemu-x86_64, thiab nyob rau hauv ib co kev xeem, xws li khiav hauv GCC emulator thiab ua lej ua haujlwm, nws outperforms QEMU li ob zaug.

Txhawm rau kom muaj kev ua haujlwm siab, siv JIT compiler, uas hloov cov lus qhia ntawm ya mus rau hauv tshuab code rau lub hom phiaj platform. Lub emulator txhawb nqa ncaj qha tso tawm cov ntaub ntawv executable hauv ELF, PE (Portable Executables) thiab bin (Flat executable) formats, compiled with the standard C libraries Cosmopolitan, Glibc and Musl. Ua-nyob rau hauv kev txhawb nqa rau 180 Linux system hu thiab emulation ntawm txog 600 x86 processor cov lus qhia npog i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87, RDR cov txheej txheem qhia thiab RDTSCP.

Tsis tas li ntawd, raws li Blink, cov khoom siv hluav taws xob blinkenlights tab tom tsim, uas muab kev sib txuas rau kev pom qhov kev ua tiav ntawm kev ua tiav thiab tshuaj xyuas cov ntsiab lus ntawm kev nco. Cov khoom siv hluav taws xob tuaj yeem siv los ua qhov debugger uas txhawb nqa rov qab-debugging hom thiab tso cai rau koj txav rov qab rau hauv keeb kwm kev ua tiav thiab rov qab mus rau qhov chaw ua tiav yav dhau los. Txoj haujlwm no yog tsim los ntawm tus sau cov kev txhim kho xws li Cosmopolitan C lub tsev qiv ntawv, qhov chaw nres nkoj ntawm kev cog lus cais tawm rau Linux thiab Redbean universal executable file system.

Thawj tso tawm ntawm Blink, kev ua haujlwm siab x86-64 emulator


Tau qhov twg los: opennet.ru

Ntxiv ib saib