Barefflank 3.0 hypervisor itusilẹ

Bareflank 3.0 hypervisor ti tu silẹ, n pese ohun elo irinṣẹ fun idagbasoke iyara ti awọn hypervisors amọja. Bareflank ti kọ sinu C ++ ati atilẹyin C ++ STL. Iṣatunṣe modular ti Bareflank jẹ ki o rọrun lati faagun awọn agbara hypervisor ti o wa tẹlẹ ati ṣẹda awọn aṣayan hypervisor tirẹ, mejeeji nṣiṣẹ lori ohun elo (bii Xen) ati ṣiṣe ni agbegbe sọfitiwia ti o wa tẹlẹ (bii VirtualBox). O ṣee ṣe lati ṣiṣe ẹrọ ṣiṣe ti agbegbe ogun ni ẹrọ foju ọtọtọ. Koodu ise agbese ti pin labẹ iwe-aṣẹ LGPL 2.1.

Bareflank n pese atilẹyin fun Lainos, Windows, ati UEFI lori 64-bit Intel ati AMD CPUs. Imọ-ẹrọ Intel VT-x jẹ lilo fun pipin hardware ti awọn orisun ẹrọ foju. Atilẹyin fun awọn eto macOS ati BSD ni a gbero fun ọjọ iwaju, ati agbara lati ṣiṣẹ lori pẹpẹ ARM64. Ni afikun, iṣẹ akanṣe naa ṣe agbekalẹ awakọ tirẹ fun ikojọpọ VMM (Oluṣakoso ẹrọ foju), agberu ELF fun ikojọpọ awọn modulu VVM, ati ohun elo bfm kan fun iṣakoso hypervisor lati aaye olumulo. A pese ohun elo irinṣẹ fun kikọ awọn amugbooro nipa lilo awọn eroja ti a ṣalaye ni awọn pato C ++ 11/14, iyasọtọ iyasọtọ ti ile-ikawe ṣiṣi silẹ (unwind), bakanna bi ile-ikawe asiko asiko tirẹ lati ṣe atilẹyin fun lilo awọn olupilẹṣẹ / awọn apanirun ati iforukọsilẹ ti awọn olutọju imukuro.

Lori ipilẹ ti Bareflank, idagbasoke ti Boxy virtualization system ti nlọ lọwọ, eyiti o ṣe atilẹyin ifilọlẹ ti awọn eto alejo ati gba laaye lilo awọn ẹrọ foju iwuwo fẹẹrẹ pẹlu Linux ati Unikernel lati ṣiṣẹ awọn iṣẹ pataki tabi awọn ohun elo. Ni irisi awọn iṣẹ ti o ya sọtọ, o le ṣiṣẹ mejeeji awọn iṣẹ wẹẹbu lasan ati awọn ohun elo ti o ni awọn ibeere pataki fun igbẹkẹle ati aabo, laisi ipa ti agbegbe agbalejo (agbegbe ogun ti ya sọtọ ni ẹrọ foju ọtọtọ). Bareflank tun wa ni ọkan ti hypervisor MicroV, ti a ṣe apẹrẹ lati ṣiṣẹ awọn ẹrọ foju minimalistic (ẹrọ foju ohun elo kan) ti o ṣe imuse KVM API ati pe o dara fun kikọ awọn ọna ṣiṣe-pataki.

Awọn imotuntun akọkọ ti Bareflank 3.0:

  • Iyipada si lilo ero microkernel. Ni iṣaaju, hypervisor ni ile-iṣẹ monolithic kan, ninu eyiti, lati le fa iṣẹ ṣiṣe pọ si, o jẹ dandan lati lo API pataki kan fun iforukọsilẹ awọn ipe ipe, eyiti o jẹ ki o ṣoro lati ṣe agbekalẹ awọn amugbooro nitori tiso si ede C ++ ati awọn inu inu. . Awọn faaji ti o da lori microkernel tuntun pin hypervisor sinu awọn paati ekuro ti n ṣiṣẹ lori oruka odo ti aabo ati awọn amugbooro ti n ṣiṣẹ lori iwọn kẹta (aaye olumulo). Awọn ẹya mejeeji ṣiṣẹ ni ipo root VMX, ati ohun gbogbo miiran, pẹlu agbegbe agbalejo, ni ipo VMX ti kii-root. Awọn amugbooro aaye olumulo ṣe iṣẹ ṣiṣe Oluṣakoso ẹrọ foju (VMM) ati ṣe ajọṣepọ pẹlu ekuro hypervisor nipasẹ awọn ipe eto ibaramu sẹhin. Awọn amugbooro le ṣẹda ni eyikeyi ede siseto, pẹlu lilo ede Rust.
  • A yipada si lilo ile-ikawe BSL tiwa pẹlu atilẹyin fun Rust ati C ++, eyiti o rọpo awọn ile-ikawe ita libc ++ ati newlib. Yiyọkuro awọn igbẹkẹle ita gba Bareflank laaye lati ṣe atilẹyin iṣakojọpọ Windows abinibi lati jẹ ki idagbasoke rọrun lori pẹpẹ yii.
  • Kun support fun AMD to nse. Pẹlupẹlu, idagbasoke ti Bareflank ni a ṣe ni bayi lori eto kan pẹlu Sipiyu AMD ati lẹhinna gbejade si Sipiyu Intel kan.
  • Atilẹyin fun faaji ARMv8 ti ni afikun si bootloader, eyiti aṣamubadọgba hypervisor yoo pari ni ọkan ninu awọn idasilẹ atẹle.
  • Aṣeyọri ibamu pẹlu awọn ibeere fun idagbasoke awọn ọna ṣiṣe to ṣe pataki, ti a ṣe agbekalẹ nipasẹ awọn ajọ AUTOSAR ati MISRA.

orisun: opennet.ru

Fi ọrọìwòye kun