ʻO ka hoʻokuʻu mua ʻana o Blink, kahi emulator x86-64 kiʻekiʻe

Ua paʻi ʻia ka hoʻokuʻu koʻikoʻi mua o ka papahana Blink, e hoʻomohala ana i kahi emulator o nā kaʻina hana x86-64 e hiki ai iā ʻoe ke holo statically a dynamically i kūkulu ʻia nā noi Linux i loko o kahi mīkini virtual me kahi kaʻina hana emulated. Me Blink, hiki ke holo ʻia nā polokalamu Linux i hoʻohui ʻia no ka hale hoʻolālā x86-64 ma nā ʻōnaehana hana POSIX-compatible ʻē aʻe (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) a ma luna o nā mea hana me nā hale hana ʻenehana ʻē aʻe (x86, ARM, RISC-V, MIPS , PowerPC, s390x). Ua kākau ʻia ke code papahana ma ka ʻōlelo C (ANSI C11) a ua māhele ʻia ma lalo o ka laikini ISC. ʻO nā mea hilinaʻi, pono libc (POSIX.1-2017) wale nō.

Ma ke ʻano o ka hana, ua like ʻo Blink me ke kauoha qemu-x86_64, akā ʻokoʻa mai ka QEMU i kāna hoʻolālā paʻa a me ka piʻi nui o ka hana. No ka laʻana, lawe ka Blink executable i 221 KB wale nō (me kahi kūkulu ʻia - 115 KB) ma kahi o 4 MB no qemu-x86_64, a ma kekahi mau hoʻokolohua, e like me ka holo ʻana i ka emulator GCC a me ka hana ʻana i nā hana makemakika, ʻoi aku ka maikaʻi. QEMU ma kahi o ʻelua manawa.

No ka hōʻoia ʻana i ka hana kiʻekiʻe, hoʻohana ʻia kahi mea hōʻuluʻulu JIT, e hoʻololi i nā ʻōlelo kumu ma ka lele i loko o ka code mīkini no ka paepae i manaʻo ʻia. Kākoʻo ka emulator i ka hoʻomaka pololei ʻana o nā faila i hiki ke hoʻokō ʻia ma ELF, PE (Portable Executables) a me bin (Flat executable) formats, i hui pū ʻia me nā waihona C maʻamau Cosmopolitan, Glibc a me Musl. Kākoʻo i kūkulu ʻia no nā kelepona ʻōnaehana Linux 180 a me ka hoʻohālikelike ʻana o kahi 600 x86 mau kuhikuhi kaʻina hana e uhi ana i i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87RD, RSEEDDRND, nā papa kuhikuhi a me RDTSCP.

Hoʻohui ʻia, ma muli o Blink, ke kūkulu ʻia nei ka pono blinkenlights, e hāʻawi ana i kahi kikowaena no ka nānā ʻana i ka holomua o ka hoʻokō ʻana o ka papahana a me ka nānā ʻana i nā mea o ka hoʻomanaʻo. Hiki ke hoʻohana ʻia ka mea hoʻohana ma ke ʻano he debugger e kākoʻo ana i ke ʻano reverse-debugging a hiki iā ʻoe ke neʻe i hope i ka mōʻaukala hoʻokō a hoʻi i kahi wahi i hana mua ʻia. Hoʻokumu ʻia ka papahana e ka mea kākau o nā hanana e like me ka Cosmopolitan C hale waihona puke, kahi awa o ka ʻōnaehana hoʻokaʻawale hoʻohiki no Linux a me ka Redbean universal executable file system.

ʻO ka hoʻokuʻu mua ʻana o Blink, kahi emulator x86-64 kiʻekiʻe


Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka