MirageOS 3.6 рдХреЛ рд░рд┐рд▓реАрдЬ, рд╣рд╛рдЗрдкрд░рднрд╛рдЗрдЬрд░рдХреЛ рд╢реАрд░реНрд╖рдорд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдЪрд▓рд╛рдЙрдиреЗ рдкреНрд▓реЗрдЯрдлрд░реНрдо

рднрдпреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд░рд┐рд▓реАрдЬ рдорд┐рд░рд╛рдЬреЛрд╕ 3.6.реж, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдПрдЙрдЯреИ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдорд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдЬрд╕рдорд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рдПрдХ рд╕реНрд╡-рдирд┐рд╣рд┐рдд "рдпреБрдирд┐рдХрд░реНрдиреЗрд▓" рдХреЛ рд░реВрдкрдорд╛ рдбреЗрд▓рд┐рднрд░ рдЧрд░рд┐рдиреНрдЫ рдЬреБрди рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдорд╣рд░реВ, рдЫреБрдЯреНрдЯреИ OS рдХрд░реНрдиреЗрд▓ рд░ рдХреБрдиреИ рдкрдирд┐ рддрд╣рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдирдЧрд░реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред OCaml рднрд╛рд╖рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддрд░рд┐рдд рдирд┐: рд╢реБрд▓реНрдХ ISC рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрддред

рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдордорд╛ рдирд┐рд╣рд┐рдд рд╕рдмреИ рдирд┐рдореНрди-рд╕реНрддрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рд╣рд░реВ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╕рдБрдЧ рдЬреЛрдбрд┐рдПрдХреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпрдХреЛ рд░реВрдкрдорд╛ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫред рдЕрдиреБрдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рдХреБрдиреИ рдкрдирд┐ OS рдорд╛ рд╡рд┐рдХрд╕рд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рддреНрдпрд╕рдкрдЫрд┐ рдпрд╕рд▓рд╛рдИ рд╡рд┐рд╢реЗрд╖ рдХрд░реНрдиреЗрд▓рдорд╛ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░рд┐рдиреНрдЫ (рдЕрд╡рдзрд╛рд░рдгрд╛ рдПрдХрд┐рдХрд░реНрдиреЗрд▓), рдЬреБрди Xen, KVM, BHyve рд░ VMM (OpenBSD) рд╣рд╛рдЗрдкрд░рднрд╛рдЗрдЬрд░рдХреЛ рд╢реАрд░реНрд╖рдорд╛, рдореЛрдмрд╛рдЗрд▓ рдкреНрд▓реЗрдЯрдлрд░реНрдордХреЛ рд╢реАрд░реНрд╖рдорд╛, POSIX-рдЕрдиреБрд░реВрдк рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рд╡рд╛ Amazon Elastic Compute Cloud рд░ Google Compute Engine рдХреНрд▓рд╛рдЙрдб рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рд░реВрдкрдорд╛ рдЪрд▓реНрди рд╕рдХреНрдЫред

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

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

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

  • рдкреГрдердХ рд╡рд╛рддрд╛рд╡рд░рдгрдорд╛ unikernel MirageOS рдЪрд▓рд╛рдЙрдиреЗ рдХреНрд╖рдорддрд╛ рдердкрд┐рдпреЛ spt ("рд╕реНрдпрд╛рдиреНрдбрдмрдХреНрд╕ рдЧрд░рд┐рдПрдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЯреЗрдиреНрдбрд░") рдЯреВрд▓рдХрд┐рдЯ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ Solo5ред spt рдмреНрдпрд╛рдХрдЗрдиреНрдб рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛, MirageOS рдХрд░реНрдиреЗрд▓рд╣рд░реВ рд▓рд┐рдирдХреНрд╕ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВрдорд╛ рдЪрд▓реНрдЫрдиреН рдЬрд╕рдорд╛ seccomp-BPF рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдиреНрдпреВрдирддрдо рдЕрд▓рдЧрд╛рд╡ рд▓рд╛рдЧреВ рд╣реБрдиреНрдЫ;
  • рд╕рдорд░реНрдерди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдпреЛ рдЖрд╡реЗрджрди рдкреНрд░рдХрдЯ Solo5 рдкрд░рд┐рдпреЛрдЬрдирд╛рдмрд╛рдЯ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ hvt, spt рд░ muen рдмреНрдпрд╛рдХрдЗрдиреНрдбрд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдПрдХрд▓рдорд╛ рдПрдХ рдпреБрдирд┐рдХрд░реНрдиреЗрд▓рдорд╛ рдЬреЛрдбрд┐рдПрдХрд╛ рдмрд╣реБ рд╕рдЮреНрдЬрд╛рд▓ рдПрдбреЗрдкреНрдЯрд░рд╣рд░реВ рд░ рднрдгреНрдбрд╛рд░рдг рдпрдиреНрддреНрд░рд╣рд░реВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ (рдЬреЗрдиреЛрдб рд░ рднрд░реНрдЯрд┐рдпреЛ рдмреНрдпрд╛рдХрдПрдиреНрдбрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рд╣рд╛рд▓ рдПрдЙрдЯрд╛ рдпрдиреНрддреНрд░рдорд╛ рд╕реАрдорд┐рдд рдЫ);
  • Solo5 (hvt, spt) рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдмреНрдпрд╛рдХрдЗрдиреНрдбрд╣рд░реВрдХреЛ рд╕реБрд░рдХреНрд╖рд╛ рдмрд▓рд┐рдпреЛ рдмрдирд╛рдЗрдПрдХреЛ рдЫ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, SSP (Stack Smashing Protection) рдореЛрдбрдорд╛ рдмрд┐рд▓реНрдбрд┐рдЩ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди