A’ chiad fhoillseachadh de Blink, emuladair x86-64 àrd-choileanadh

Chaidh a’ chiad fhoillseachadh cudromach den phròiseact Blink fhoillseachadh, a’ leasachadh emuladair pròiseasar x86-64 a leigeas leat tagraidhean Linux a chaidh a thogail gu statach agus gu dinamach a ruith ann an inneal brìgheil le pròiseasar emulated. A’ cleachdadh Blink, faodar prògraman Linux a chaidh a chur ri chèile airson ailtireachd x86-64 a ruith air siostaman obrachaidh eile a tha a’ gèilleadh ri POSIX (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) agus air bathar-cruaidh le ailtireachd bathar-cruaidh eile (x86, ARM, RISC-V, MIPS, PowerPC, s390x). Tha còd a’ phròiseict sgrìobhte ann an C (ANSI C11) agus air a chuairteachadh fo chead ISC. De na h-eisimeileachd, chan eil feum air ach libc (POSIX.1-2017).

A thaobh comas-gnìomh, tha Blink coltach ris an àithne qemu-x86_64, ach tha e eadar-dhealaichte bho QEMU ann an dealbhadh nas toinnte agus àrdachadh coileanaidh cudromach. Mar eisimpleir, cha toir am faidhle so-ghnìomhaichte Blink ach 221 KB (le togail truncated - 115 KB) an àite 4 MB airson qemu-x86_64, agus a thaobh coileanadh ann an cuid de dheuchainnean, leithid ruith san emuladair GCC agus coileanadh obrachaidhean matamataigeach, bidh e a’ dol seachad air QEMU timcheall air dà uair.

Gus dèanamh cinnteach à àrd-choileanadh, thèid inneal-cruinneachaidh JIT a chleachdadh, a thionndaidheas stiùireadh stòr gu còd inneal airson an àrd-ùrlar targaid air an itealan. Thathas a’ toirt taic do chur air bhog dìreach ann an emuladair fhaidhlichean so-ghnìomhaichte anns na cruthan ELF, PE (Portable Executables) agus bin (Flat executable), air an cur ri chèile leis na leabharlannan àbhaisteach C Cosmopolitan, Glibc agus Musl. Tha taic dhùthchasach airson gairmean siostam 180 Linux agus aithris mu stiùireadh pròiseasar 600 x86 air a bhuileachadh, a’ còmhdach na seataichean stiùiridh i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87, RDCPED, agus

A bharrachd air an sin, air bunait Blink, thathas a’ leasachadh goireas blinkenlights, a bheir seachad eadar-aghaidh airson coileanadh a’ phrògraim fhaicinn agus sgrùdadh a dhèanamh air susbaint na cuimhne. Faodar an goireas a chleachdadh mar dhì-bhugadair a bheir taic don mhodh deasbaid cùil (Reverse-Debugging) agus a leigeas leat gluasad air ais san eachdraidh cur gu bàs agus tilleadh gu puing a chaidh a chuir gu bàs roimhe. Tha am pròiseact air a leasachadh le ùghdar leasachaidhean leithid an C-library Cosmopolitan, port den uidheamachd aonaranachd gealltanas airson Linux, agus siostam faidhle so-ghnìomhaichte uile-choitcheann Redbean.

A’ chiad fhoillseachadh de Blink, emuladair x86-64 àrd-choileanadh


Source: fosgailtenet.ru

Cuir beachd ann