Pagpagawas sa Muen 1.0, usa ka bukas nga microkernel alang sa pagtukod og kasaligan kaayo nga mga sistema

Human sa walo ka tuig nga pag-uswag, ang Muen 1.0 nga proyekto gibuhian, nga nagpalambo sa Separation kernel, ang pagkawala sa mga sayup sa source code nga gipamatud-an gamit ang mga pamaagi sa matematika sa pormal nga pag-verify sa kasaligan. Ang kernel anaa alang sa x86_64 nga arkitektura ug mahimong gamiton sa mission-critical nga mga sistema nga nagkinahanglan og dugang nga lebel sa pagkakasaligan ug garantiya nga walay mga kapakyasan. Ang source code sa proyekto gisulat sa Ada nga pinulongan ug ang mapamatud-an nga diyalekto nga SPARK 2014. Ang code giapod-apod ubos sa lisensya sa GPLv3.

Ang separation kernel usa ka microkernel nga naghatag usa ka palibot alang sa pagpatuman sa mga sangkap nga nahimulag gikan sa usag usa, ang interaksiyon niini hugot nga gikontrol sa gihatag nga mga lagda. Ang pag-inusara gibase sa paggamit sa Intel VT-x virtualization extensions ug naglakip sa mga mekanismo sa seguridad aron babagan ang organisasyon sa tago nga mga channel sa komunikasyon. Ang partitioning kernel mas minimalistic ug static kay sa ubang microkernels, nga makapamenos sa gidaghanon sa mga sitwasyon nga mahimong hinungdan sa kapakyasan.

Ang kernel midagan sa VMX root mode, susama sa usa ka hypervisor, ug ang tanan nga ubang mga component nagdagan sa VMX non-root mode, susama sa mga guest system. Ang pag-access sa mga ekipo gihimo gamit ang Intel VT-d DMA extensions ug interrupt remapping, nga nagpaposible sa pagpatuman sa luwas nga pagbugkos sa mga PCI device ngadto sa mga component nga nagdagan ubos sa Muen.

Pagpagawas sa Muen 1.0, usa ka bukas nga microkernel alang sa pagtukod og kasaligan kaayo nga mga sistema

Ang mga kapabilidad ni Muen naglakip sa suporta alang sa multi-core system, nested memory page (EPT, Extended Page Tables), MSI (Message Signaled Interrupts), ug memory page attribute tables (PAT, Page Attribute Table). Naghatag usab ang Muen og fixed round-robin scheduler base sa Intel VMX preemptive timer, usa ka compact runtime nga dili makaapekto sa performance, crash auditing system, usa ka rule-based static resource assignment mechanism, event handling system, ug shared memory channels para komunikasyon sulod sa nagdagan nga mga sangkap.

Gisuportahan niini ang nagdagan nga mga sangkap nga adunay 64-bit machine code, 32- o 64-bit virtual machine, 64-bit nga aplikasyon sa Ada ug SPARK 2014 nga mga pinulongan, Linux virtual machine ug self-contained nga "unikernels" base sa MirageOS sa ibabaw sa Muen.

Ang nag-unang mga inobasyon nga gitanyag sa pagpagawas sa Muen 1.0:

  • Ang mga dokumento gipatik uban ang mga detalye para sa kernel (device ug architecture), system (system policy, Tau0 ug toolkit) ug mga component, nga nagdokumento sa tanang aspeto sa proyekto.
  • Ang Tau0 (Muen System Composer) toolkit gidugang, nga naglakip sa usa ka set sa andam na nga napamatud-an nga mga sangkap alang sa pag-compose sa mga imahe sa sistema ug pagpalambo sa mga standard nga serbisyo nga nagdagan sa ibabaw sa Muen. Ang mga component nga gihatag naglakip sa AHCI (SATA) driver, Device Manager (DM), boot loader, system manager, virtual terminal, ug uban pa.
  • Ang muenblock Linux driver (usa ka pagpatuman sa block device nga nagdagan sa ibabaw sa Muen shared memory) kay nakabig aron gamiton ang blockdev 2.0 API.
  • Gipatuman nga mga himan alang sa pagdumala sa siklo sa kinabuhi sa mga lumad nga sangkap.
  • Ang mga imahe sa sistema gi-convert aron magamit ang SBS (Signed Block Stream) ug CSL (Command Stream Loader) aron mapanalipdan ang integridad.
  • Ang usa ka napamatud-an nga drayber sa AHCI-DRV gipatuman, gisulat sa SPARK 2014 nga lengguwahe ug gitugotan ka sa pagkonektar sa mga drive nga nagsuporta sa interface sa ATA o indibidwal nga mga partisyon sa disk sa mga sangkap.
  • Gipauswag nga suporta sa unikernel gikan sa mga proyekto sa MirageOS ug Solo5.
  • Ang toolkit sa pinulongang Ada kay gi-update para sa GNAT Community 2021 release.
  • Ang padayon nga sistema sa integrasyon gibalhin gikan sa Bochs emulator ngadto sa QEMU/KVM nested environment.
  • Ang Linux component images naggamit sa Linux 5.4.66 kernel.

Source: opennet.ru

Idugang sa usa ka comment