ืฉื—ืจื•ืจ ื”ื”ื™ืคืจื•ื•ื™ื–ืจ Bareflank 3.0

ื”-Hypervisor 3.0 ืฉืœ Bareflank ืฉื•ื—ืจืจ, ื”ืžืกืคืง ื›ืœื™ื ืœืคื™ืชื•ื— ืžื”ื™ืจ ืฉืœ ื”ื™ืคืจื•ื•ื™ื–ื•ืจื™ื ืžื™ื•ื—ื“ื™ื. Bareflank ื›ืชื•ื‘ ื‘-C++ ื•ืชื•ืžืš ื‘-C++ STL. ื”ืืจื›ื™ื˜ืงื˜ื•ืจื” ื”ืžื•ื“ื•ืœืจื™ืช ืฉืœ Bareflank ืชืืคืฉืจ ืœืš ืœื”ืจื—ื™ื‘ ื‘ืงืœื•ืช ืืช ื”ื™ื›ื•ืœื•ืช ื”ืงื™ื™ืžื•ืช ืฉืœ ื”ื”ื™ืคืจื•ื•ื™ื–ืจ ื•ืœื™ืฆื•ืจ ื’ืจืกืื•ืช ืžืฉืœืš ืฉืœ ื”ื™ืคืจื•ื•ื™ื–ื•ืจื™ื, ื”ืŸ ืคื•ืขืœื•ืช ืขืœ ื’ื‘ื™ ื—ื•ืžืจื” (ื›ืžื• Xen) ื•ื”ืŸ ืคื•ืขืœื•ืช ื‘ืกื‘ื™ื‘ืช ืชื•ื›ื ื” ืงื™ื™ืžืช (ื›ืžื• VirtualBox). ืืคืฉืจ ืœื”ืคืขื™ืœ ืืช ืžืขืจื›ืช ื”ื”ืคืขืœื” ืฉืœ ื”ืกื‘ื™ื‘ื” ื”ืžืืจื—ืช ื‘ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช ื ืคืจื“ืช. ืงื•ื“ ื”ืคืจื•ื™ืงื˜ ืžื•ืคืฅ ืชื—ืช ืจื™ืฉื™ื•ืŸ LGPL 2.1.

Bareflank ืชื•ืžืš ื‘-Linux, Windows ื•-UEFI ื‘ืžืขื‘ื“ื™ ืื™ื ื˜ืœ ื•-AMD ืฉืœ 64 ืกื™ื‘ื™ื•ืช. ื˜ื›ื ื•ืœื•ื’ื™ื™ืช Intel VT-x ืžืฉืžืฉืช ืœืฉื™ืชื•ืฃ ื—ื•ืžืจื” ืฉืœ ืžืฉืื‘ื™ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช. ืชืžื™ื›ื” ื‘ืžืขืจื›ื•ืช macOS ื•-BSD ืžืชื•ื›ื ื ืช ืœืขืชื™ื“, ื›ืžื• ื’ื ื”ื™ื›ื•ืœืช ืœืขื‘ื•ื“ ืขืœ ืคืœื˜ืคื•ืจืžืช ARM64. ื‘ื ื•ืกืฃ, ื”ืคืจื•ื™ืงื˜ ืžืคืชื— ื“ืจื™ื™ื‘ืจ ืžืฉืœื• ืœื˜ืขื™ื ืช VMM (ืžื ื”ืœ ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช), ื˜ื•ืขืŸ ELF ืœื˜ืขื™ื ืช ืžื•ื“ื•ืœื™ VVM, ื•ื™ื™ืฉื•ื bfm ืœืฉืœื™ื˜ื” ื‘-hypervisor ืžืžืจื—ื‘ ื”ืžืฉืชืžืฉ. ื”ื™ื ืžืกืคืงืช ื›ืœื™ื ืœื›ืชื™ื‘ืช ื”ืจื—ื‘ื•ืช ื‘ืืžืฆืขื•ืช ืืœืžื ื˜ื™ื ื”ืžื•ื’ื“ืจื™ื ื‘ืžืคืจื˜ื™ C++11/14, ืกืคืจื™ื™ื” ืœืคื™ืจื•ืง ืžื—ืกื ื™ืช ื”ื—ืจื™ื’ื™ื (ื”ืชื ืชืงื•ืช), ื›ืžื• ื’ื ืกืคืจื™ื™ืช ื–ืžืŸ ืจื™ืฆื” ืžืฉืœื” ืœืชืžื™ื›ื” ื‘ืฉื™ืžื•ืฉ ื‘ื‘ื ืื™ื/ื”ื•ืจืกื™ื ื•ื‘ืจื™ืฉื•ื ืžื˜ืคืœื™ ื—ืจื™ื’ื™ื.

