เบ›เปˆเบญเบ Muen 1.0, microkernel เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบชเบนเบ‡

เบซเบผเบฑเบ‡เบˆเบฒเบเปเบ›เบ”เบ›เบตเบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เป‚เบ„เบ‡เบเบฒเบ™ Muen 1.0 เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒ, เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบเปˆเบ™ Separation, เบเบฒเบ™เบ‚เบฒเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™เป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™เบ—เบฒเบ‡เบ„เบฐเบ™เบดเบ”เบชเบฒเบ”เบ‚เบญเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบทเบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™. kernel เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐ x86_64 เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบฅเบฐเบšเบปเบšเบžเบฒเบฅเบฐเบเบดเบ”เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบฅเบฐเบ”เบฑเบšเบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบทเบ—เบตเปˆเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เปเบฅเบฐเบเบฒเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”. เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเบ™เบ‚เบฝเบ™เป€เบ›เบฑเบ™เบžเบฒเบชเบฒ Ada เปเบฅเบฐเบžเบฒเบชเบฒเบ—เบตเปˆเบขเบทเบ™เบขเบฑเบ™เป„เบ”เป‰เบ‚เบญเบ‡เบกเบฑเบ™ SPARK 2014. เบฅเบฐเบซเบฑเบ”เปเบกเปˆเบ™เปเบˆเบเบขเบฒเบเบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” GPLv3.

kernel เปเบเบเปเบกเปˆเบ™ microkernel เบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบงเบˆเบฒเบเบเบฑเบ™เปเบฅเบฐเบเบฑเบ™, เบ›เบฐเบ•เบดเบชเปเบฒเบžเบฑเบ™เบ‚เบญเบ‡เบ—เบตเปˆเบ–เบทเบเบ„เบงเบšเบ„เบธเบกเบขเปˆเบฒเบ‡เป€เบ‚เบฑเป‰เบกเบ‡เบงเบ”เป‚เบ”เบเบเบปเบ”เบฅเบฐเบšเบฝเบšเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰. เบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบงเปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ virtualization Intel VT-x เปเบฅเบฐเบ›เบฐเบเบญเบšเบกเบตเบเบปเบ™เป„เบเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเป€เบžเบทเปˆเบญเบชเบฐเบเบฑเบ”เบญเบปเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ‚เบญเบ‡เบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบ—เบตเปˆเบฅเบฑเบš. kernel เบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™เปเบกเปˆเบ™เบซเบ™เป‰เบญเบเปเบฅเบฐเบ„เบปเบ‡เบ—เบตเปˆเบซเบผเบฒเบเบเปˆเบงเบฒ microkernels เบญเบทเปˆเบ™เป†, เป€เบŠเบดเปˆเบ‡เบซเบผเบธเบ”เบœเปˆเบญเบ™เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบง.

kernel เปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™เป‚เบซเบกเบ”เบฎเบฒเบ VMX, เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบš hypervisor, เปเบฅเบฐเบญเบปเบ‡เบ›เบฐเบเบญเบšเบญเบทเปˆเบ™เป†เบ—เบฑเบ‡เบซเบกเบปเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบšเปเปˆเปเบกเปˆเบ™เบฎเบฒเบ VMX, เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบฅเบฐเบšเบปเบšเปเบ‚เบ. เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบญเบธเบ›เบฐเบเบญเบ™เปเบกเปˆเบ™เป€เบฎเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰ Intel VT-d DMA extensions เปเบฅเบฐ interrupt remapping, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบœเบนเบเบกเบฑเบ”เบ—เบตเปˆเบ›เบญเบ”เป„เบžเบ‚เบญเบ‡เบญเบธเบ›เบฐเบเบญเบ™ PCI เบเบฑเบšเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบžเบฒเบเปƒเบ•เป‰ Muen.

เบ›เปˆเบญเบ Muen 1.0, microkernel เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰เบชเบนเบ‡

เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ‚เบญเบ‡ Muen เบฅเบงเบกเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฅเบฐเบšเบปเบšเบซเบผเบฒเบเบซเบผเบฑเบ, เบซเบ™เป‰เบฒเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเบŠเป‰เบญเบ™เบเบฑเบ™ (EPT, Extended Page Tables), MSI (Message Signaled Interrupts), เปเบฅเบฐเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบซเบ™เป‰เบฒเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ (PAT, Page Attribute Table). Muen เบเบฑเบ‡เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒเบฎเบญเบš-robin เบ„เบปเบ‡เบ—เบตเปˆเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบšเป€เบงเบฅเบฒเบฅเปˆเบงเบ‡เบซเบ™เป‰เบฒ Intel VMX, เป€เบงเบฅเบฒเปเบฅเปˆเบ™เบ—เบตเปˆเบซเบ™เบฒเปเบซเบ™เป‰เบ™เบ—เบตเปˆเบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เบฅเบฐเบšเบปเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบญเบธเบ›เบฐเบ•เบดเป€เบซเบ”, เบเบปเบ™เป„เบเบเบฒเบ™เบกเบญเบšเบซเบกเบฒเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปเบšเบšเบ„เบปเบ‡เบ—เบตเปˆเบ•เบฒเบกเบเบปเบ”เบฅเบฐเบšเบฝเบš, เบฅเบฐเบšเบปเบšเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เป€เบซเบ”เบเบฒเบ™, เปเบฅเบฐเบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบ„เบงเบฒเบกเบˆเปเบฒเบ—เบตเปˆเปƒเบŠเป‰เบฎเปˆเบงเบกเบเบฑเบ™เบชเปเบฒเบฅเบฑเบš เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบžเบฒเบเปƒเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบ.

เบกเบฑเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเปเบฅเปˆเบ™เบ”เป‰เบงเบเบฅเบฐเบซเบฑเบ”เป€เบ„เบทเปˆเบญเบ‡ 64-bit, 32- เบซเบผเบท 64-bit virtual machines, เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ 64-bit เปƒเบ™เบžเบฒเบชเบฒ Ada เปเบฅเบฐ SPARK 2014, Linux virtual machines เปเบฅเบฐ "unikernels" เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ MirageOS เบขเบนเปˆเป€เบ—เบดเบ‡ Muen.

เบ™เบฐเบงเบฑเบ”เบ•เบฐเบเปเบฒเบ•เบปเป‰เบ™เบ•เปเบ—เบตเปˆเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบ Muen 1.0:

  • เป€เบญเบเบฐเบชเบฒเบ™เป„เบ”เป‰เบ–เบทเบเป€เบœเบตเบเปเบœเปˆเป‚เบ”เบเบกเบตเบ‚เปเป‰เบกเบนเบ™เบชเบฐเป€เบžเบฒเบฐเบชเปเบฒเบฅเบฑเบš kernel (เบญเบธเบ›เบฐเบเบญเบ™เปเบฅเบฐเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐ), เบฅเบฐเบšเบปเบš (เบ™เบฐเป‚เบเบšเบฒเบเบฅเบฐเบšเบปเบš, Tau0 เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบกเบท) เปเบฅเบฐเบญเบปเบ‡เบ›เบฐเบเบญเบš, เป€เบŠเบดเปˆเบ‡เบšเบฑเบ™เบ—เบถเบเบ—เบธเบเบ”เป‰เบฒเบ™เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™.
  • เบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบท Tau0 (Muen System Composer) เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบก, เป€เบŠเบดเปˆเบ‡เบฅเบงเบกเบกเบตเบŠเบธเบ”เบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบœเปˆเบฒเบ™เบเบฒเบ™เบขเบฑเป‰เบ‡เบขเบทเบ™เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบเบญเบšเบฎเบนเบšเบžเบฒเบšเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเปเบฅเบฐเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ—เบตเปˆเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบขเบนเปˆเป€เบ—เบดเบ‡ Muen. เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบฅเบงเบกเบกเบตเป„เบ”เป€เบงเบต AHCI (SATA), Device Manager (DM), boot loader, เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบฅเบฐเบšเบปเบš, virtual terminal, เปเบฅเบฐเบญเบทเปˆเบ™เป†.
  • เป„เบ”เป€เบงเบต muenblock Linux (เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบญเบธเบ›เบฐเบเบญเบ™เบšเบฅเบฑเบญเบเบ—เบตเปˆเปเบฅเปˆเบ™เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเบณเบ—เบตเปˆเปเบšเปˆเบ‡เบ›เบฑเบ™ Muen) เป„เบ”เป‰เบ–เบทเบเบ›เปˆเบฝเบ™เป„เบ›เปƒเบŠเป‰ blockdev 2.0 API.
  • เบ›เบฐเบ•เบดเบšเบฑเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบงเบปเบ‡เบˆเบญเบ™เบŠเบตเบงเบดเบ”เบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡.
  • เบฎเบนเบšเบžเบฒเบšเบฅเบฐเบšเบปเบšเป„เบ”เป‰เบ–เบทเบเบ›เปˆเบฝเบ™เป„เบ›เปƒเบŠเป‰ SBS (Signed Block Stream) เปเบฅเบฐ CSL (Command Stream Loader) เป€เบžเบทเปˆเบญเบ›เบปเบเบ›เป‰เบญเบ‡เบ„เบงเบฒเบกเบชเบปเบกเบšเบนเบ™.
  • เป„เบ”เป€เบงเบต AHCI-DRV เบ—เบตเปˆเบ–เบทเบเบขเบทเบ™เบขเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”, เบ‚เบฝเบ™เปƒเบ™เบžเบฒเบชเบฒ SPARK 2014 เปเบฅเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป„เบ”เบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš ATA เบซเบผเบทเบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™เบ”เบดเบชเปเบ•เปˆเบฅเบฐเบ„เบปเบ™เบเบฑเบšเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ•เปˆเบฒเบ‡เป†.
  • เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบฎเบญเบ‡เบฎเบฑเบš unikernel เบˆเบฒเบเป‚เบ„เบ‡เบเบฒเบ™ MirageOS เปเบฅเบฐ Solo5.
  • เบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบžเบฒเบชเบฒ Ada เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบญเบ GNAT Community 2021.
  • เบฅเบฐเบšเบปเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เป„เบ”เป‰เบ–เบทเบเป‚เบญเบ™เบˆเบฒเบ emulator Bochs เป„เบ›เบซเบฒ QEMU/KVM เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเบŠเป‰เบญเบ™เบเบฑเบ™.
  • เบฎเบนเบšเบžเบฒเบšเบญเบปเบ‡เบ›เบฐเบเบญเบš Linux เปƒเบŠเป‰ kernel Linux 5.4.66.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™