Xen Hypervisor Toolkit Rework Initiative in Rust

Waendelezaji wa jukwaa la XCP-ng, lililotengenezwa chini ya mrengo wa mradi wa Xen, wamechapisha mpango wa kuunda uingizwaji wa vipengele mbalimbali vya programu ya Xen katika lugha ya Rust. Hakuna mipango ya kufanya kazi upya hypervisor ya Xen yenyewe; kazi inalenga hasa kurekebisha vipengele vya mtu binafsi vya zana ya zana.

Jukwaa kwa sasa linatumia vipengee vya C, Python, OCaml, na Go, ambavyo vingine vimepitwa na wakati na vinaleta changamoto za matengenezo. Imebainika kuwa matumizi ya Rust hayatasababisha ongezeko la jumla la idadi ya lugha zinazohusika, kwani ni sehemu moja tu inayotekelezwa katika Go, ambayo imepangwa kubadilishwa kwanza.

Rust ilichaguliwa kama lugha inayochanganya msimbo wa utendakazi wa hali ya juu na uwezo wa kuhifadhi kumbukumbu, hauhitaji mkusanyiko wa takataka, inafaa kwa kuunda vipengele vya kiwango cha chini na cha juu, na hutoa vipengele vya ziada ili kupunguza makosa yanayoweza kutokea, kama vile cheki cha kukopa. ). Rust pia imeenea zaidi kuliko lugha ya OCaml inayotumika sasa katika XAPI, ambayo itarahisisha kuvutia watengenezaji wapya kwenye mradi huo.

Awamu ya kwanza itakuwa kutengeneza uingizwaji wa vipengee kadhaa vya kujaribu michakato na kuandaa msingi wa uingizwaji wa sehemu zingine za rundo la programu. Hasa, kwanza kabisa, zana za wageni za Linux, ambazo lugha ya Go inatumiwa kwa sasa, na mchakato wa usuli wa kukusanya metriki, ulioandikwa katika OCaml, utaandikwa upya kwa Rust.

Haja ya kufanya kazi upya zana za wageni za Linux (xe-guest-utilities) husababishwa na matatizo ya ubora wa msimbo na uundaji nje ya Mradi wa Xen chini ya udhibiti wa Cloud Software Group, ambayo inafanya kuwa vigumu kufunga vifurushi na ushawishi wa jumuiya kwenye maendeleo. Wanapanga kuunda toleo jipya la zana ya zana (xen-guest-agent) kabisa kutoka mwanzo, na kuifanya iwe rahisi iwezekanavyo na kutenganisha mantiki ya wakala kutoka kwa maktaba. Iliamuliwa kutayarisha upya mchakato wa usuli wa kukusanya vipimo (rrdd) kwa kuwa ni fupi na tofauti, ambayo hurahisisha majaribio ya kutumia lugha mpya wakati wa usanifu.

Mwaka ujao, kazi inaweza kuanza juu ya ukuzaji wa sehemu ya xenopsd-ng huko Rust, ambayo itaboresha usanifu wa safu ya programu. Wazo kuu ni kuzingatia kazi na API za kiwango cha chini katika sehemu moja na kupanga utoaji wa API zote za kiwango cha juu kwa vipengele vingine vya stack kupitia hiyo.

Usanifu wa sasa wa safu ya Xen:

Xen Hypervisor Toolkit Rework Initiative in Rust

Usanifu uliopendekezwa wa safu ya Xen kulingana na xenopsd-ng:

Xen Hypervisor Toolkit Rework Initiative in Rust


Chanzo: opennet.ru

Kuongeza maoni