αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ Bareflank 3.0 hypervisor

Bareflank 3.0 hypervisor αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžŠαŸ„αž™αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸαž“αŸƒ hypervisor αž―αž€αž‘αŸαžŸαŸ” Bareflank αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž‡αžΆ C ++ αž“αž·αž„αž‚αžΆαŸ†αž‘αŸ’αžš C ++ STL αŸ” αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž˜αŸ‰αžΌαžŒαž»αž›αž“αŸƒ Bareflank αž“αžΉαž„αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž–αž„αŸ’αžšαžΈαž€αžŸαž˜αžαŸ’αžαž—αžΆαž–αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αžšαž”αžŸαŸ‹ hypervisor αž“αž·αž„αž”αž„αŸ’αž€αžΎαžαž€αŸ†αžŽαŸ‚αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αŸƒ hypervisors αž‘αžΆαŸ†αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαž•αŸ’αž“αŸ‚αž€αžšαžΉαž„ (αžŠαžΌαž…αž‡αžΆ Xen) αž“αž·αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αž“αž»αž„αž”αžšαž·αž™αžΆαž€αžΆαžŸαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹ (αžŠαžΌαž…αž‡αžΆ VirtualBox)αŸ” αžœαžΆαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž“αŸƒαž”αžšαž·αžŸαŸ’αžαžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αŸ” αž›αŸαžαž€αžΌαžŠαž‚αž˜αŸ’αžšαŸ„αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αž€αŸ’αžšαŸ„αž˜αž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽ LGPL 2.1 αŸ”

Bareflank αž‚αžΆαŸ†αž‘αŸ’αžš Linux, Windows αž“αž·αž„ UEFI αž“αŸ…αž›αžΎ 64-bit Intel αž“αž·αž„ AMD CPUs αŸ” αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆ Intel VT-x αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž•αŸ’αž“αŸ‚αž€αžšαžΉαž„αž“αŸƒαž’αž“αž’αžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαŸ” αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’ macOS αž“αž·αž„ BSD αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸ’αžšαŸ„αž„αž‘αž»αž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αŸαž›αž’αž“αžΆαž‚αž αž€αŸαžŠαžΌαž…αž‡αžΆαžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αŸ’αžœαžΎαž€αžΆαžšαž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆ ARM64 αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αž αž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αž€αŸ†αž–αž»αž„αž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž‰αŸ’αž‡αžΆαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ’αž‘αž»αž€ VMM (αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αž) αž§αž”αž€αžšαžŽαŸαž•αŸ’αž‘αž»αž€ ELF αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ’αž‘αž»αž€αž˜αŸ‰αžΌαžŒαž»αž› VVM αž“αž·αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ bfm αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ hypervisor αž–αžΈαž€αž“αŸ’αž›αŸ‚αž„αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ” αžœαžΆαž•αŸ’αžαž›αŸ‹αž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŸαžšαžŸαŸαžšαž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜αžŠαŸ„αž™αž”αŸ’αžšαžΎαž’αžΆαžαž»αžŠαŸ‚αž›αž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž€αŸ’αž“αž»αž„αž›αž€αŸ’αžαžŽαŸˆαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹ C ++ 11/14 αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αž“αŸ’αž›αžΆαž‡αž„αŸ‹αž€αžšαžŽαžΈαž›αžΎαž€αž›αŸ‚αž„ (Unwind) αž€αŸαžŠαžΌαž…αž‡αžΆαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αž–αŸαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž•αŸ’αž‘αžΆαž›αŸ‹αžšαž”αžŸαŸ‹αžœαžΆ αžŠαžΎαž˜αŸ’αž”αžΈαž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αŸ’αž“αž€αžŸαžΆαž„αžŸαž„αŸ‹/αž’αŸ’αž“αž€αž”αŸ†αž•αŸ’αž›αžΆαž‰ αž“αž·αž„αž€αžΆαžšαž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αžšαžŽαžΈαž›αžΎαž€αž›αŸ‚αž„αŸ”

αž•αŸ’αž’αŸ‚αž€αž›αžΎ Bareflank αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž“αž·αž˜αŸ’αž˜αž·αž Boxy αž€αŸ†αž–αž»αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„ αžŠαŸ‚αž›αž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž—αŸ’αž‰αŸ€αžœ αž“αž·αž„αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž”αŸ’αžšαžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαž‘αž˜αŸ’αž„αž“αŸ‹αžŸαŸ’αžšαžΆαž›αž‡αžΆαž˜αž½αž™ Linux αž“αž·αž„ Unikernel αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ αž¬αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž―αž€αž‘αŸαžŸαŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹αž“αŸƒαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαžΆαž…αŸ‹αž–αžΈαž‚αŸ αž’αŸ’αž“αž€αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΆαŸ†αž„αžŸαŸαžœαžΆαž‚αŸαž αž‘αŸ†αž–αŸαžšαž’αž˜αŸ’αž˜αžαžΆ αž“αž·αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž˜αžΆαž“αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž–αž·αžŸαŸαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαž–αž‡αžΏαž‡αžΆαž€αŸ‹ αž“αž·αž„αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž– αžŠαŸ„αž™αž˜αž·αž“αž‚αž·αžαž–αžΈαž₯αž‘αŸ’αž’αž·αž–αž›αž“αŸƒαž”αžšαž·αžŸαŸ’αžαžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ (αž”αžšαž·αž™αžΆαž€αžΆαžŸαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž‚αžΊαžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€)αŸ” Bareflank αž€αŸαž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž“αŸƒ MicroV hypervisor αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž…αž“αžΆαž‘αžΎαž„αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαžαž·αž…αžαž½αž…αž”αŸ†αž•αž»αž (αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ‚αž˜αž½αž™) αž’αž“αž»αžœαžαŸ’αž KVM API αž“αž·αž„αžŸαž˜αžšαž˜αŸ’αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸαžŸαž€αž€αž˜αŸ’αž˜αžŸαŸ†αžαžΆαž“αŸ‹αŸ—αŸ”

