āĻŦā§āĻ˛āĻŋāĻā§āĻ āĻĒā§āĻ°āĻā§āĻā§āĻā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯ āĻ°āĻŋāĻ˛āĻŋāĻ āĻĒā§āĻ°āĻāĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§, āĻāĻāĻāĻŋ x86-64 āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ° āĻāĻŽā§āĻ˛ā§āĻāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¯āĻž āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻāĻāĻŋ āĻāĻŽā§āĻ˛ā§āĻā§āĻĄ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ° āĻ¸āĻš āĻāĻžāĻ°ā§āĻā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§āĻļāĻŋāĻ¨ā§ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§āĻ˛ āĻāĻŦāĻ āĻāĻ¤āĻŋāĻļā§āĻ˛āĻāĻžāĻŦā§ āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻ ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻā§āĻļāĻ¨ āĻāĻžāĻ˛āĻžāĻ¨ā§āĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻ¯āĻŧāĨ¤ āĻŦā§āĻ˛āĻŋāĻā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§, x86-64 āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻ°āĻž āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻā§āĻ˛āĻŋ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ POSIX-āĻ¸āĻŽā§āĻŽāĻ¤ āĻ āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§ (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻšāĻžāĻ°ā§āĻĄāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻāĻ°ā§āĻāĻŋāĻā§āĻāĻāĻžāĻ°ā§āĻ° (x86, ARM, RISC-V, MIPS) āĻ¸āĻžāĻĨā§ āĻšāĻžāĻ°ā§āĻĄāĻāĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ , āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ°āĻĒāĻŋāĻ¸āĻŋ, s390x)āĨ¤ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻā§āĻĄ C (ANSI C11) āĻ¤ā§ āĻ˛ā§āĻāĻž āĻāĻŦāĻ ISC āĻ˛āĻžāĻāĻ¸ā§āĻ¨ā§āĻ¸ā§āĻ° āĻ āĻ§ā§āĻ¨ā§ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¤āĻžāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° libc (POSIX.1-2017) āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§ˇ
āĻāĻžāĻ°ā§āĻ¯āĻāĻžāĻ°āĻŋāĻ¤āĻžāĻ° āĻĒāĻ°āĻŋāĻĒā§āĻ°ā§āĻā§āĻˇāĻŋāĻ¤ā§, āĻŦā§āĻ˛āĻŋāĻā§āĻ qemu-x86_64 āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĻā§āĻļā§āĻ¯āĻĒā§āĻ°ā§āĻŖ, āĻ¤āĻŦā§ āĻāĻ°āĻ āĻāĻŽāĻĒā§āĻ¯āĻžāĻā§āĻ āĻĄāĻŋāĻāĻžāĻāĻ¨ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻāĻ˛ā§āĻ˛ā§āĻāĻ¯ā§āĻā§āĻ¯ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻŦā§āĻĻā§āĻ§āĻŋāĻ¤ā§ QEMU āĻĨā§āĻā§ āĻāĻ˛āĻžāĻĻāĻžāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻŦā§āĻ˛āĻŋāĻā§āĻ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛ āĻĢāĻžāĻāĻ˛āĻāĻŋ qemu-x221_115-āĻāĻ° āĻāĻ¨ā§āĻ¯ 4 MB-āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 86 KB (āĻāĻāĻāĻŋ āĻāĻžāĻāĻāĻž āĻŦāĻŋāĻ˛ā§āĻĄ āĻ¸āĻš - 64 KB) āĻ¨ā§āĻ¯āĻŧ āĻāĻŦāĻ āĻāĻŋāĻā§ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ¯āĻŧ āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻ¯ā§āĻŽāĻ¨ GCC āĻāĻŽā§āĻ˛ā§āĻāĻ°ā§ āĻāĻžāĻ˛āĻžāĻ¨ā§ āĻāĻŦāĻ āĻāĻžāĻŖāĻŋāĻ¤āĻŋāĻ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻāĻ°āĻž, āĻāĻāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻĻā§āĻāĻŦāĻžāĻ° QEMU āĻā§ āĻāĻžāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤
āĻāĻā§āĻ āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻ¤ā§, āĻāĻāĻāĻŋ JIT āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž āĻĢā§āĻ˛āĻžāĻāĻ¤ā§ āĻ˛āĻā§āĻˇā§āĻ¯ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻāĻĢāĻ°ā§āĻŽā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ¤ā§āĻ¸ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§āĻā§ āĻŽā§āĻļāĻŋāĻ¨ āĻā§āĻĄā§ āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻ°ā§āĨ¤ ELF, PE (āĻĒā§āĻ°ā§āĻā§āĻŦāĻ˛ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛) āĻāĻŦāĻ āĻŦāĻŋāĻ¨ (āĻĢā§āĻ˛ā§āĻ¯āĻžāĻ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛) āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻā§ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛ āĻĢāĻžāĻāĻ˛ā§āĻ° āĻāĻŽā§āĻ˛ā§āĻāĻ°ā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ˛āĻā§āĻ, āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ¸āĻŋ āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻ¸āĻŽā§āĻĒāĻ˛āĻŋāĻāĻžāĻ¨, āĻā§āĻ˛āĻŋāĻŦāĻ¸āĻŋ āĻāĻŦāĻ āĻŽā§āĻ¸āĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻāĻāĻ˛āĻŋāĻ¤, āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤āĨ¤ i180, i600, SSE86, x8086_386, SSE2, SSSE86, CLMUL, POPCNT, ADX, BMI64 (MULX, PDEP, PEXT, REDSEDDR), X3, CLMUL, POPCNT, ADX, BMI3 (MULX, PDEP, PEXT), X2_87-āĻā§ āĻāĻāĻžāĻ° āĻāĻ°ā§ XNUMX Linux āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻāĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻŦāĻ āĻĒā§āĻ°āĻžāĻ¯āĻŧ XNUMX xXNUMX āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻžāĻŦāĻ˛ā§āĻ° āĻ āĻ¨ā§āĻāĻ°āĻŖ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻ¸ā§āĻ āĻāĻŦāĻ RDTSCP.
āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤āĻāĻžāĻŦā§, āĻŦā§āĻ˛āĻŋāĻā§āĻā§āĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§, āĻŦā§āĻ˛āĻŋāĻā§āĻā§āĻ¨āĻ˛āĻžāĻāĻ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻā§āĻā§, āĻ¯āĻž āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻļāĻ¨ā§āĻ° āĻĻā§āĻļā§āĻ¯āĻžāĻ¯āĻŧāĻ¨ āĻāĻŦāĻ āĻŽā§āĻŽāĻ°āĻŋāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŦāĻ¸ā§āĻ¤ā§ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋāĻāĻŋ āĻāĻāĻāĻŋ āĻĄāĻŋāĻŦāĻžāĻāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻž āĻŦāĻŋāĻĒāĻ°ā§āĻ¤-āĻĄāĻŋāĻŦāĻžāĻāĻŋāĻ āĻŽā§āĻĄāĻā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻŽā§āĻ¤ā§āĻ¯ā§āĻĻāĻ¨ā§āĻĄā§āĻ° āĻāĻ¤āĻŋāĻšāĻžāĻ¸ā§ āĻĢāĻŋāĻ°ā§ āĻ¯ā§āĻ¤ā§ āĻāĻŦāĻ āĻĒā§āĻ°ā§āĻŦā§ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻāĻ°āĻž āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻā§ āĻĢāĻŋāĻ°ā§ āĻ¯ā§āĻ¤ā§ āĻĻā§āĻ¯āĻŧāĨ¤ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒāĻāĻŋ āĻ¸āĻŋ-āĻ˛āĻžāĻāĻŦā§āĻ°ā§āĻ°āĻŋ āĻāĻ¸āĻŽā§āĻĒāĻ˛āĻŋāĻāĻžāĻ¨, āĻ˛āĻŋāĻ¨āĻžāĻā§āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻŦāĻŋāĻā§āĻāĻŋāĻ¨ā§āĻ¨āĻāĻ°āĻŖ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻ āĻāĻŦāĻ āĻ°ā§āĻĄāĻŦāĻŋāĻ¨ āĻāĻāĻ¨āĻŋāĻāĻžāĻ°ā§āĻ¸āĻžāĻ˛ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻā§āĻŦāĻ˛ āĻĢāĻžāĻāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻŽāĻ¤ā§ āĻŦāĻŋāĻāĻžāĻļā§āĻ° āĻ˛ā§āĻāĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻ¤ā§āĻ¸: opennet.ru