Π‘Π»Π΅Π΄ ΠΎΡΠ΅ΠΌ Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, ΠΏΡΠΎΠ΅ΠΊΡΡΡ Muen 1.0, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π·Π²ΠΈΠ²Π° ΡΠ΄ΡΠΎΡΠΎ Π·Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ (Separation kernel), Π½Π°ΠΉ-Π½Π°ΠΊΡΠ°Ρ Π΅ ΡΠ°ΠΊΡ. ΠΡΡΡΡΡΠ²ΠΈΠ΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π΅ ΠΏΠΎΡΠ²ΡΡΠ΄Π΅Π½ΠΎ ΡΡΠ΅Π· ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΠΎΡΠΈΡΠΈΠ°Π»Π½Π° Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ Π½Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡΡΠ°. Π―Π΄ΡΠΎΡΠΎ Π΅ Π½Π°Π»ΠΈΡΠ½ΠΎ Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° x86_64 ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° Π² ΠΊΡΠΈΡΠΈΡΠ½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠΈ Π²ΠΈΡΠΎΠΊ ΡΡΠΎΠ²Π΅Π½Ρ Π½Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ ΠΈ Π³Π°ΡΠ°Π½ΡΠΈΡ Π·Π° ΠΎΡΡΡΡΡΠ²ΠΈΠ΅ Π½Π° ΡΡΠΈΠ²ΠΎΠ²Π΅. ΠΠ·Ρ ΠΎΠ΄Π½ΠΈΡΡ ΠΊΠΎΠ΄ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° Ada ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡ Π²Π΅ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌ Π΄ΠΈΠ°Π»Π΅ΠΊΡ SPARK 2014. ΠΠΎΠ΄ΡΡ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ GPLv3.
Π―Π΄ΡΠΎΡΠΎ Π·Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° ΠΌΠΈΠΊΡΠΎΡΠ΄ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ΅Π΄Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ Π΅Π΄Π½ΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ, ΡΠΈΠ΅ΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π΅ ΡΡΡΠΎΠ³ΠΎ ΡΠ΅Π³ΡΠ»ΠΈΡΠ°Π½ΠΎ Ρ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°. ΠΠ·ΠΎΠ»Π°ΡΠΈΡΡΠ° Π΅ Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π·Π° Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Intel VT-x ΠΈ ΠΏΡΠ΅Π΄Π²ΠΈΠΆΠ΄Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΡΠΊΡΠΈΡΠΈ ΠΊΠ°Π½Π°Π»ΠΈ Π·Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡ. Π―Π΄ΡΠΎΡΠΎ Π·Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π΅ Π΅ ΠΏΠΎ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΠΈΡΡΠΈΡΠ½ΠΎ ΠΈ ΡΡΠ°ΡΠΈΡΠ½ΠΎ Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Π΄ΡΡΠ³ΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΄ΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π±ΡΠΎΡΡ Π½Π° ΡΠΈΡΡΠ°ΡΠΈΡΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π°Ρ Π΄ΠΎ ΡΡΠΈΠ².
Π―Π΄ΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π² ΠΊΠΎΡΠ΅Π½Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌ VMX, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° Ρ ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ°, Π° Π²ΡΠΈΡΠΊΠΈ ΠΎΡΡΠ°Π½Π°Π»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π² Π½Π΅ΠΊΠΎΡΠ΅Π½Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌ VMX, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° Π³ΠΎΡΡ-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠΎΡΡΡΠΏΡΡ Π΄ΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ΡΠΎ ΡΡΠ°Π²Π° Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Intel VT-d DMA ΠΈ ΡΠ΅ΠΌΠ°ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½ΠΈΡ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π° Π²ΡΡΠ·ΠΊΠ° Π½Π° PCI-ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΊΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ, ΡΡΠ°ΡΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΠ΄ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Muen.

ΠΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° Muen, ΡΠ΅ ΠΎΡΠΊΡΠΎΡΠ²Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄ΡΠ΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π²Π»ΠΎΠΆΠ΅Π½ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΏΠ°ΠΌΠ΅Ρ (EPT, Extended Page Tables), MSI (Message Signaled Interrupts), ΡΠ°Π±Π»ΠΈΡΠΈ Π°ΡΡΠΈΠ±ΡΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ ΠΏΠ°ΠΌΠ΅Ρ (PAT, Page Attribute Table). Muen ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΡΠΎ ΠΈ ΡΠΈΠΊΡΠΈΡΠ°Π½ ΡΠΈΠΊΠ»ΠΈΡΠ΅Π½ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π΅Π½ ΡΠ°ΠΉΠΌΠ΅Ρ Intel VMX, ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ΅Π½ runtime, ΠΊΠΎΠΉΡΠΎ Π½Π΅ Π²Π»ΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°, ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΎΠ΄ΠΈΡ Π½Π° ΡΡΠΈΠ²ΠΎΠ²Π΅ΡΠ΅, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΡΠ°ΡΠΈΡΠ½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈΡΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π°, ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠ±ΠΈΡΠΈΡ ΠΈ ΠΊΠ°Π½Π°Π»ΠΈ Π·Π° ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π·Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ°ΡΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ.
ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Ρ 64-Π±ΠΈΡΠ΅Π½ ΠΌΠ°ΡΠΈΠ½Π΅Π½ ΠΊΠΎΠ΄, 32- ΠΈΠ»ΠΈ 64-Π±ΠΈΡΠΎΠ²ΠΈ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, 64-Π±ΠΈΡΠΎΠ²ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π΅Π·ΠΈΡΠΈΡΠ΅ Ada ΠΈ SPARK 2014, Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ Ρ Linux ΠΈ ΡΠ°ΠΌΠΎΠ΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΈ Β«unikernelΒ» Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° MirageOS.
ΠΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π½ΠΎΠ²ΠΎΠ²ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ Π² Π²Π΅ΡΡΠΈΡ Muen 1.0:
- ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ ΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈ ΡΡΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ (ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°), ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° (ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ, Tau0 ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ) ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅, Π² ΠΊΠΎΠΈΡΠΎ ΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΈ Π²ΡΠΈΡΠΊΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ Tau0 (Muen System Composer), Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π½Π°Π±ΠΎΡ ΠΎΡ Π³ΠΎΡΠΎΠ²ΠΈ Π²Π΅ΡΠΈΡΠΈΡΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΠΈΠΏΠΎΠ²ΠΈ ΡΡΠ»ΡΠ³ΠΈ, ΡΡΠ°ΡΡΠΈΡΠ°ΡΠΈ Π½Π°Π΄ Muen. Π‘ΡΠ΅Π΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ ΡΠ° Π΄ΡΠ°ΠΉΠ²Π΅Ρ AHCI (SATA), Device Manager (DM), Π·Π°ΡΠ΅ΠΆΠ΄Π°Ρ, ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ, Π²ΠΈΡΡΡΠ°Π»Π΅Π½ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈ Π΄Ρ.
- Linux-Π΄ΡΠ°ΠΉΠ²Π΅ΡΡΡ muenblock (ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° Π±Π»ΠΎΡΠ½ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΎ Π½Π°Π΄ ΡΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Muen) Π΅ ΠΏΡΠ΅Π²Π΅Π΄Π΅Π½ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° API blockdev 2.0.
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΡΠ° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΆΠΈΠ·Π½Π΅Π½ΠΈΡ ΡΠΈΠΊΡΠ» Π½Π° ΡΠΎΠ΄Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ.
- Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ° ΠΏΡΠ΅Π²Π΅Π΄Π΅Π½ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ SBS (Signed Block Stream) ΠΈ CSL (Command Stream Loader) Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π° ΡΠ΅Π»ΠΎΡΡΡΠ°.
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΅ Π²Π΅ΡΠΈΡΠΈΡΠΈΡΠ°Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ AHCI-DRV, Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° SPARK 2014, ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ATA, ΠΈΠ»ΠΈ ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ Π΄ΡΠ»ΠΎΠ²Π΅.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° unikernel ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠ΅ MirageOS ΠΈ Solo5 Π΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π°.
- ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° Π΅Π·ΠΈΠΊΠ° Ada ΡΠ° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π΄ΠΎ Π²Π΅ΡΡΠΈΡ GNAT Community 2021.
- Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° Π½Π΅ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Π΅ ΠΏΡΠ΅Π²Π΅Π΄Π΅Π½Π° ΠΎΡ Π΅ΠΌΡΠ»Π°ΡΠΎΡΠ° Bochs Π½Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΈ ΡΡΠ΅Π΄ΠΈ QEMU/KVM.
- Π ΠΎΠ±ΡΠ°Π·ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Ρ Linux Π΅ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΎ ΡΠ΄ΡΠΎΡΠΎ Linux 5.4.66.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
