рдмреЗрдЕрд░рдлреНрд▓рдБрдХ 2.0 рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░ рд░рд┐рд▓реАрдЬ

рдЬрд╛рдЧрд╛ рдШреЗрддрд▓реА рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░ рд░рд┐рд▓реАрдЭ рдмреЗрдЕрд░рдлреНрд▓рдБрдХ 2.0, рдЬреЗ рд╡рд┐рд╢реЗрд╖ рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░рдЪреНрдпрд╛ рдЬрд▓рдж рд╡рд┐рдХрд╛рд╕рд╛рд╕рд╛рдареА рд╕рд╛рдзрдиреЗ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рдмреЗрдЕрд░рдлреНрд▓рдБрдХ C++ рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ C++ STL рдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ. рдмреЗрдЕрд░рдлреНрд▓рдБрдХрдЪреЗ рдореЙрдбреНрдпреВрд▓рд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░рдЪреНрдпрд╛ рд╡рд┐рджреНрдпрдорд╛рди рдХреНрд╖рдорддрд╛рдВрдЪрд╛ рд╕рд╣рдЬ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЖрдгрд┐ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░рдЪреНрдпрд╛ рд╢реАрд░реНрд╖рд╕реНрдерд╛рдиреА (Xen рд╕рд╛рд░рдЦреНрдпрд╛) рдЖрдгрд┐ рд╡рд┐рджреНрдпрдорд╛рди рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд (рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓рдмреЙрдХреНрд╕ рд╕рд╛рд░рдЦреНрдпрд╛) рдЪрд╛рд▓рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░рдЪреНрдпрд╛ рдЖрдкрд▓реНрдпрд╛ рд╕реНрд╡рддрдГрдЪреНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрдИрд▓. рд╡реЗрдЧрд│реНрдпрд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирдордзреНрдпреЗ рд╣реЛрд╕реНрдЯ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдЪреА рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдЪрд╛рд▓рд╡рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ. рдкреНрд░рдХрд▓реНрдк рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рд╡рд┐рддрд░рд┐рдд LGPL 2.1 рдЕрдВрддрд░реНрдЧрдд рдкрд░рд╡рд╛рдирд╛рдХреГрдд.

рдмреЗрдЕрд░рдлреНрд▓рдБрдХ 64-рдмрд┐рдЯ рдЗрдВрдЯреЗрд▓ CPU рд╡рд░ Linux, Windows рдЖрдгрд┐ UEFI рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ. Intel VT-x рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪрд╛ рд╡рд╛рдкрд░ рдЖрднрд╛рд╕реА рдорд╢реАрди рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреНрдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рд╢реЗрдЕрд░рд┐рдВрдЧрд╕рд╛рдареА рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. macOS рдЖрдгрд┐ BSD рд╕рд┐рд╕реНрдЯреАрдорд╕рд╛рдареА рд╕рдорд░реНрдерди рднрд╡рд┐рд╖реНрдпрд╛рд╕рд╛рдареА рдирд┐рдпреЛрдЬрд┐рдд рдЖрд╣реЗ, рддрд╕реЗрдЪ ARM64 рдЖрдгрд┐ AMD рдкреНрд▓реЕрдЯрдлреЙрд░реНрдорд╡рд░ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдкреНрд░рдХрд▓реНрдк VMM (рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рдореЕрдиреЗрдЬрд░) рд▓реЛрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрд╡рддрдГрдЪрд╛ рдбреНрд░рд╛рдпрд╡реНрд╣рд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдд рдЖрд╣реЗ, VVM рдореЙрдбреНрдпреВрд▓ рд▓реЛрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ ELF рд▓реЛрдбрд░ рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдЬрд╛рдЧреЗрд╡рд░реВрди рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ bfm рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдд рдЖрд╣реЗ. рд╣реЗ C++ 11/14 рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рдиреНрд╕рдордзреНрдпреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдШрдЯрдХрд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рд╡рд┐рд╕реНрддрд╛рд░ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд╛рдзрдиреЗ рдкреНрд░рджрд╛рди рдХрд░рддреЗ, рдЕрдкрд╡рд╛рдж рд╕реНрдЯреЕрдХ рдЕрдирд╡рд╛рдЗрдВрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА (рдЕрдирд╡рд╛рдЗрдВрдб) рд▓рд╛рдпрдмреНрд░рд░реА рддрд╕реЗрдЪ рдХрдиреНрд╕реНрдЯреНрд░рдХреНрдЯрд░/рдбрд┐рд╕реНрдЯреНрд░рдХреНрдЯрд░реНрд╕рдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рд╕ рд╕рдорд░реНрдерди рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдЕрдкрд╡рд╛рдж рд╣рдБрдбрд▓рд░реНрд╕рдЪреА рдиреЛрдВрджрдгреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрд╡рддрдГрдЪреА рд░рдирдЯрд╛рдЗрдо рд▓рд╛рдпрдмреНрд░рд░реА рдкреНрд░рджрд╛рди рдХрд░рддреЗ.

