MirageOS 3.6 хувилбар нь гипервизорын дээд талд байгаа програмуудыг ажиллуулах платформ юм

болсон төслийн хувилбар Mirage OS 3.6, энэ нь танд нэг програмын үйлдлийн системийг үүсгэх боломжийг олгодог бөгөөд үүнд програм нь үйлдлийн систем, тусдаа үйлдлийн системийн цөм болон ямар ч давхаргыг ашиглахгүйгээр бие даасан "unikernel" хэлбэрээр хүргэдэг. OCaml хэлийг программ боловсруулахад ашигладаг. Төслийн код тараасан үнэгүй ISC лицензийн дагуу.

Үйлдлийн системд хамаарах бүх доод түвшний функцууд нь програмд ​​хавсаргасан номын сан хэлбэрээр хэрэгждэг. Програмыг ямар ч үйлдлийн системд боловсруулж болох бөгөөд дараа нь тусгай цөмд (үзэл баримтлал нэг цөмт), Xen, KVM, BHyve болон VMM (OpenBSD) гипервизорууд дээр, гар утасны платформууд дээр, POSIX-д нийцсэн орчинд процесс хэлбэрээр эсвэл Amazon Elastic Compute Cloud болон Google Compute Engine үүл орчинд шууд ажиллах боломжтой.

Үүсгэсэн орчин нь нэмэлт зүйл агуулаагүй бөгөөд драйвер эсвэл системийн давхаргагүйгээр гипервизортой шууд харьцдаг бөгөөд энэ нь нэмэлт зардлыг мэдэгдэхүйц бууруулж, аюулгүй байдлыг нэмэгдүүлэх боломжийг олгодог. MirageOS-тэй ажиллах нь гурван үе шаттай: байгаль орчинд ашиглагдаж байгаа тохиргоог бэлтгэх, тохиргоог бэлтгэх. OPAM багцууд, хүрээлэн буй орчныг бий болгох, хүрээлэн буй орчныг эхлүүлэх. Xen-ийн орой дээр ажиллах хугацаа нь задалсан цөм дээр суурилдаг Мини үйлдлийн систем, бусад гипервизорууд болон цөмд суурилсан системүүдэд зориулагдсан Solo5.

Програмууд болон сангууд нь өндөр түвшний OCaml хэл дээр бүтээгдсэн хэдий ч үүссэн орчин нь нэлээд сайн гүйцэтгэлтэй, хамгийн бага хэмжээтэй байдаг (жишээлбэл, DNS сервер нь ердөө 200 KB эзэлдэг). Хөтөлбөрийг шинэчлэх эсвэл тохиргоог өөрчлөх шаардлагатай бол шинэ орчин үүсгэж, эхлүүлэхэд хангалттай тул орчны засвар үйлчилгээг хялбаршуулсан болно. Дэмжигдсэн хэдэн арван номын сан OCaml хэл дээр сүлжээний үйлдлүүдийг (DNS, SSH, OpenFlow, HTTP, XMPP гэх мэт) гүйцэтгэх, хадгалах төхөөрөмжтэй ажиллах, зэрэгцээ өгөгдөл боловсруулах.

Шинэ хувилбарын гол өөрчлөлтүүд нь хэрэгсэлд санал болгож буй шинэ боломжуудыг дэмжихтэй холбоотой юм Solo5 0.6.0 (unikernel ажиллуулахад зориулсан хамгаалагдсан орчин):

  • Unikernel MirageOS-ийг тусгаарлагдсан орчинд ажиллуулах чадварыг нэмсэн spt ("sandboxed process tender") багаж хэрэгслээр хангагдсан Solo5. Spt backend ашиглах үед MirageOS цөмүүд нь seccomp-BPF дээр тулгуурлан хамгийн бага тусгаарлалт бүхий Linux хэрэглэгчийн процессууд дээр ажилладаг;
  • Дэмжлэг хэрэгжсэн хэрэглээний манифест hvt, spt болон muen backend-д тулгуурлан unikernel-д холбогдсон олон сүлжээний адаптер болон хадгалах төхөөрөмжийг тусад нь тодорхойлох боломжийг олгодог Solo5 төслөөс (genode болон virtio backend-д ашиглах нь одоогоор нэг төхөөрөмжөөр хязгаарлагдаж байна);
  • Solo5 (hvt, spt) дээр суурилсан арын хэсгийн хамгаалалтыг бэхжүүлсэн, жишээлбэл, SSP (Stack Smashing Protection) горимд бүтээх ажлыг хангасан.

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

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