Bareflank 3.0 hipervisorea kaleratu zen, hipervisor espezializatuak azkar garatzeko tresnak eskainiz. Bareflank C++-n idatzita dago eta C++ STL onartzen du. Bareflak-en arkitektura modularrak hipervisorearen lehendik dauden gaitasunak erraz zabaltzeko eta zure hipervisoren bertsioak sortzeko aukera emango dizu, bai hardwarearen gainean exekutatzen (Xen bezala) bai lehendik dagoen software ingurune batean (VirtualBox bezalakoa). Posible da ostalari-inguruneko sistema eragilea aparteko makina birtual batean exekutatu. Proiektuaren kodea LGPL 2.1 lizentziapean banatzen da.
Bareflankek orain onartzen du Linux, Windows ΠΈ UEFI Π½Π° 64-ΡΠ°Π·ΡΡΠ΄Π½ΡΡ CPU Intel ΠΈ AMD. ΠΠ»Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΡΡΠΎΠ² makina birtualak ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Intel VT-x. ΠΠ° Π±ΡΠ΄ΡΡΠ΅Π΅ Π·Π°ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° macOS ΠΈ BSD-ΡΠΈΡΡΠ΅ΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ARM64. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ VMM (Virtual Machine Manager), ELF-Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ VVM, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ bfm Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠΎΠΌ ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΡ C++11/14, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠ°ΡΠΊΡΡΡΠΈΠ²Π°Π½ΠΈΡ ΡΡΠ΅ΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ (unwind), Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ²ΠΎΡ runtime-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠΎΠ²/Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΠΎΠ² ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ.
ΠΠ° Π±Π°Π·Π΅ Bareflank Π²Π΅Π΄ΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Boxy, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΊ Π³ΠΎΡΡΠ΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ Ρ Linux ΠΈ Unikernel Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π ΡΠΎΡΠΌΠ΅ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΡΠ΅ web-ΡΠ΅ΡΠ²ΠΈΡΡ, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ ΠΏΡΠ΅Π΄ΡΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠΎΠ±ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΠΈ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΈΠ·Π±Π°Π²Π»Π΅Π½Π½ΡΠ΅ ΠΎΡ Π²Π»ΠΈΡΠ½ΠΈΡ Ρ ΠΎΡΡ-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ (Ρ ΠΎΡΡ-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ»ΠΈΡΡΠ΅ΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅). Bareflank ΡΠ°ΠΊΠΆΠ΅ Π»Π΅ΠΆΠΈΡ Π² ΠΎΡΠ½ΠΎΠ²Π΅ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ° MicroV, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡΠΈΡΠ½ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ (makina birtuala aplikazio bakarra) KVM APIa ezartzen duena eta sistema kritikoak sortzeko egokia dena.
Bareflank 3.0-ren berrikuntza nagusiak:
- Mikrokernel kontzeptua erabiltzeko trantsizioa. Aurretik, hipervisoreak arkitektura monolitikoa zuen, eta, bertan, funtzionaltasuna zabaltzeko, beharrezkoa zen API berezi bat erabiltzea deiak itzultzeko deiak erregistratzeko, eta horrek zaildu egiten zuen luzapenak garatzea C++ lengoaiarekin eta barne egiturarekin lotzen zuelako. Mikrokernelean oinarritutako arkitektura berriak babesaren zero eraztunean exekutatzen diren nukleoaren osagaietan eta hirugarren eraztunean exekutatzen diren luzapenetan banatzen du (erabiltzaile-espazioa). Bi zatiak VMX erro moduan exekutatzen dira, eta gainerako guztia, ostalari ingurunea barne, VMX ez erro moduan exekutatzen da. Erabiltzaile-espazio-luzapenek Makina Birtualeko Kudeatzailea (VMM) funtzionaltasuna ezartzen dute eta hipervisorearen nukleoarekin elkarreraginean atzerantz bateragarriak diren sistema-deien bidez. Luzapenak edozein programazio-lengoaian sor daitezke, Rust barne.
- ΠΡΡΡΠ΅ΡΡΠ²Π»ΡΠ½ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ BSL Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Rust ΠΈ C++, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΡΠ»Π° Π½Π° ΡΠΌΠ΅Π½Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌ libc++ ΠΈ newlib. ΠΡΠΊΠ°Π· ΠΎΡ Π²Π½Π΅ΡΠ½ΠΈΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² Bareflank ΡΠΎΠ΄Π½ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ Π² Windows Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅.
- AMD prozesadoreetarako laguntza gehitu da. Gainera, Bareflank garapena AMD CPU bat duen sistema batean egiten da eta orduan bakarrik Intel CPU batera eramaten da.
- Abio-kargatzaileak ARMv8 arkitekturarako euskarria gehitu du, hipervisorearen egokitzapena hurrengo bertsioetako batean osatuko baita.
- AUTOSAR eta MISRA erakundeek formulatutako sistema kritikoak garatzeko eskakizunak betetzen direla bermatu da.
Iturria: opennet.ru
