Rust дахь Xen Hypervisor Toolkit Rework Initiative

Xen төслийн жигүүрийн дор бүтээгдсэн XCP-ng платформыг хөгжүүлэгчид Rust хэл дээрх Xen програм хангамжийн стекийн янз бүрийн бүрэлдэхүүн хэсгүүдийг орлуулах төлөвлөгөөг нийтэлжээ. Xen гипервизорыг өөрөө дахин боловсруулах төлөвлөгөө байхгүй бөгөөд ажил нь голчлон багаж хэрэгслийн бие даасан бүрэлдэхүүн хэсгүүдийг дахин боловсруулахад чиглэгддэг.

Одоогоор платформ нь C, Python, OCaml, Go бүрэлдэхүүн хэсгүүдийг ашиглаж байгаа бөгөөд тэдгээрийн зарим нь хуучирсан бөгөөд засвар үйлчилгээ хийхэд бэрхшээлтэй байдаг. Go-д зөвхөн нэг бүрэлдэхүүн хэсэг хэрэгжиж байгаа тул эхлээд солихоор төлөвлөж байгаа тул Rust-ийг ашиглах нь хамрагдсан хэлний тоог бүхэлд нь нэмэгдүүлэхгүй гэж тэмдэглэжээ.

Rust хэл нь өндөр гүйцэтгэлтэй кодыг санах ойд аюулгүй боломжуудтай хослуулсан, хог цуглуулагч шаарддаггүй, доод түвшний болон дээд түвшний бүрэлдэхүүн хэсгүүдийг боловсруулахад тохиромжтой, боломжит алдааг багасгах нэмэлт функцээр хангагдсан хэлээр сонгосон. шалгагч зээлэх.). Rust нь XAPI-д одоогоор ашиглагдаж байгаа OCaml хэлээс илүү өргөн тархсан бөгөөд энэ нь төсөлд шинэ хөгжүүлэгчдийг татахад хялбар болгоно.

Эхний үе шат нь процессуудыг турших, програм хангамжийн стекийн бусад хэсгүүдийг солих үндсийг бэлтгэх хэд хэдэн бүрэлдэхүүн хэсгүүдийн орлуулалтыг боловсруулах явдал юм. Ялангуяа, юуны түрүүнд Go хэлийг ашиглаж байгаа Linux зочны хэрэгслүүд болон OCaml дээр бичигдсэн хэмжигдэхүүн цуглуулах суурь процессыг Rust дээр дахин бичих болно.

Линуксийн зочны хэрэгслүүдийг (xe-guest-utilities) дахин боловсруулах хэрэгцээ нь Cloud Software Group-ийн хяналтан дор байдаг Xen Төслийн гаднах кодын чанар, хөгжүүлэлттэй холбоотой асуудлуудаас үүдэлтэй бөгөөд энэ нь багцуудыг багцлахад хүндрэл учруулж, хөгжилд олон нийтийн нөлөөллийг бий болгодог. Тэд хэрэглүүрийн (xen-зочин-агент) шинэ хувилбарыг эхнээс нь бүтээхээр төлөвлөж байгаа бөгөөд үүнийг аль болох энгийн болгож, агентын логикийг номын сангаас салгах болно. Хэмжилтийг (rrdd) цуглуулах суурь процессыг дахин боловсруулахаар шийдсэн бөгөөд энэ нь авсаархан бөгөөд тусдаа тул хөгжүүлэлтийн явцад шинэ хэл ашиглах туршилтыг хялбаршуулдаг.

Ирэх жил Rust дахь xenopsd-ng бүрэлдэхүүн хэсгийг хөгжүүлэх ажил эхэлж магадгүй бөгөөд энэ нь програм хангамжийн стекийн архитектурыг оновчтой болгох болно. Гол санаа нь доод түвшний API-уудтай ажиллах ажлыг нэг бүрэлдэхүүн хэсэгт төвлөрүүлж, түүгээр дамжуулан стекийн бусад бүрэлдэхүүн хэсгүүдэд өндөр түвшний бүх API-г өгөх ажлыг зохион байгуулах явдал юм.

Одоогийн Xen стекийн архитектур:

Rust дахь Xen Hypervisor Toolkit Rework Initiative

Xenopsd-ng дээр суурилсан Xen стек архитектурыг санал болгож байна:

Rust дахь Xen Hypervisor Toolkit Rework Initiative


Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх