Ukukhishwa kokuqala kwe-Blink, i-emulator esebenza kahle kakhulu ye-x86-64

Ukukhishwa kokuqala okubalulekile kwephrojekthi ye-Blink kushicilelwe, kwakhiwa i-emulator yama-x86-64 processors akuvumela ukuthi usebenzise izinhlelo zokusebenza ze-Linux ezakhiwe ngendlela emile futhi eguquguqukayo emshinini obonakalayo onephrosesa elingisiwe. Nge-Blink, izinhlelo ze-Linux ezihlanganiselwe ukwakhiwa kwe-x86-64 zingaqhutshwa kwezinye izinhlelo zokusebenza ezihambisana ne-POSIX (i-macOS, i-FreeBSD, i-NetBSD, i-OpenBSD, i-Cygwin) nakwimishini enezinye izakhiwo zehadiwe (x86, ARM, RISC-V, MIPS , PowerPC, s390x). Ikhodi yephrojekthi ibhalwe ngolimi C (ANSI C11) futhi isatshalaliswa ngaphansi kwelayisensi ye-ISC. Kokuncika, i-libc kuphela (POSIX.1-2017) edingekayo.

Mayelana nokusebenza, i-Blink ifana nomyalo we-qemu-x86_64, kodwa ihlukile ku-QEMU ngomklamo wayo ohlangene kanye nokwenyuka kokusebenza okuphawulekayo. Isibonelo, i-Blink esebenzisekayo ithatha kuphela u-221 KB (enebhilidi elikhishiwe - 115 KB) esikhundleni sika-4 MB ku-qemu-x86_64, futhi kwezinye izivivinyo, njengokusebenzisa ifanisi ye-GCC nokwenza imisebenzi yezibalo, idlula kahle kakhulu. QEMU cishe izikhathi ezimbili.

Ukuqinisekisa ukusebenza okuphezulu, kusetshenziswa i-JIT compiler, eguqula imiyalelo yomthombo endizeni ibe ikhodi yomshini yesikhulumi esiqondiwe. I-emulator isekela ukwethulwa okuqondile kwamafayela asebenzisekayo kumafomethi we-ELF, PE (Portable Executables) kanye ne-bin (Flat executable), ehlanganiswe nemitapo yolwazi evamile ye-C ethi Cosmopolitan, Glibc ne-Musl. Usekelo olwakhelwe ngaphakathi lwamakholi wesistimu ye-Linux engu-180 kanye nokulingisa imiyalelo yokucubungula engu-600 x86 ehlanganisa i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87, RDSEEDDR iziyalezo amasethi kanye RDTSCP.

Ukwengeza, ngokusekelwe ku-Blink, insiza yokukhanyisa iyathuthukiswa, enikeza isixhumi esibonakalayo sokubuka inqubekelaphambili yokwenziwa kohlelo nokuhlaziya okuqukethwe yinkumbulo. Insiza ingasetshenziswa njenge-debugger esekela imodi yokuhlehla yokulungisa iphutha futhi ikuvumela ukuthi ubuyele emuva kumlando wokusebenzisa futhi ubuyele endaweni esetshenziswe ngaphambilini. Le phrojekthi ithuthukiswe umbhali wentuthuko efana nomtapo wezincwadi we-Cosmopolitan C, ichweba lendlela yokuhlukanisa isibambiso ye-Linux kanye nesistimu yefayela esebenzisekayo yomhlaba wonke ye-Redbean.

Ukukhishwa kokuqala kwe-Blink, i-emulator esebenza kahle kakhulu ye-x86-64


Source: opennet.ru

Engeza amazwana