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

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

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

ืžืคืชื—ืช ืžืขืจื›ืช ื•ื™ืจื˜ื•ืืœื™ื–ืฆื™ื” ื”ืžื‘ื•ืกืกืช ืขืœ Bareflank ื‘ื•ืงืกื™, ื”ืชื•ืžืš ื‘ื”ืคืขืœืช ืžืขืจื›ื•ืช ืื•ืจื—ื™ื ื•ืžืืคืฉืจ ืฉื™ืžื•ืฉ ื‘ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ืงืœื•ืช ืžืฉืงืœ ืขื ืœื™ื ื•ืงืก ื•ื™ื•ื ื™ืงืจื ืœ ืœื”ืคืขืœืช ืฉื™ืจื•ืชื™ื ืื• ื™ื™ืฉื•ืžื™ื ืžื™ื•ื—ื“ื™ื. ื‘ืฆื•ืจื” ืฉืœ ืฉื™ืจื•ืชื™ื ืžื‘ื•ื“ื“ื™ื, ื ื™ืชืŸ ืœื”ืคืขื™ืœ ื’ื ืฉื™ืจื•ืชื™ ืื™ื ื˜ืจื ื˜ ืจื’ื™ืœื™ื ื•ื’ื ืืคืœื™ืงืฆื™ื•ืช ืฉื™ืฉ ืœื”ืŸ ื“ืจื™ืฉื•ืช ืžื™ื•ื—ื“ื•ืช ืœืืžื™ื ื•ืช ื•ืื‘ื˜ื—ื”, ืœืœื ื”ืฉืคืขืช ื”ืกื‘ื™ื‘ื” ื”ืžืืจื—ืช (ื”ืกื‘ื™ื‘ื” ื”ืžืืจื—ืช ืžื‘ื•ื“ื“ืช ื‘ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช ื ืคืจื“ืช).

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

  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ื”ืฉืงืช Bareflank ื™ืฉื™ืจื•ืช ืž-UEFI ืœื‘ื™ืฆื•ืข ืฉืœืื—ืจ ืžื›ืŸ ืฉืœ ืžืขืจื›ืช ื”ื”ืคืขืœื” ื‘ืžื›ื•ื ื” ื•ื™ืจื˜ื•ืืœื™ืช;
  • ื™ื•ืฉื ืžื ื”ืœ ื–ื™ื›ืจื•ืŸ ื—ื“ืฉ, ืฉืชื•ื›ื ืŸ ื‘ื“ื•ืžื” ืœืžื ื”ืœื™ ื–ื™ื›ืจื•ืŸ SLAB/Buddy ื‘ืœื™ื ื•ืงืก. ืžื ื”ืœ ื”ื–ื™ื›ืจื•ืŸ ื”ื—ื“ืฉ ืžื“ื’ื™ื ืคื™ืฆื•ืœ ืžื•ืคื—ืช, ืžืืคืฉืจ ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื ื™ื•ืชืจ ื•ืชื•ืžืš ื‘ื”ืงืฆืืช ื–ื™ื›ืจื•ืŸ ื“ื™ื ืžื™ืช ืœ-hypervisor ื‘ืืžืฆืขื•ืช bfdriver, ื”ืžืืคืฉืจ ืœืš ืœื”ืงื˜ื™ืŸ ืืช ื”ื’ื•ื“ืœ ื”ืจืืฉื•ื ื™ ืฉืœ ื”-hypervisor ื•ืœื”ืชืื™ื ื‘ืฆื•ืจื” ืื•ืคื˜ื™ืžืœื™ืช ื‘ื”ืชืื ืœืžืกืคืจ ืœื™ื‘ื•ืช ื”-CPU;
  • ืžืขืจื›ืช ื‘ื ื™ื™ื” ื—ื“ืฉื” ื”ืžื‘ื•ืกืกืช ืขืœ CMake, ื‘ืœืชื™ ืชืœื•ื™ื” ื‘ืžืชื•ืจื’ืžืŸ ื”ืคืงื•ื“ื•ืช, ืžืืคืฉืจืช ื”ืืฆื” ืžืฉืžืขื•ืชื™ืช ืฉืœ ื”ื™ื“ื•ืจ ื”ื™ืคืจื•ื•ื™ื–ืจ ื•ืžืคืฉื˜ืช ืชืžื™ื›ื” ืขืชื™ื“ื™ืช ื‘ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช ื ื•ืกืคื•ืช, ื›ื’ื•ืŸ ARM;
  • ื”ืงื•ื“ ืื•ืจื’ืŸ ืžื—ื“ืฉ ื•ืžื‘ื ื” ื˜ืงืกื˜ื™ ื”ืžืงื•ืจ ืคื•ืฉื˜. ืชืžื™ื›ื” ืžืฉื•ืคืจืช ื‘ืคืจื•ื™ืงื˜ื™ื ืงืฉื•ืจื™ื ื›ื’ื•ืŸ ื”ื™ืคืจืงืจื ืœ ืœืœื ืฆื•ืจืš ื‘ืฉื›ืคื•ืœ ืงื•ื“. ืงื•ื“ ืžื•ืคืจื“ ื™ื•ืชืจ ื‘ืžืคื•ืจืฉ ื”ื™ืคืจื•ื•ื™ื–ืจ, ืœื”ื™ืจื’ืข ืกืคืจื™ื™ื”, ื–ืžืŸ ืจื™ืฆื”, ื›ืœื™ ื‘ืงืจื”, ื˜ื•ืขืŸ ืืชื—ื•ืœ ื•-SDK;
  • ืจื•ื‘ ื”-API, ื‘ืžืงื•ื ืžื ื’ื ื•ื ื™ ื”ื”ื•ืจืฉื” ืฉื”ื™ื• ื‘ืฉื™ืžื•ืฉ ื‘ืขื‘ืจ ื‘-C++, ื”ื•ืขื‘ืจ ืœืฉื™ืžื•ืฉ ืžึดืฉืืœึทื—ึทืช, ืžื” ืฉืคืฉื˜ ืืช ื”-API, ื”ื’ื“ื™ืœ ืืช ื”ื‘ื™ืฆื•ืขื™ื ื•ื”ืคื—ื™ืช ืืช ืฆืจื™ื›ืช ื”ืžืฉืื‘ื™ื.

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

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