рдмреЗрдЕрд░рдлреНрд▓рдБрдХрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрднрд╛рд╕реАрдХрд░рдг рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реА рдЬрд╛рдд рдЖрд╣реЗ рдмреЙрдХреНрд╕реА, рдЬреЗ рдЕрддрд┐рдереА рдкреНрд░рдгрд╛рд▓реА рдЪрд╛рд▓рд╡рдгреНрдпрд╛рд╕ рд╕рдорд░реНрдерди рджреЗрддреЗ рдЖрдгрд┐ рд╡рд┐рд╢реЗрд╖ рд╕реЗрд╡рд╛ рдХрд┐рдВрд╡рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЪрд╛рд▓рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА Linux рдЖрдгрд┐ Unikernel рд╕рд╣ рд▓рд╛рдЗрдЯрд╡реЗрдЯ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрди рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рдкреГрдердХ рд╕реЗрд╡рд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд, рддреБрдореНрд╣реА рд╣реЛрд╕реНрдЯ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдЪреНрдпрд╛ рдкреНрд░рднрд╛рд╡рд╛рдкрд╛рд╕реВрди рдореБрдХреНрдд (рд╣реЛрд╕реНрдЯ рд╡рд╛рддрд╛рд╡рд░рдг рд╡реЗрдЧрд│реНрдпрд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирдордзреНрдпреЗ рд╡реЗрдЧрд│реЗ рдХреЗрд▓реЗ рдЖрд╣реЗ) рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣рддрд╛ рдЖрдгрд┐ рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрд╕рд╛рдареА рд╡рд┐рд╢реЗрд╖ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдирд┐рдпрдорд┐рдд рд╡реЗрдм рд╕реЗрд╡рд╛ рдЖрдгрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рджреЛрдиреНрд╣реА рдЪрд╛рд▓рд╡реВ рд╢рдХрддрд╛.