αž€αžΆαžšαž…αŸ’αž“αŸƒαž”αŸ’αžšαžŒαž·αžαžŸαŸ†αžαžΆαž“αŸ‹αŸ—αžšαž”αžŸαŸ‹ Bareflank 3.0αŸ–

  • αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ…αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‚αŸ†αž“αž·αžαž˜αžΈαž€αŸ’αžšαžΌαžαžΊαžŽαŸ‚αž›αŸ” αž–αžΈαž˜αž»αž“ hypervisor αž˜αžΆαž“αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ monolithic αžŠαŸ‚αž›αž€αŸ’αž“αž»αž„αž“αŸ„αŸ‡ αžŠαžΎαž˜αŸ’αž”αžΈαž–αž„αŸ’αžšαžΈαž€αž˜αž»αžαž„αžΆαžš αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΎ API αž–αž·αžŸαŸαžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡ callback calls αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αž–αž·αž”αžΆαž€αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž extensions αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž€αžΆαžšαž…αž„αž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™αž—αžΆαžŸαžΆ C++ αž“αž·αž„αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαžΆαž„αž€αŸ’αž“αž»αž„αŸ” αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αžŠαŸ‚αž›αž˜αžΆαž“αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž›αžΎ microkernel αžαŸ’αž˜αžΈαž–αžΆαž€αŸ‹αž–αŸαž“αŸ’αž’αž“αžΉαž„αž€αžΆαžšαž”αŸ‚αž„αž…αŸ‚αž€ hypervisor αž‘αŸ…αž‡αžΆαžŸαž˜αžΆαžŸαž’αžΆαžαž»αžαžΊαžŽαŸ‚αž›αžŠαŸ‚αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎ ring zero of protection αž“αž·αž„ extensions αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎ ring three (user space)αŸ” αž•αŸ’αž“αŸ‚αž€αž‘αžΆαŸ†αž„αž–αžΈαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αž“αž»αž„αžšαž”αŸ€αž”αž«αžŸ VMX αž αžΎαž™αž’αŸ’αžœαžΈαŸ—αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αžšαž½αž˜αž‘αžΆαŸ†αž„αž”αžšαž·αžŸαŸ’αžαžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αž“αž»αž„αžšαž”αŸ€αž” VMX αžŠαŸ‚αž›αž˜αž·αž“αž˜αŸ‚αž“αž‡αžΆ root αŸ” αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ†αž αŸ†αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αž»αžœαžαŸ’αžαž˜αž»αžαž„αžΆαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αž (VMM) αž“αž·αž„αž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αžŸαŸ’αž“αžΌαž›αž’αŸ’αž“αž€αž˜αžΎαž›αžαŸ’αž–αžŸαŸ‹αžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαž αŸ…αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž“αžΉαž„αžαž™αž€αŸ’αžšαŸ„αž™αŸ” αž•αŸ’αž“αŸ‚αž€αž”αž“αŸ’αžαŸ‚αž˜αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‡αžΆαž—αžΆαžŸαžΆαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŽαžΆαž˜αž½αž™ αžšαž½αž˜αž‘αžΆαŸ†αž„ Rust αŸ”
  • αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž‘αžΎαž„αž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αžŽαŸ’αžŽαžΆαž›αŸαž™ BSL αž•αŸ’αž‘αžΆαž›αŸ‹αžšαž”αžŸαŸ‹αž™αžΎαž„αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Rust αž“αž·αž„ C ++ αžŠαŸ‚αž›αž‡αŸ†αž“αž½αžŸαž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžαžΆαž„αž€αŸ’αžšαŸ… libc++ αž“αž·αž„ newlib αŸ” αžŠαŸ„αž™αž€αžΆαžšαž›αž»αž”αž”αŸ†αž”αžΆαžαŸ‹αž—αžΆαž–αž’αžΆαžŸαŸ’αžšαŸαž™αžαžΆαž„αž€αŸ’αžšαŸ… Bareflank αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž…αž„αž€αŸ’αžšαž„αžœαžΈαž“αžŠαžΌαžŠαžΎαž˜ αžŠαžΎαž˜αŸ’αž”αžΈαžŸαž˜αŸ’αžšαž½αž›αžŠαž›αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž“αŸ…αž›αžΎαžœαŸαž‘αž·αž€αžΆαž“αŸ„αŸ‡αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš AMD αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αž αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ Bareflank αž₯αž‘αžΌαžœαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αžœαžαŸ’αžαž“αŸ…αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸŠαžΈαž—αžΈαž™αžΌ AMD αž αžΎαž™αž”αžΆαž“αžαŸ‚αž”αž‰αŸ’αž‡αžΌαž“αž‘αŸ…αž€αžΆαž“αŸ‹αžŸαŸŠαžΈαž—αžΈαž™αžΌ Intel αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”
  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αžΆαž”αŸ‹αž•αŸ’αžŠαžΎαž˜αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜ ARMv8 αž€αžΆαžšαžŸαž˜αŸ’αžšαž”αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹ hypervisor αžŠαŸ‚αž›αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž½αž™αŸ”
  • αž’αžΆαž“αžΆαž”αžΆαž“αž“αžΌαžœαž€αžΆαžšαž’αž“αž»αž›αŸ„αž˜αžαžΆαž˜αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŸαŸ†αžαžΆαž“αŸ‹αŸ—αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™αž’αž„αŸ’αž‚αž€αžΆαžš AUTOSAR αž“αž·αž„ MISRA αŸ”

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