Bareflank 2.0 հիպերվիզորի թողարկում

տեղի ունեցավ հիպերվիզորի թողարկում Bareflank 2.0, որը տրամադրում է գործիքներ մասնագիտացված հիպերվիզորների արագ զարգացման համար։ Bareflank-ը գրված է C++-ով և աջակցում է C++ STL-ին: Bareflank-ի մոդուլային ճարտարապետությունը թույլ կտա ձեզ հեշտությամբ ընդլայնել հիպերվիզորի առկա հնարավորությունները և ստեղծել հիպերվիզորների ձեր սեփական տարբերակները, որոնք աշխատում են սարքաշարի վրա (ինչպես Xen-ը), և աշխատում են գոյություն ունեցող ծրագրային միջավայրում (օրինակ՝ VirtualBox): Հնարավոր է գործարկել հյուրընկալող միջավայրի օպերացիոն համակարգը առանձին վիրտուալ մեքենայի մեջ: Ծրագրի կոդը տարածվում է լիցենզավորված LGPL 2.1-ի համաձայն:

Bareflank-ն աջակցում է Linux, Windows և UEFI 64-բիթանոց Intel պրոցեսորների վրա: Intel VT-x տեխնոլոգիան օգտագործվում է վիրտուալ մեքենայի ռեսուրսների ապարատային փոխանակման համար: Ապագայում նախատեսվում է macOS և BSD համակարգերի աջակցություն, ինչպես նաև ARM64 և AMD հարթակներում աշխատելու հնարավորություն։ Բացի այդ, նախագիծը մշակում է իր սեփական դրայվերը VMM-ի (Վիրտուալ մեքենայի կառավարիչ) բեռնման համար, ELF բեռնիչ՝ VVM մոդուլները բեռնելու համար և bfm հավելված՝ օգտվողի տարածքից հիպերվիզորը կառավարելու համար: Այն տրամադրում է ընդլայնումներ գրելու գործիքներ՝ օգտագործելով C++11/14 բնութագրերում սահմանված տարրերը, գրադարան՝ բացառությունների կույտը հանելու համար (unwind), ինչպես նաև իր սեփական գործարկման գրադարանը, որն աջակցում է կոնստրուկտորների/դեստրուկտորների օգտագործմանը և բացառությունների մշակիչների գրանցմանը:

Բարեֆլանկի հիման վրա մշակվում է վիրտուալացման համակարգ Բռնցքամարտիկ, որն աջակցում է գործարկվող հյուր համակարգերին և թույլ է տալիս օգտագործել թեթև վիրտուալ մեքենաներ Linux-ով և Unikernel-ով՝ մասնագիտացված ծառայություններ կամ հավելվածներ գործարկելու համար: Մեկուսացված ծառայությունների տեսքով դուք կարող եք գործարկել ինչպես սովորական վեբ ծառայություններ, այնպես էլ հավելվածներ, որոնք ունեն հուսալիության և անվտանգության հատուկ պահանջներ՝ զերծ հյուրընկալող միջավայրի ազդեցությունից (հյուրընկալող միջավայրը մեկուսացված է առանձին վիրտուալ մեքենայի մեջ):

Bareflank 2.0-ի հիմնական նորամուծությունները.

  • Ավելացվել է աջակցություն Bareflank-ը ուղղակիորեն UEFI-ից գործարկելու համար՝ վիրտուալ մեքենայում օպերացիոն համակարգի հետագա կատարման համար.
  • Գործարկվել է հիշողության նոր կառավարիչ, որը նախագծված է Linux-ի SLAB/Buddy հիշողության կառավարիչների նման: Հիշողության նոր կառավարիչը ցույց է տալիս կրճատված մասնատումը, թույլ է տալիս ավելի բարձր կատարողականություն և աջակցում է դինամիկ հիշողության բաշխումը հիպերվիզորին միջոցով bfdriver, որը թույլ է տալիս նվազեցնել հիպերվիզորի սկզբնական չափը և օպտիմալ չափել՝ կախված պրոցեսորի միջուկների քանակից;
  • CMake-ի վրա հիմնված նոր կառուցման համակարգը, անկախ հրամանի թարգմանիչից, թույլ է տալիս զգալի արագացնել հիպերվիզորի կոմպիլյացիան և հեշտացնում է հետագա աջակցությունը լրացուցիչ ճարտարապետությունների համար, ինչպիսին է ARM-ը;
  • Կոդը վերակազմավորվել է, իսկ սկզբնական տեքստերի կառուցվածքը պարզեցվել է։ Բարելավված աջակցություն հարակից նախագծերին, ինչպիսիք են հիպերմիջուկը, առանց կոդերի կրկնօրինակման անհրաժեշտության: Ավելի հստակ տարանջատված ծածկագիր հիպերվիզոր, քանդել գրադարան, գործարկման ժամանակ, կառավարման գործիքներ, բեռնիչ և SDK;
  • API-ի մեծ մասը, C++-ում նախկինում օգտագործված ժառանգական մեխանիզմների փոխարեն, անցել է օգտագործման պատվիրակություն, որը պարզեցրեց API-ն, բարձրացրեց կատարողականությունը և նվազեցրեց ռեսուրսների սպառումը:

Source: opennet.ru

Добавить комментарий