ืขืœ ื‘ืกื™ืก Bareflank ืžืชืคืชื—ืช ืžืขืจื›ืช ื”ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” Boxy, ื”ืชื•ืžื›ืช ื‘ื”ืคืขืœืช ืžืขืจื›ื•ืช ืื•ืจื—ื™ื ื•ืžืืคืฉืจืช ืฉื™ืžื•ืฉ ื‘ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ืงืœื•ืช ืžืฉืงืœ ืขื ืœื™ื ื•ืงืก ื•-Unikernel ืœื”ืคืขืœืช ืฉื™ืจื•ืชื™ื ืื• ื™ื™ืฉื•ืžื™ื ืžื™ื•ื—ื“ื™ื. ื‘ืฆื•ืจื” ืฉืœ ืฉื™ืจื•ืชื™ื ืžื‘ื•ื“ื“ื™ื, ื ื™ืชืŸ ืœื”ืคืขื™ืœ ื’ื ืฉื™ืจื•ืชื™ ืื™ื ื˜ืจื ื˜ ืจื’ื™ืœื™ื ื•ื’ื ืืคืœื™ืงืฆื™ื•ืช ืฉื™ืฉ ืœื”ืŸ ื“ืจื™ืฉื•ืช ืžื™ื•ื—ื“ื•ืช ืœืืžื™ื ื•ืช ื•ืื‘ื˜ื—ื”, ืœืœื ื”ืฉืคืขืช ื”ืกื‘ื™ื‘ื” ื”ืžืืจื—ืช (ื”ืกื‘ื™ื‘ื” ื”ืžืืจื—ืช ืžื‘ื•ื“ื“ืช ื‘ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช ื ืคืจื“ืช). Bareflank ื”ื•ื ื’ื ื”ื‘ืกื™ืก ืฉืœ ื”-MicroV hypervisor, ืฉื ื•ืขื“ ืœื”ืคืขื™ืœ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ืžื™ื ื™ืžืœื™ืกื˜ื™ื•ืช (ืžื—ืฉื‘ ื•ื™ืจื˜ื•ืืœื™ ืฉืœ ื™ื™ืฉื•ื ื™ื—ื™ื“), ืžื™ื™ืฉื ืืช KVM API ื•ืžืชืื™ื ืœื™ืฆื™ืจืช ืžืขืจื›ื•ืช ืงืจื™ื˜ื™ื•ืช ืœืžืฉื™ืžื”.