рдмреЗрдЕрд░рдлреНрд▓рдБрдХ 2.0 рдЪреЗ рдореБрдЦреНрдп рдирд╡рдХрд▓реНрдкрдирд╛:

  • рд╡рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирдордзреНрдпреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯреАрдордЪреНрдпрд╛ рдирдВрддрд░рдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА рдереЗрдЯ UEFI рд╡рд░реВрди рдмреЗрдЕрд░рдлреНрд▓рдБрдХ рд▓рд╛рдБрдЪ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди рдЬреЛрдбрд▓реЗ;
  • рд▓рд┐рдирдХреНрд╕рдордзреАрд▓ SLAB/Buddy рдореЗрдорд░реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХрд╛рдВрдкреНрд░рдорд╛рдгреЗрдЪ рдПрдХ рдирд╡реАрди рдореЗрдорд░реА рдореЕрдиреЗрдЬрд░ рд▓рд╛рдЧреВ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓рд╛ рдЖрд╣реЗ. рдирд╡реАрди рдореЗрдорд░реА рдореЕрдиреЗрдЬрд░ рдХрдореА рдЭрд╛рд▓реЗрд▓реЗ рдлреНрд░реЕрдЧрдореЗрдВрдЯреЗрд╢рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЛ, рдЙрдЪреНрдЪ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд╕рд╛рдареА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ рдЖрдгрд┐ рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░рд▓рд╛ рдбрд╛рдпрдиреЕрдорд┐рдХ рдореЗрдорд░реА рд╡рд╛рдЯрдкрд╛рдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддреЛ bfdriver, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░рдЪрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЖрдХрд╛рд░ рдХрдореА рдХрд░рдгреНрдпрд╛рд╕ рдЖрдгрд┐ CPU рдХреЛрд░рдЪреНрдпрд╛ рд╕рдВрдЦреНрдпреЗрдиреБрд╕рд╛рд░ рдЪрд╛рдВрдЧрд▓реНрдпрд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕реНрдХреЗрд▓ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ;
  • CMake рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдирд╡реАрди рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯреАрдо, рдХрдорд╛рдВрдб рдЗрдВрдЯрд░рдкреНрд░рд┐рдЯрд░рдкрд╛рд╕реВрди рд╕реНрд╡рддрдВрддреНрд░, рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░ рд╕рдВрдХрд▓рдирд╛рдЪреНрдпрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдкреНрд░рд╡реЗрдЧрд╛рд╕рд╛рдареА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ рдЖрдгрд┐ ARM рд╕рд╛рд░рдЦреНрдпрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд╕рд╛рдареА рднрд╡рд┐рд╖реНрдпрд╛рддреАрд▓ рд╕рдорд░реНрдерди рд╕реБрд▓рдн рдХрд░рддреЗ;
  • рдХреЛрдбрдЪреА рдкреБрдирд░реНрд░рдЪрдирд╛ рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ рдЖрдгрд┐ рд╕реНрддреНрд░реЛрдд рдЧреНрд░рдВрдерд╛рдВрдЪреА рд░рдЪрдирд╛ рд╕рд░рд▓реАрдХреГрдд рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ. рдХреЛрдб рдбреБрдкреНрд▓рд┐рдХреЗрд╢рди рди рдХрд░рддрд╛ рд╣рд╛рдпрдкрд░рдХрд░реНрдирд▓ рд╕рд╛рд░рдЦреНрдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╕рд╛рдареА рд╕реБрдзрд╛рд░рд┐рдд рд╕рдорд░реНрдерди. рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рд╡рд┐рднрдХреНрдд рдХреЗрд▓реЗрд▓рд╛ рдХреЛрдб рд╣рд╛рдпрдкрд░рд╡рд╛рдЗрдЬрд░, рдЕрдирд╡рд╛рдЗрдВрдб рд▓рд╛рдпрдмреНрд░рд░реА, рд░рдирдЯрд╛рдЗрдо, рдХрдВрдЯреНрд░реЛрд▓ рдЯреВрд▓реНрд╕, рдмреВрдЯрд▓реЛрдбрд░ рдЖрдгрд┐ SDK;
  • C++ рдордзреАрд▓ рдкреВрд░реНрд╡реА рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рд╡рд╛рд░рд╕рд╛ рдкрджреНрдзрддреАрдРрд╡рдЬреА рдмрд╣реБрддреЗрдХ API рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрд╡рд┐рдЪ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд рдкреНрд░рддрд┐рдирд┐рдзреА рдордВрдбрд│, рдЬреНрдпрд╛рдиреЗ API рд╕рд░рд▓реАрдХреГрдд рдХреЗрд▓реЗ, рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╡рд╛рдврд╡рд▓реЗ тАЛтАЛрдЖрдгрд┐ рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрдореА рдХреЗрд▓рд╛.

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