izdanje hipervizora , koji pruža alate za brzi razvoj specijaliziranih hipervizora. Bareflank je napisan na C++ jeziku i podržava C++ STL. Modularna arhitektura Bareflanka omogućava jednostavno proširivanje postojećih mogućnosti hipervizora i stvaranje vlastitih verzija hipervizora, kako onih koji rade na hardveru (poput Xena), tako i onih koji se pokreću unutar postojećeg programskog okruženja (poput VirtualBoxa). Postoji mogućnost pokretanja operativnog sustava host-okruženja u zasebnoj virtualnoj mašini. Kod projekta pod licencom LGPL 2.1.
U Bareflanku je implementirana podrška za Linux, Windows i UEFI na 64-bitnim Intel CPU-ima. Za hardversko odvajanje resursa virtualnih mašina koristi se tehnologija Intel VT-x. U budućnosti je planirana podrška za macOS i BSD sustave, kao i mogućnost rada na ARM64 i AMD platformama. Dodatno, projekt razvija vlastiti upravljački program za pokretanje VMM-a (Virtual Machine Manager), ELF učitavač za učitavanje VVM modula, aplikaciju bfm za upravljanje hipervizorom iz korisničkog prostora. Pružaju se alati za pisanje proširenja koristeći elemente definirane u specifikacijama C++11/14, biblioteka za razradu iznimaka (unwind), kao i vlastita runtime biblioteka za podršku primjeni konstruktora/destructora i registraciju obrađivača iznimaka.
Na bazi Bareflanka vodi se razvoj sustava virtualizacije , koji podržava pokretanje gostujućih sustava i omogućava korištenje laganih virtualnih mašina s Linuxom i Unikernelom za pokretanje specijaliziranih servisa ili aplikacija. U obliku izoliranih servisa mogu se izvršavati kako obične web usluge, tako i aplikacije koje imaju posebne zahtjeve za pouzdanošću i sigurnošću, oslobođene utjecaja host-okruženja (host-okruženje se izolira u zasebnoj virtualnoj mašini).
Glavne novosti Bareflank 2.0:
- Dodana je podrška za pokretanje Bareflanka izravno iz UEFI za naknadno izvršavanje operativnog sustava u virtualnoj mašini;
- Implementiran je novi upravitelj memorije, projektiran na temelju SLAB/Buddy menadžera memorije u Linuxu. Novi upravitelj memorije pokazuje smanjenje fragmentacije, omogućava postizanje bolje izvedbe i podržava dinamičko dodjeljivanje memorije hipervizoru kroz , što smanjuje početnu veličinu hipervizora i optimizira skaliranje ovisno o broju CPU jezgri;
- Nova sistemska izgradnja temeljena na CMake, neovisna o komandnom interpreteru, omogućuje značajno ubrzanje kompilacije hipervizora i pojednostavljuje buduću podršku za dodatne arhitekture kao što je ARM;
- Reorganizacija koda je provedena i pojednostavljena je struktura izvornih kodova. Poboljšana je podrška za povezane projekte, kao što je hyperkernel, bez potrebe za dupliciranjem koda. Kod je jasnije odvojen , unwind biblioteke, runtime, upravljačkih alata, učitavača i SDK-a;
- Većina API-ja umjesto ranije korištenih mehanizama nasljeđivanja u C++ prebačena je na korištenje , što je omogućilo pojednostavljenje API-ja, poboljšanje performansi i smanjenje potrošnje resursa.
Izvor: opennet.ru
