Hoʻokuʻu ʻia ʻo Muen 1.0, kahi microkernel open source no ke kūkulu ʻana i nā ʻōnaehana hilinaʻi loa

Ma hope o ʻewalu mau makahiki o ka hoʻomohala ʻana, ua hoʻokuʻu ʻia ka papahana Muen 1.0, e hoʻomohala ana i ka kernel Separation, ka nele o nā hewa i ke kumu kumu i hōʻoia ʻia me ka hoʻohana ʻana i nā ʻano makemakika o ka hōʻoia ʻana i ka hilinaʻi kūpono. Loaʻa ka kernel no ka hoʻolālā x86_64 a hiki ke hoʻohana ʻia i nā ʻōnaehana koʻikoʻi e koi ana i kahi pae kiʻekiʻe o ka hilinaʻi a me ka hōʻoia ʻana ʻaʻohe hemahema. Ua kākau ʻia ke kumu kumu o ka papahana ma ka ʻōlelo Ada a me kāna ʻōlelo hōʻoia ʻia ʻo SPARK 2014. Ua māhele ʻia ke code ma lalo o ka laikini GPLv3.

ʻO ka kernel hoʻokaʻawale kahi microkernel e hāʻawi i kahi kaiapuni no ka hoʻokō ʻana i nā ʻāpana i hoʻokaʻawale ʻia mai kekahi i kekahi, ʻo ka pilina o ia mea i hoʻoponopono pono ʻia e nā lula i hāʻawi ʻia. Hoʻokumu ʻia ka hoʻokaʻawale ʻana ma ka hoʻohana ʻana i nā hoʻonui virtualization Intel VT-x a loaʻa pū me nā mīkini palekana e pale ai i ka hoʻonohonoho ʻana o nā kaila kamaʻilio huna. ʻOi aku ka liʻiliʻi a me ke kūpaʻa o ka kernel partitioning ma mua o nā microkernels ʻē aʻe, e hōʻemi ana i ka nui o nā kūlana i hiki ke hoʻokō ʻole.

Holo ka kernel i ka VMX root mode, e like me ka hypervisor, a me nā mea ʻē aʻe a pau e holo ana i ka VMX non-root mode, e like me nā ʻōnaehana malihini. Loaʻa ka loaʻa ʻana i nā mea hana me ka hoʻohana ʻana i nā hoʻonui Intel VT-d DMA a hoʻopau i ka remapping, kahi e hiki ai ke hoʻokō i ka hoʻopaʻa paʻa ʻana o nā mea PCI i nā ʻāpana e holo ana ma lalo o Muen.

Hoʻokuʻu ʻia ʻo Muen 1.0, kahi microkernel open source no ke kūkulu ʻana i nā ʻōnaehana hilinaʻi loa

Loaʻa i nā mea hiki iā Muen ke kākoʻo no nā ʻōnaehana multi-core, nā ʻaoʻao hoʻomanaʻo nested (EPT, Extended Page Tables), MSI (Message Signaled Interrupts), a me nā papa kuhikuhi ʻaoʻao hoʻomanaʻo (PAT, Page Attribute Table). Hāʻawi pū ʻo Muen i kahi hoʻonohonoho round-robin paʻa e pili ana i ka Intel VMX preemptive timer, kahi manawa holo paʻa ʻaʻole e pili ana i ka hana, kahi ʻōnaehana hoʻoponopono ulia pōpilikia, kahi ʻōnaehana hoʻonohonoho waiwai static e pili ana i ka lula, kahi ʻōnaehana mālama hanana, a me nā ala hoʻomanaʻo like no kamaʻilio ma loko o nā ʻāpana holo.

Kākoʻo ia i nā ʻāpana holo me ka 64-bit machine code, 32- a i ʻole 64-bit virtual machines, 64-bit applications in Ada and SPARK 2014 language, Linux virtual machines and self-contained "unikernels" ma muli o MirageOS ma luna o Muen.

ʻO nā hana hou nui i hāʻawi ʻia i ka hoʻokuʻu ʻana o Muen 1.0:

  • Ua paʻi ʻia nā palapala me nā kikoʻī no ka kernel (mea hana a me ka hoʻolālā), ʻōnaehana (nā kulekele ʻōnaehana, Tau0 a me nā mea hana) a me nā ʻāpana, e kākau ana i nā ʻano āpau o ka papahana.
  • Ua hoʻohui ʻia ka pahu hana Tau0 (Muen System Composer), kahi pūʻulu o nā mea i hoʻopaʻa ʻia i mākaukau no ka haku ʻana i nā kiʻi ʻōnaehana a me ka hoʻomohala ʻana i nā lawelawe maʻamau e holo ana ma luna o Muen. ʻO nā mea i hāʻawi ʻia me ka mea hoʻokele AHCI (SATA), Luna Hoʻokele (DM), ka mea hoʻouka pahu, ka luna ʻōnaehana, ka pahu virtual, etc.
  • Ua hoʻololi ʻia ka mea hoʻokele muenblock Linux (kahi hoʻokō o kahi mea poloka e holo ana ma luna o ka hoʻomanaʻo like ʻana o Muen) e hoʻohana i ka blockdev 2.0 API.
  • Nā mea hana i hoʻokō ʻia no ka mālama ʻana i ke kaʻina ola o nā ʻāpana ʻōiwi.
  • Ua hoʻololi ʻia nā kiʻi ʻōnaehana e hoʻohana iā SBS (Signed Block Stream) a me CSL (Command Stream Loader) e pale i ka pono.
  • Ua hoʻokō ʻia kahi mea hoʻokele AHCI-DRV i hōʻoia ʻia, i kākau ʻia ma ka ʻōlelo SPARK 2014 a ʻae iā ʻoe e hoʻohui i nā drive e kākoʻo ana i ka interface ATA a i ʻole nā ​​ʻāpana disk pākahi i nā ʻāpana.
  • Hoʻonui i ke kākoʻo unikernel mai nā papahana MirageOS a me Solo5.
  • Ua hōʻano hou ʻia ka hāmeʻa ʻōlelo Ada no ka hoʻokuʻu ʻana o GNAT Community 2021.
  • Ua hoʻoneʻe ʻia ka ʻōnaehana hoʻohui mau mai ka emulator Bochs i ka QEMU/KVM nested environments.
  • Hoʻohana nā kiʻi ʻāpana Linux i ka Linux 5.4.66 kernel.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka