рдмреНрд▓рд┐рдВрдХ рдХреА рдкрд╣рд▓реА рд░рд┐рд▓реАрдЬрд╝, рдПрдХ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди x86-64 рдПрдореНрдпреВрд▓реЗрдЯрд░

рдмреНрд▓рд┐рдВрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдкрд╣рд▓рд╛ рдкреНрд░рдореБрдЦ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рдПрдХ x86-64 рдкреНрд░реЛрд╕реЗрд╕рд░ рдПрдореБрд▓реЗрдЯрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдПрдореБрд▓реЗрдЯреЗрдб рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдореЗрдВ рд╕реНрдерд┐рд░ рдФрд░ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рд▓рд┐рдирдХреНрд╕ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдмреНрд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде, x86-64 рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рд┐рдд рд▓рд┐рдирдХреНрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЕрдиреНрдп POSIX-рдЕрдиреБрд░реВрдк рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо (macOS, FreeBSD, NetBSD, OpenBSD, Cygwin) рдФрд░ рдЕрдиреНрдп рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ (x86, ARM, RISC-V, MIPS, PowerPC, 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 рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕реНрд░реЛрдд рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рд▓рдХреНрд╖реНрдп рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдорд╢реАрди рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рджреЗрддрд╛ рд╣реИред рдорд╛рдирдХ C рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ рдХреЙрд╕реНрдореЛрдкреЙрд▓рд┐рдЯрди, рдЧреНрд▓рд┐рдмрдХ рдФрд░ рдореБрд╕рд▓ рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд ELF, PE (рдкреЛрд░реНрдЯреЗрдмрд▓ рдПрдХреНрдЬреАрдХреНрдпреВрдЯреЗрдмрд▓реНрд╕) рдФрд░ рдмрд┐рди (рдлреНрд▓реИрдЯ рдПрдХреНрдЬреАрдХреНрдпреВрдЯреЗрдмрд▓реНрд╕) рдкреНрд░рд╛рд░реВрдкреЛрдВ рдореЗрдВ рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдПрдХреНрдЬреАрдХреНрдпреВрдЯреЗрдмрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕реАрдзрд╛ рд▓реЙрдиреНрдЪ рд╕рдорд░реНрдерд┐рдд рд╣реИред 180 рд▓рд┐рдирдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдореВрд▓ рд╕рдорд░реНрдерди рдФрд░ рд▓рдЧрднрдЧ 600 x86 рдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг, рдЬрд┐рд╕рдореЗрдВ i8086, i386, SSE2, x86_64, SSE3, SSSE3, CLMUL, POPCNT, ADX, BMI2 (MULX, PDEP, PEXT), X87, RDRND, RDSEED рдФрд░ RDTSCP рдирд┐рд░реНрджреЗрд╢ рд╕реЗрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдП рдЧрдП рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдмреНрд▓рд┐рдВрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмреНрд▓рд┐рдВрдХрдирд▓рд╛рдЗрдЯреНрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ, рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдкреНрд░рдЧрддрд┐ рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ рдореЗрдореЛрд░реА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рдЗрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдбрд┐рдмрдЧрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд░рд┐рд╡рд░реНрд╕-рдбрд┐рдмрдЧрд┐рдВрдЧ рдореЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рдкреАрдЫреЗ рдЬрд╛рдиреЗ рддрдерд╛ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдмрд┐рдВрджреБ рдкрд░ рд▓реМрдЯрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдХреЙрд╕реНрдореЛрдкреЙрд▓рд┐рдЯрди рд╕реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА, рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд▓реЗрдЬ рдЖрдЗрд╕реЛрд▓реЗрд╢рди рдореИрдХреЗрдирд┐рдЬреНрдо рдХрд╛ рдкреЛрд░реНрдЯ, рддрдерд╛ рд░реЗрдбрдмреАрди рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рдПрдХреНрдЬреАрдХреНрдпреВрдЯреЗрдмрд▓ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдЬреИрд╕реЗ рд╡рд┐рдХрд╛рд╕реЛрдВ рдХреЗ рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

 рдмреНрд▓рд┐рдВрдХ рдХреА рдкрд╣рд▓реА рд░рд┐рд▓реАрдЬрд╝, рдПрдХ рдЙрдЪреНрдЪ рдкреНрд░рджрд░реНрд╢рди x86-64 рдПрдореНрдпреВрд▓реЗрдЯрд░


рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