Bareflank 3.0-eldono de hiperviziero

La hiperviziero Bareflank 3.0 estis liberigita, provizante ilojn por la rapida disvolviĝo de specialigitaj hiperviziiloj. Bareflank estas skribita en C++ kaj subtenas C++ STL. La modula arkitekturo de Bareflank permesos vin facile vastigi la ekzistantajn kapablojn de la hiperviziero kaj krei viajn proprajn versiojn de hiperviziiloj, ambaŭ funkciante sur aparataro (kiel Xen) kaj funkciante en ekzistanta programara medio (kiel VirtualBox). Eblas ruli la operaciumon de la gastiga medio en aparta virtuala maŝino. La projektkodo estas distribuita sub la LGPL 2.1 permesilo.

Bareflank subtenas Linukson, Vindozon kaj UEFI sur 64-bitaj Intel kaj AMD-CPUoj. Intel VT-x-teknologio estas uzita por hardvardividado de virtualaj maŝinresursoj. Subteno por macOS kaj BSD-sistemoj estas planita por la estonteco, same kiel la kapablo labori sur la ARM64-platformo. Aldone, la projekto disvolvas sian propran pelilon por ŝarĝi VMM (Virtuala Maŝina Administranto), ELF-ŝargilon por ŝarĝi VVM-modulojn, kaj bfm-aplikaĵon por kontroli la hiperviziilon de uzantspaco. Ĝi disponigas ilojn por skribado de etendaĵoj uzantaj elementojn difinitajn en la C++11/14-specifoj, bibliotekon por malvolvi la esceptstakon (malvolvi), same kiel sian propran rultempobibliotekon por apogi la uzon de konstrukciistoj/detruantoj kaj registri escepttraktilojn.

Surbaze de Bareflank, la sistemo de virtualigo Boxy estas evoluigita, kiu subtenas rulajn gastsistemojn kaj permesas la uzon de malpezaj virtualaj maŝinoj kun Linukso kaj Unikernel por ruli specialigitajn servojn aŭ aplikojn. En la formo de izolitaj servoj, vi povas ruli kaj regulajn retservojn kaj aplikaĵojn, kiuj havas specialajn postulojn por fidindeco kaj sekureco, libera de la influo de la gastiga medio (la gastiga medio estas izolita en aparta virtuala maŝino). Bareflank ankaŭ estas la bazo de la hiperviziero MicroV, desegnita por funkciigi minimumismajn virtualajn maŝinojn (ununura aplikaĵo virtuala maŝino), efektivigas la KVM-API kaj taŭgas por krei misi-kritikajn sistemojn.

La ĉefaj novigoj de Bareflank 3.0:

  • Transiro al uzado de la koncepto de mikrokerno. Antaŭe, la hiperviziero havis monolitan arkitekturon, en kiu, por vastigi funkciecon, estis necese uzi specialan API por registri alvokovokojn, kio malfaciligis disvolvi etendaĵojn pro la ligado al la lingvo C++ kaj interna strukturo. La nova mikrokern-bazita arkitekturo implikas dividi la hipervizieron en kernkomponentojn funkciantajn sur ringo nul de protekto kaj etendaĵojn funkciantajn sur ringo tri (uzantspaco). Ambaŭ partoj funkcias en VMX-radika reĝimo, kaj ĉio alia, inkluzive de la gastiga medio, funkcias en VMX-ne-radika reĝimo. Uzantspacaj etendaĵoj efektivigas Virtual Machine Manager (VMM) funkciecon kaj interagas kun la hipervizila kerno per sistemvokoj kiuj estas malantaŭen kongruaj. Etendaĵoj povas esti kreitaj en iu ajn programlingvo, inkluzive de Rust.
  • Transiro estis farita al la uzo de nia propra BSL-biblioteko kun subteno por Rust kaj C++, kiuj anstataŭigis la eksterajn bibliotekojn libc++ kaj newlib. Forigante eksterajn dependecojn, Bareflank disponigas indiĝenan Vindozan kompilsubtenon por simpligi evoluon sur tiu platformo.
  • Aldonita subteno por AMD-procesoroj. Krome, Bareflank-disvolviĝo nun estas efektivigita sur sistemo kun AMD CPU kaj nur tiam adaptita al Intel CPU.
  • La ekŝargilo aldonis subtenon por la arkitekturo ARMv8, adapto de la hiperviziero por kiu estos kompletigita en unu el la venontaj eldonoj.
  • Certigita observo kun la postuloj por la evoluo de kritikaj sistemoj formulitaj fare de la AUTOSAR kaj MISRA-organizoj.

fonto: opennet.ru

Aldoni komenton