ืžื”ื“ื•ืจื” ืจืืฉื•ื ื” ืฉืœ Blink, ืืžื•ืœื˜ื•ืจ x86-64 ื‘ืขืœ ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื

ืคื•ืจืกื ื”ืžื”ื“ื•ืจื” ื”ืžืฉืžืขื•ืชื™ืช ื”ืจืืฉื•ื ื” ืฉืœ ืคืจื•ื™ืงื˜ Blink, ืœืคื™ืชื•ื— ืืžื•ืœื˜ื•ืจ ืฉืœ ืžืขื‘ื“ื™ x86-64 ื”ืžืืคืฉืจ ืœื”ืจื™ืฅ ื™ื™ืฉื•ืžื™ ืœื™ื ื•ืงืก ื‘ื ื•ื™ื™ื ืกื˜ื˜ื™ืช ื•ื“ื™ื ืžื™ืช ื‘ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช ืขื ืžืขื‘ื“ ืืžื•ืœืฆื™ื”. ืขื Blink, ื ื™ืชืŸ ืœื”ืคืขื™ืœ ืชื•ื›ื ื™ื•ืช ืœื™ื ื•ืงืก ืฉื”ื™ื“ื•ืจ ืขื‘ื•ืจ ืืจื›ื™ื˜ืงื˜ื•ืจืช x86-64 ืขืœ ืžืขืจื›ื•ืช ื”ืคืขืœื” ืื—ืจื•ืช ืชื•ืืžื•ืช POSIX (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) ื•ืขืœ ืฆื™ื•ื“ ืขื ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช ื—ื•ืžืจื” ืื—ืจื•ืช (x86, ARM, RISC-V, MIPS , PowerPC, s390x). ืงื•ื“ ื”ืคืจื•ื™ืงื˜ ื›ืชื•ื‘ ื‘ืฉืคืช C (ANSI C11) ื•ืžื•ืคืฅ ืชื—ืช ืจื™ืฉื™ื•ืŸ ISC. ืžื‘ื™ืŸ ื”ืชืœื•ืช, ื ื“ืจืฉ ืจืง libc (POSIX.1-2017).

ืžื‘ื—ื™ื ืช ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช, Blink ื“ื•ืžื” ืœืคืงื•ื“ืช qemu-x86_64, ืืš ืฉื•ื ื” ืž-QEMU ื‘ืขื™ืฆื•ื‘ ื”ืงื•ืžืคืงื˜ื™ ื™ื•ืชืจ ื•ื‘ืขืœื™ื™ื” ืžืฉืžืขื•ืชื™ืช ื‘ื‘ื™ืฆื•ืขื™ื. ืœื“ื•ื’ืžื”, ืงื•ื‘ืฅ ื”ื”ืคืขืœื” ืฉืœ Blink ืชื•ืคืก ืจืง 221 KB (ืขื ืžื‘ื ื” ืžื•ืคืฉื˜ - 115 KB) ื‘ืžืงื•ื 4 MB ืขื‘ื•ืจ qemu-x86_64, ื•ื‘ื‘ื“ื™ืงื•ืช ืžืกื•ื™ืžื•ืช, ื›ืžื• ืจื™ืฆื” ื‘ืืžื•ืœื˜ื•ืจ GCC ื•ื‘ื™ืฆื•ืข ืคืขื•ืœื•ืช ืžืชืžื˜ื™ื•ืช, ื”ื•ื ืžืชืขืœื” ืขืœ ื‘ื™ืฆื•ืขื™ื• QEMU ื‘ืขืจืš ืคื™ ืฉื ื™ื™ื.

ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืžื”ื“ืจ JIT, ื”ืžืžื™ืจ ื”ื•ืจืื•ืช ืžืงื•ืจ ืชื•ืš ื›ื“ื™ ืชื ื•ืขื” ืœืงื•ื“ ืžื›ื•ื ื” ืขื‘ื•ืจ ืคืœื˜ืคื•ืจืžืช ื”ื™ืขื“. ื”ืืžื•ืœื˜ื•ืจ ืชื•ืžืš ื‘ื”ืฉืงื” ื™ืฉื™ืจื” ืฉืœ ืงื‘ืฆื™ ื”ืคืขืœื” ื‘ืคื•ืจืžื˜ื™ื ELF, PE (Portable Executables) ื•-bin (Flat ื”ืคืขืœื”), ื”ื™ื“ื•ืจ ืขื ืกืคืจื™ื•ืช C ื”ืกื˜ื ื“ืจื˜ื™ื•ืช Cosmopolitan, Glibc ื•-Musl. ืชืžื™ื›ื” ืžื•ื‘ื ื™ืช ืขื‘ื•ืจ 180 ืฉื™ื—ื•ืช ืžืขืจื›ืช ืœื™ื ื•ืงืก ื•ืืžื•ืœืฆื™ื” ืฉืœ ื›-600 ื”ื•ืจืื•ืช ืžืขื‘ื“ x86 ื”ืžื›ืกื•ืช i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87, RDRND, . ืขืจื›ื•ืช ื”ื•ืจืื•ืช ื•-RDTSCP.

ื‘ื ื•ืกืฃ, ื‘ื”ืชื‘ืกืก ืขืœ Blink, ืžืคื•ืชื— ื›ืœื™ ื”ืฉื™ืจื•ืช blinkenlights, ื”ืžืกืคืง ืžืžืฉืง ืœื”ื“ืžื™ื” ืฉืœ ื”ืชืงื“ืžื•ืช ื‘ื™ืฆื•ืข ื”ืชื•ื›ื ื™ืช ื•ื ื™ืชื•ื— ืชื•ื›ืŸ ื”ื–ื™ื›ืจื•ืŸ. ื”ืฉื™ืจื•ืช ื™ื›ื•ืœ ืœืฉืžืฉ ื›-debugger ืฉืชื•ืžืš ื‘ืžืฆื‘ ื ื™ืคื•ื™ ื”ืคื•ืš ื•ืžืืคืฉืจ ืœืš ืœื—ื–ื•ืจ ืื—ื•ืจื” ื‘ื”ื™ืกื˜ื•ืจื™ื™ืช ื”ื‘ื™ืฆื•ืข ื•ืœื—ื–ื•ืจ ืœื ืงื•ื“ื” ืฉื‘ื•ืฆืขื” ืงื•ื“ื ืœื›ืŸ. ื”ืคืจื•ื™ืงื˜ ืคื•ืชื— ืขืœ ื™ื“ื™ ืžื—ื‘ืจื ืฉืœ ืคื™ืชื•ื—ื™ื ื›ื’ื•ืŸ ืกืคืจื™ื™ืช Cosmopolitan C, ื™ืฆื™ืื” ืœืžื ื’ื ื•ืŸ ื‘ื™ื“ื•ื“ ื”ื”ื‘ื˜ื—ื•ืช ืขื‘ื•ืจ ืœื™ื ื•ืงืก ื•ืžืขืจื›ืช ื”ืงื‘ืฆื™ื ื”ืื•ื ื™ื‘ืจืกืœื™ืช ืฉืœ Redbean.

ืžื”ื“ื•ืจื” ืจืืฉื•ื ื” ืฉืœ Blink, ืืžื•ืœื˜ื•ืจ x86-64 ื‘ืขืœ ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื


ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”