Kutulutsidwa koyamba kwa Blink, emulator yapamwamba kwambiri ya x86-64

Kutulutsidwa koyamba kofunikira kwa projekiti ya Blink kwasindikizidwa, ndikupanga emulator ya mapurosesa a x86-64 omwe amakupatsani mwayi woyendetsa ma Linux mokhazikika komanso mwamphamvu pamakina omwe ali ndi purosesa yotsanzira. Ndi Blink, mapulogalamu a Linux opangidwa kuti amangidwe a x86-64 amatha kuyendetsedwa pamakina ena ogwiritsira ntchito POSIX (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) komanso pazida zomwe zili ndi zomangamanga zina (x86, ARM, RISC-V, MIPS). , PowerPC, s390x). Khodi ya polojekitiyi imalembedwa m'chinenero cha C (ANSI C11) ndipo imagawidwa pansi pa chilolezo cha ISC. Pazidalira, libc yokha (POSIX.1-2017) ndiyofunika.

Ponena za magwiridwe antchito, Blink ndi yofanana ndi lamulo la qemu-x86_64, koma imasiyana ndi QEMU pamapangidwe ake ophatikizika komanso kuwonjezeka kwakukulu kwa magwiridwe antchito. Mwachitsanzo, Blink executable imatenga 221 KB yokha (yokhala ndi chomangidwa - 115 KB) m'malo mwa 4 MB ya qemu-x86_64, ndi mayeso ena, monga kuthamanga mu emulator ya GCC ndikuchita masamu, imapambana. QEMU pafupifupi kawiri.

Kuonetsetsa kuti magwiridwe antchito apamwamba, makina opangira a JIT amagwiritsidwa ntchito, omwe amasintha malangizo oyambira pa ntchentche kukhala makina amakina a nsanja yomwe mukufuna. Emulator imathandizira kukhazikitsidwa kwachindunji kwa mafayilo omwe angathe kuchitidwa mu ELF, PE (Portable Executables) ndi mawonekedwe a bin (Flat executable), opangidwa ndi malaibulale amtundu wa C Cosmopolitan, Glibc ndi Musl. Thandizo lothandizira pama foni 180 a Linux ndikutsanzira malangizo a purosesa a 600 x86 okhudza i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87, RDSEEDDR malangizo seti ndi RDTSCP.

Kuphatikiza apo, kutengera Blink, chida cha blinkenlights chikupangidwa, chomwe chimapereka mawonekedwe owonera momwe pulogalamu ikuyendera ndikusanthula zomwe zili m'makumbukidwe. Zomwe zimagwiritsidwa ntchito zitha kugwiritsidwa ntchito ngati chowongolera chomwe chimathandizira kuwongolera-kusintha ndikukulolani kuti mubwerere m'mbiri yakuphedwa ndikubwerera kumalo omwe adaphedwa kale. Pulojekitiyi idapangidwa ndi mlembi wa zomwe zikuchitika monga laibulale ya Cosmopolitan C, doko la njira yodzipatula ya Linux ndi Redbean universal executable file system.

Kutulutsidwa koyamba kwa Blink, emulator yapamwamba kwambiri ya x86-64


Source: opennet.ru

Kuwonjezera ndemanga