рд╣рд╛рдЗрдкрд░рд╡рд╛рдЗрдЬрд╝рд░ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо, рдорд┐рд░рд╛рдЬрдУрдПрд╕ 3.6 рдХрд╛ рд░рд┐рд▓реАрдЬрд╝

рд╣реБрдЖ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд┐рдореЛрдЪрди рдорд┐рд░рд╛рдЬреЛрд╕ 3.6, рдЬреЛ рдЖрдкрдХреЛ рдПрдХрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдПрдХ рд╕реНрд╡-рдирд┐рд╣рд┐рдд "рдпреВрдирд┐рдХрд░реНрдиреЗрд▓" рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо, рдПрдХ рдЕрд▓рдЧ рдУрдПрд╕ рдХрд░реНрдиреЗрд▓ рдФрд░ рдХрд┐рд╕реА рднреА рдкрд░рдд рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд┐рдирд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред OCaml рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддрд░рд┐рдд рдирд┐рдГрд╢реБрд▓реНрдХ рдЖрдИрдПрд╕рд╕реА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рддред

рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдирд┐рд╣рд┐рдд рд╕рднреА рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдПрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдЬреБрдбрд╝реА рд╣реЛрддреА рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХрд┐рд╕реА рднреА рдУрдПрд╕ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрд░реНрдиреЗрд▓ (рдЕрд╡рдзрд╛рд░рдгрд╛) рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЕрдХрд╛рдЯреНрдп), рдЬреЛ рд╕реАрдзреЗ Xen, KVM, BHyve рдФрд░ VMM (OpenBSD) рд╣рд╛рдЗрдкрд░рд╡рд╛рдЗрдЬрд░реНрд╕ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░, рдореЛрдмрд╛рдЗрд▓ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд╢реАрд░реНрд╖ рдкрд░, POSIX-рдЕрдиреБрд░реВрдк рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╛ рдЕрдореЗрдЬрд╝реЕрди рдЗрд▓рд╛рд╕реНрдЯрд┐рдХ рдХрдВрдкреНрдпреВрдЯ рдХреНрд▓рд╛рдЙрдб рдФрд░ Google рдХрдВрдкреНрдпреВрдЯ рдЗрдВрдЬрди рдХреНрд▓рд╛рдЙрдб рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред

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

рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп OCaml рднрд╛рд╖рд╛ рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ рд╣реИрдВ, рдкрд░рд┐рдгрд╛рдореА рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдиреНрдпреВрдирддрдо рдЖрдХрд╛рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, DNS рд╕рд░реНрд╡рд░ рдХреЗрд╡рд▓ 200 KB рд▓реЗрддрд╛ рд╣реИ)ред рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рд░рдЦрд░рдЦрд╛рд╡ рднреА рд╕рд░рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрджрд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдирдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдмрдирд╛рдиреЗ рдФрд░ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдХрдИ рджрд░реНрдЬрди рдкреБрд╕реНрддрдХрд╛рд▓рдп OCaml рднрд╛рд╖рд╛ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрдЪрд╛рд▓рди (DNS, SSH, OpenFlow, HTTP, XMPP, рдЖрджрд┐) рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рд╕рдорд╛рдирд╛рдВрддрд░ рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдирдИ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдореБрдЦреНрдп рдкрд░рд┐рд╡рд░реНрддрди рдЯреВрд▓рдХрд┐рдЯ рдореЗрдВ рджреА рдЧрдИ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ рд╕реЛрд▓реЛ5 0.6.0 (рдпреВрдиреАрдХрд░реНрдиреЗрд▓ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реИрдВрдбрдмреЙрдХреНрд╕ рд╡рд╛рддрд╛рд╡рд░рдг):

  • рдПрдХ рдкреГрдердХ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдпреВрдирд┐рдХрд░реНрдиреЗрд▓ рдорд┐рд░рд╛рдЬрдУрдПрд╕ рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реА рдЧрдИ SPT ("рд╕реИрдВрдбрдмреЙрдХреНрд╕реНрдб рдкреНрд░реЛрд╕реЗрд╕ рдЯреЗрдВрдбрд░") рдЯреВрд▓рдХрд┐рдЯ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ Solo5. рдПрд╕рдкреАрдЯреА рдмреИрдХрдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдорд┐рд░рд╛рдЬрдУрдПрд╕ рдХрд░реНрдиреЗрд▓ рд▓рд┐рдирдХреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ seccomp-BPF рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдиреНрдпреВрдирддрдо рдЕрд▓рдЧрд╛рд╡ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ;
  • рд╕рдорд░реНрдерди рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЖрд╡реЗрджрди рдкреНрд░рдХрдЯ рд╕реЛрд▓реЛ5 рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ, рдЬреЛ рдЖрдкрдХреЛ рдПрдЪрд╡реАрдЯреА, рдПрд╕рдкреАрдЯреА рдФрд░ рдореНрдпреВрдПрди рдмреИрдХрдПрдВрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрд▓рдЧрд╛рд╡ рдореЗрдВ рдПрдХ рдпреВрдирд┐рдХрд░реНрдиреЗрд▓ рд╕реЗ рдЬреБрдбрд╝реЗ рдХрдИ рдиреЗрдЯрд╡рд░реНрдХ рдПрдбреЗрдкреНрдЯрд░ рдФрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдЬреАрдиреЛрдб рдФрд░ рд╡рд░реНрдЯрд┐рдпреЛ рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рдбрд┐рд╡рд╛рдЗрд╕ рддрдХ рд╕реАрдорд┐рдд рд╣реИ);
  • рд╕реЛрд▓реЛ5 (рдПрдЪрд╡реАрдЯреА, рдПрд╕рдкреАрдЯреА) рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдмреИрдХрдПрдВрдб рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдордЬрдмреВрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрд╕рдПрд╕рдкреА (рд╕реНрдЯреИрдХ рд╕реНрдореИрд╢рд┐рдВрдЧ рдкреНрд░реЛрдЯреЗрдХреНрд╢рди) рдореЛрдб рдореЗрдВ рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╣реИред

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

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