ื”ื—ื™ื“ื•ืฉื™ื ื”ืขื™ืงืจื™ื™ื ืฉืœ Bareflank 3.0:

  • ืžืขื‘ืจ ืœืฉื™ืžื•ืฉ ื‘ืžื•ืฉื’ ื”ืžื™ืงืจื•-ืงืจื ืœ. ื‘ืขื‘ืจ, ืœ-Hypervisor ื”ื™ื™ืชื” ืืจื›ื™ื˜ืงื˜ื•ืจื” ืžื•ื ื•ืœื™ื˜ื™ืช, ืฉื‘ื” ื›ื“ื™ ืœื”ืจื—ื™ื‘ ืืช ื”ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช, ื”ื™ื” ืฆื•ืจืš ืœื”ืฉืชืžืฉ ื‘-API ืžื™ื•ื—ื“ ืœืจื™ืฉื•ื ืงืจื™ืื•ืช ื”ืชืงืฉืจื•ืช ื—ื•ื–ืจื•ืช, ืžื” ืฉื”ืงืฉื” ืขืœ ืคื™ืชื•ื— ื”ืจื—ื‘ื•ืช ื‘ืฉืœ ื”ืงื™ืฉื•ืจ ืœืฉืคืช C++ ื•ืœืžื‘ื ื” ื”ืคื ื™ืžื™. ื”ืืจื›ื™ื˜ืงื˜ื•ืจื” ื”ื—ื“ืฉื” ืžื‘ื•ืกืกืช ื”ืžื™ืงืจื•-ืงืจื ืœ ื›ื•ืœืœืช ื—ืœื•ืงืช ื”-Hypervisor ืœืจื›ื™ื‘ื™ ืœื™ื‘ื” ื”ืคื•ืขืœื™ื ืขืœ ื˜ื‘ืขืช ืืคืก ืฉืœ ื”ื’ื ื” ื•ื”ืจื—ื‘ื•ืช ื”ืคื•ืขืœื•ืช ืขืœ ื˜ื‘ืขืช ืฉืœื•ืฉ (ืžืจื—ื‘ ืžืฉืชืžืฉ). ืฉื ื™ ื”ื—ืœืงื™ื ืคื•ืขืœื™ื ื‘ืžืฆื‘ ืฉื•ืจืฉ VMX, ื•ื›ืœ ื”ืฉืืจ, ื›ื•ืœืœ ืกื‘ื™ื‘ืช ื”ืžืืจื—, ืคื•ืขืœ ื‘ืžืฆื‘ VMX ืฉืื™ื ื• ืฉื•ืจืฉ. ื”ืจื—ื‘ื•ืช ืžืจื—ื‘ ืžืฉืชืžืฉ ืžื™ื™ืฉืžื•ืช ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ืฉืœ ืžื ื”ืœ ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช (VMM) ื•ืžืงื™ื™ืžื•ืช ืื™ื ื˜ืจืืงืฆื™ื” ืขื ืœื™ื‘ืช ื”-Hypervisor ื‘ืืžืฆืขื•ืช ืงืจื™ืื•ืช ืžืขืจื›ืช ื”ืชื•ืืžื•ืช ืœืื—ื•ืจ. ื ื™ืชืŸ ืœื™ืฆื•ืจ ื”ืจื—ื‘ื•ืช ื‘ื›ืœ ืฉืคืช ืชื›ื ื•ืช, ื›ื•ืœืœ Rust.
  • ื‘ื•ืฆืข ืžืขื‘ืจ ืœืฉื™ืžื•ืฉ ื‘ืกืคืจื™ื™ืช BSL ืžืฉืœื ื• ืขื ืชืžื™ื›ื” ื‘-Rust ื•-C++, ืฉื”ื—ืœื™ืคื” ืืช ื”ืกืคืจื™ื•ืช ื”ื—ื™ืฆื•ื ื™ื•ืช libc++ ื•-newlib. ืขืœ ื™ื“ื™ ื‘ื™ื˜ื•ืœ ืชืœื•ืช ื—ื™ืฆื•ื ื™ืช, Bareflank ืžืกืคืงืช ืชืžื™ื›ืช ื”ื™ื“ื•ืจ ืžืงื•ืจื™ืช ืฉืœ Windows ื›ื“ื™ ืœืคืฉื˜ ืืช ื”ืคื™ืชื•ื— ื‘ืคืœื˜ืคื•ืจืžื” ื–ื•.
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืžืขื‘ื“ื™ AMD. ื™ืชืจื” ืžื›ืš, ืคื™ืชื•ื— Bareflank ืžืชื‘ืฆืข ื›ืขืช ืขืœ ืžืขืจื›ืช ืขื ืžืขื‘ื“ AMD ื•ืจืง ืœืื—ืจ ืžื›ืŸ ืžื•ืขื‘ืจ ืœืžืขื‘ื“ ืื™ื ื˜ืœ.
  • ื˜ื•ืขืŸ ื”ืืชื—ื•ืœ ื”ื•ืกื™ืฃ ืชืžื™ื›ื” ื‘ืืจื›ื™ื˜ืงื˜ื•ืจืช ARMv8, ืฉื”ืชืืžืช ื”-Hypervisor ืขื‘ื•ืจื” ืชื•ืฉืœื ื‘ืื—ืช ื”ืžื”ื“ื•ืจื•ืช ื”ื‘ืื•ืช.
  • ื”ื‘ื˜ื—ืช ืขืžื™ื“ื” ื‘ื“ืจื™ืฉื•ืช ืœืคื™ืชื•ื— ืžืขืจื›ื•ืช ืงืจื™ื˜ื™ื•ืช ืฉื’ื•ื‘ืฉื• ืขืœ ื™ื“ื™ ืืจื’ื•ื ื™ AUTOSAR ื•-MISRA.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”