հիպերվիզորի թողարկում , որը տրամադրում է գործիքներ մասնագիտացված հիպերվիզորների արագ զարգացման համար։ Bareflank-ը գրված է C++-ով և աջակցում է C++ STL-ին: Bareflank-ի մոդուլային ճարտարապետությունը թույլ կտա ձեզ հեշտությամբ ընդլայնել հիպերվիզորի առկա հնարավորությունները և ստեղծել հիպերվիզորների ձեր սեփական տարբերակները, որոնք աշխատում են սարքաշարի վրա (ինչպես Xen-ը), և աշխատում են գոյություն ունեցող ծրագրային միջավայրում (օրինակ՝ VirtualBox): Հնարավոր է գործարկել հյուրընկալող միջավայրի օպերացիոն համակարգը առանձին վիրտուալ մեքենայի մեջ: Ծրագրի կոդը լիցենզավորված LGPL 2.1-ի համաձայն:
Bareflank-ը այժմ աջակցում է Linux, Windows և UEFI 64-բիթանոց Intel պրոցեսորների վրա: Intel VT-x տեխնոլոգիան օգտագործվում է վիրտուալ մեքենաների համար ապարատային ռեսուրսների համատեղ օգտագործման համար: Աջակցությունը նախատեսվում է ապագայում: macOS և BSD համակարգեր, ինչպես նաև ARM64 և AMD հարթակների վրա աշխատելու հնարավորություն: Նախագիծը նաև մշակում է իր սեփական դրայվերը՝ VMM (Virtual Machine Manager) բեռնելու համար, ELF բեռնիչ՝ VVM մոդուլներ բեռնելու համար, և bfm հավելված՝ հիպերվիզորը օգտագործողի տարածքից կառավարելու համար: Այն նաև տրամադրում է գործիքներ՝ C++11/14 սպեցիֆիկացիաներում սահմանված տարրերի միջոցով ընդլայնումներ գրելու համար, բացառությունների կույտի վերագործարկման գրադարան (unwind) և գործարկման գրադարան՝ կոնստրուկտորների/դեստրուկտորների օգտագործումը և բացառությունների մշակիչների գրանցումը աջակցելու համար:
Բարեֆլանկի հիման վրա մշակվում է վիրտուալացման համակարգ , որը աջակցում է հյուր համակարգերի գործարկմանը և թույլ է տալիս օգտագործել թեթև վիրտուալ մեքենաներ Linux և Unikernel՝ մասնագիտացված ծառայություններ կամ ծրագրեր գործարկելու համար: Ինչպես սովորական վեբ ծառայությունները, այնպես էլ հատուկ հուսալիության և անվտանգության պահանջներ ունեցող ծրագրերը կարող են գործարկվել որպես մեկուսացված ծառայություններ՝ ազատ հյուրընկալող միջավայրի ազդեցությունից (հյուրընկալող միջավայրը մեկուսացված է առանձին վիրտուալ մեքենայում):
Bareflank 2.0-ի հիմնական նորամուծությունները.
- Ավելացվել է աջակցություն Bareflank-ը ուղղակիորեն UEFI-ից գործարկելու համար՝ վիրտուալ մեքենայում օպերացիոն համակարգի հետագա կատարման համար.
- Ներդրվել է հիշողության կառավարման նոր մենեջեր, որը նախագծվել է SLAB/Buddy հիշողության մենեջերների նմանությամբ։ LinuxՆոր հիշողության կառավարիչը ցուցադրում է մասնատման նվազեցում, հնարավորություն է տալիս ավելի բարձր արդյունավետություն ապահովել և աջակցում է դինամիկ հիշողության բաշխմանը հիպերվիզորի միջոցով։ , որը թույլ է տալիս նվազեցնել հիպերվիզորի սկզբնական չափը և օպտիմալ չափել՝ կախված պրոցեսորի միջուկների քանակից;
- CMake-ի վրա հիմնված նոր կառուցման համակարգը, անկախ հրամանի թարգմանիչից, թույլ է տալիս զգալի արագացնել հիպերվիզորի կոմպիլյացիան և հեշտացնում է հետագա աջակցությունը լրացուցիչ ճարտարապետությունների համար, ինչպիսին է ARM-ը;
- Կոդը վերակազմավորվել է, իսկ սկզբնական տեքստերի կառուցվածքը պարզեցվել է։ Բարելավված աջակցություն հարակից նախագծերին, ինչպիսիք են հիպերմիջուկը, առանց կոդերի կրկնօրինակման անհրաժեշտության: Ավելի հստակ տարանջատված ծածկագիր , քանդել գրադարան, գործարկման ժամանակ, կառավարման գործիքներ, բեռնիչ և SDK;
- API-ի մեծ մասը, C++-ում նախկինում օգտագործված ժառանգական մեխանիզմների փոխարեն, անցել է օգտագործման , որը պարզեցրեց API-ն, բարձրացրեց կատարողականությունը և նվազեցրեց ռեսուրսների սպառումը:
Source: opennet.ru
