Fa'asa'olotoina o le Muen 1.0, o se microkernel puna tatala mo le fausiaina o faiga fa'atuatuaina

Ina ua maeʻa le valu tausaga o le atinaʻe, na faʻasaʻolotoina le Muen 1.0 poloketi, atinaʻeina o le Separation kernel, o le leai o ni mea sese i le faʻailoga faʻamaonia na faʻamaonia i le faʻaaogaina o metotia faʻa-matematika o le faʻamaonia aloaia aloaia. O loʻo avanoa le fatu mo le fausaga x86_64 ma e mafai ona faʻaaogaina i faiga faʻa-misiona e manaʻomia ai le faʻateleina o le faʻatuatuaina ma faʻamautinoa e leai se toilalo. O le faʻailoga autu o le poloketi o loʻo tusia i le gagana Ada ma lona gagana faʻamaonia SPARK 2014. O loʻo tufatufaina le code i lalo ole laisene GPLv3.

O le vavaega fatu o se microkernel lea e maua ai se siosiomaga mo le faʻatinoina o vaega e vavae ese mai le tasi ma le isi, o le fegalegaleaiga o loʻo faʻatonutonuina e tulafono tuʻufaʻatasia. O le vavaeeseina e faʻavae i luga o le faʻaogaina o le Intel VT-x virtualization faʻaopoopoga ma e aofia ai auala saogalemu e poloka ai le faʻatulagaina o fesoʻotaʻiga faalilolilo. O le fatu vaevaega e sili atu le laʻititi ma le tumau nai lo isi microkernels, e faʻaitiitia ai le numera o tulaga e mafai ona mafua ai le toilalo.

O le fatu e tamoʻe i le VMX root mode, tutusa ma le hypervisor, ma isi vaega uma o loʻo tamomoe i le VMX non-root mode, e tutusa ma faiga faʻapitoa. O le avanoa i meafaigaluega e faʻaaogaina e faʻaogaina ai le Intel VT-d DMA faʻaopoopoga ma faʻalavelave le toe faʻaogaina, lea e mafai ai ona faʻaogaina le faʻaogaina o masini PCI i vaega o loʻo taʻavale i lalo o Muen.

Fa'asa'olotoina o le Muen 1.0, o se microkernel puna tatala mo le fausiaina o faiga fa'atuatuaina

O le gafatia o Muen e aofia ai le lagolago mo le tele-core system, nested memory page (EPT, Extended Page Tables), MSI (Message Signaled Interrupts), ma le manatua itulau uiga o laulau (PAT, Page Attribute Table). O lo'o tu'uina atu fo'i e Muen se fa'asologa fa'asolosolo fa'asolosolo e fa'avae i luga o le Intel VMX preemptive timer, ose taimi fa'ata'ita'i e le a'afia ai le fa'atinoga, se faiga su'etusi fa'afuase'i, se faiga fa'avae tu'ufa'atasi o punaoa fa'avae, se faiga e fa'afoeina mea e tutupu, ma ala fa'asoa fa'amanatu mo feso'ota'iga i totonu o vaega ta'avale.

E lagolagoina vaega taʻavale ma 64-bit masini numera, 32- poʻo 64-bit masini komepiuta, 64-bit talosaga i Ada ma SPARK 2014 gagana, masini komepiuta ma Linux ma le tagata lava ia "unikernels" faʻavae i luga o MirageOS i luga o Muen.

O mea fou fou na ofoina atu i le tatalaina o Muen 1.0:

  • Ua lomia fa'amaumauga ma fa'amatalaga mo le fatu (masini ma le fausaga), faiga (faiga fa'avae, Tau0 ma meafaigaluega) ma vaega, e fa'amaumau ai vaega uma o le poloketi.
  • O le Tau0 (Muen System Composer) ua fa'aopoopoina meafaigaluega, lea e aofia ai se seti o vaega fa'amaonia ua saunia mo le fatuina o ata fa'aoga ma le atina'eina o auaunaga masani e fa'atautaia i luga o Muen. O vaega o loʻo tuʻuina atu e aofia ai le avetaʻavale AHCI (SATA), Pule Faʻatonu (DM), faʻapipiʻi taʻavale, pule faʻaoga, masini komepiuta, ma isi.
  • O le avetaʻavale muenblock Linux (o se faʻatinoga o se masini poloka o loʻo taʻavale i luga o le Muen shared memory) ua liua e faʻaoga le blockdev 2.0 API.
  • Fa'atino meafaigaluega mo le fa'afoeina o le taamilosaga o le olaga o vaega fa'aletino.
  • Ua liua ata o faiga e faaaoga ai le SBS (Signed Block Stream) ma le CSL (Command Stream Loader) e puipuia ai le amio sa'o.
  • Ua faʻatinoina se avetaʻavale AHCI-DRV faʻamaonia, tusia i le gagana SPARK 2014 ma faʻatagaina oe e faʻafesoʻotaʻi taʻavale e lagolagoina le atinaʻe ATA poʻo vaega taʻitasi tisiki i vaega.
  • Faʻaleleia le lagolago a le Uniernel mai galuega a MirageOS ma Solo5.
  • Ua toe fa'afou le pusa meafaigaluega a le gagana a le GNAT Community 2021.
  • O le faʻaauauina faʻapipiʻi faiga ua faʻafeiloaʻi mai le Bochs emulator i QEMU / KVM nested environments.
  • O ata o vaega Linux e fa'aoga le fatu Linux 5.4.66.

puna: opennet.ru

Faaopoopo i ai se faamatalaga