เบ•เบปเป‰เบ™เปเบšเบšเบ‚เบญเบ‡ OS Phantom เบžเบฒเบเปƒเบ™เบ›เบฐเป€เบ—เบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Genode เบˆเบฐเบเบฝเบกเบžเป‰เบญเบกเบเปˆเบญเบ™เบ—เป‰เบฒเบเบ›เบต

Dmitry Zavalishin เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเป€เบญเบปเบฒเป€เบ„เบทเปˆเบญเบ‡ virtual เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ Phantom เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก Genode microkernel OS. เบเบฒเบ™เบชเปเบฒเบžเบฒเบ”เบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบงเปˆเบฒเบชเบฐเบšเบฑเบšเบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡ Phantom เปเบกเปˆเบ™เบเบฝเบกเบžเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡, เปเบฅเบฐเบชเบฐเบšเบฑเบšเบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆ Genode เบˆเบฐเบเบฝเบกเบžเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบ—เป‰เบฒเบเบ›เบต. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบฑเบ™เบ•เบปเบงเปเบšเบšเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบเบฒเบ”เบขเบนเปˆเปƒเบ™เป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™, เบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡เปเบฅเบฐเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เป„เบ”เป‰เบ™เปเบฒเป€เบญเบปเบฒเป„เบ›เปƒเบ™เบฅเบฐเบ”เบฑเบšเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบญเบธเบ”เบชเบฒเบซเบฐเบเปเบฒ, เปเบฅเบฐเปƒเบ™เบšเบฑเบ™เบ”เบฒเปเบœเบ™เบเบฒเบ™เบ—เบฑเบ™เบ—เบตเบ—เบฑเบ™เปƒเบ”, เบเบฒเบ™เบชเป‰เบฒเบ‡เบชเบฐเบšเบฑเบš alpha เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡. เป‚เบ”เบเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบกเบ–เบทเบเบเปˆเบฒเบงเป€เบ–เบดเบ‡.

เบฅเบฐเบซเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเบ™เปเบˆเบเบขเบฒเบเบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” LGPL, เปเบ•เปˆเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบชเบธเบ”เบ—เป‰เบฒเบเปƒเบ™เบ„เบฑเบ‡เป€เบเบฑเบšเบซเบผเบฑเบเปเบกเปˆเบ™เบฅเบปเบ‡เบงเบฑเบ™เบ—เบตเป€เบ”เบทเบญเบ™เบžเบฐเบˆเบดเบ 2019. เบเบดเบ”เบˆเบฐเบเปเบฒเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเบ™เบชเบธเบกเปƒเบชเปˆเบขเบนเปˆเปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เบ—เบตเปˆเบกเบตเบชเป‰เบญเบกเบชเปเบฒเบฅเบฑเบš Genode, เป€เบŠเบดเปˆเบ‡เป„เบ”เป‰เบ–เบทเบเบฎเบฑเบเบชเบฒเป„เบงเป‰เบ•เบฑเป‰เบ‡เปเบ•เปˆเป€เบ”เบทเบญเบ™เบ—เบฑเบ™เบงเบฒ 2020 เป‚เบ”เบ Anton Antonov, เบ™เบฑเบเบชเบถเบเบชเบฒเบˆเบฒเบเบกเบฐเบซเบฒเบงเบดเบ—เบฐเบเบฒเป„เบฅ Innopolis.

เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบ•เบปเป‰เบ™เบ›เบต 2000, เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ Phantom เป„เบ”เป‰เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบ›เบฑเบ™เป‚เบ„เบ‡เบเบฒเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบ‚เบญเบ‡ Dmitry Zavalishin, เปเบฅเบฐเบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆ 2010 เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเป‚เบญเบ™เบขเบนเปˆเบžเบฒเบเปƒเบ•เป‰เบ›เบตเบเบ‚เบญเบ‡เบšเปเบฅเบดเบชเบฑเบ” Digital Zone เบ—เบตเปˆเบชเป‰เบฒเบ‡เป‚เบ”เบ Dmitry. เบฅเบฐเบšเบปเบšเปเบกเปˆเบ™เบซเบ™เป‰เบฒเบชเบฑเบ‡เป€เบเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบธเบกเปƒเบชเปˆเบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบทเบชเบนเบ‡เปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡ "เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธ" เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™ "เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เป„เบŸเบฅเปŒ", เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบฎเบฑเบ”เป„เบ”เป‰เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป„เบŸเบฅเปŒเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เบฎเบฑเบเบชเบฒเบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบฅเบฐ. เบงเบปเบ‡เบˆเบญเบ™เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ. เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปƒเบ™ Phantom เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบขเบธเบ”, เปเบ•เปˆเบ–เบทเบเบฅเบฐเบ‡เบฑเบšเป„เบงเป‰เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™เปเบฅเบฐเบชเบทเบšเบ•เปเปˆเบˆเบฒเบเบˆเบธเบ”เบ—เบตเปˆเบ–เบทเบเบฅเบปเบšเบเบงเบ™. เบ•เบปเบงเปเบ›เปเบฅเบฐเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบชเบฒเบกเบฒเบ”เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เบ”เบปเบ™เป€เบ—เบปเปˆเบฒเบ—เบตเปˆเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™, เปเบฅเบฐเบœเบนเป‰เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบเบฑเบ‡เบงเบปเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เบฐเบซเบเบฑเบ”เบ‚เปเป‰เบกเบนเบ™เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ.

เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปƒเบ™ Phantom เป„เบ”เป‰เบ–เบทเบเบฅเบงเบšเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ bytecode, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡ virtual เบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆ stack, เบ„เป‰เบฒเบเบ„เบทเบเบฑเบš Java virtual machine. เป€เบ„เบทเปˆเบญเบ‡ virtual เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบ„เบงเบฒเบกเบ„เบปเบ‡เบ—เบปเบ™เบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ - เบฅเบฐเบšเบปเบšเบˆเบฐเบ›เบฑเบšเบเบฒเบ™เบ–เปˆเบฒเบเบฎเบนเบšเบ‚เบญเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ‚เบญเบ‡ virtual machine เป€เบ›เบฑเบ™เปเบ•เปˆเบฅเบฐเป„เบฅเบเบฐ. เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบเบฒเบ™โ€‹เบ›เบดเบ”โ€‹เบซเบผเบทโ€‹เบ‚เบฑเบ”โ€‹, เบเบฒเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบชเบทเบšโ€‹เบ•เปเปˆโ€‹เป„เบ”เป‰โ€‹เป‚เบ”เบโ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™โ€‹เบˆเบฒเบโ€‹เบเบฒเบ™โ€‹เบ–เปˆเบฒเบโ€‹เบฎเบนเบšโ€‹เบซเบ™เปˆเบงเบโ€‹เบ„เบงเบฒเบกโ€‹เบˆเปเบฒโ€‹เบ—เบตเปˆโ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เป„เบงเป‰โ€‹เบ„เบฑเป‰เบ‡โ€‹เบชเบธเบ”โ€‹เบ—เป‰เบฒเบโ€‹. เบชเบฐเปเบ™เบฑเบšเบŠเบฑเบญเบ”เบ–เบทเบเบชเป‰เบฒเบ‡เบขเบนเปˆเปƒเบ™เป‚เปเบ”เบšเปเปˆเบŠเบดเป‰เบ‡เป‚เบ„เบ™ เปเบฅเบฐ เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบขเบธเบ”เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบชเบฐเป€เปเบทเบญเบ™เบŠเบปเปˆเบงเบ„เบฒเบง, เปเบ•เปˆเบžเบฒเบšเบ–เปˆเบฒเบเบšเบฑเบ™เบ—เบถเบเบžเบฒเบšเป€เบ—เบทเปˆเบญเบ”เบฝเบง, เบ„เบทเบเบฑเบšเบงเปˆเบฒเป€เบ„เบทเปˆเบญเบ‡เบชเบฐเป€เปเบทเบญเบ™เบ–เบทเบเบขเบธเบ”, เบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เปƒเบ™เบ”เบดเบชเบเปŒ เปเบฅเบฐเป€เบฅเบตเปˆเบกเปƒเปเปˆเบญเบตเบเบ„เบฑเป‰เบ‡.

เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบตเปˆเบขเบนเปˆเบ—เบปเปˆเบงเป„เบ›เบ—เบปเปˆเบงเป‚เบฅเบ, เป€เบŠเบดเปˆเบ‡เบเปเบฒเบˆเบฑเบ”เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เบชเบฐเบžเบฒเบšเบเบฒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡ kernel เปเบฅเบฐเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™, เปเบฅเบฐเบเบฑเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบ„เบงเบฒเบกเบ‡เปˆเบฒเบเบ”เบฒเบเปเบฅเบฐเป€เบฅเบฑเปˆเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบฅเบฐเบซเบงเปˆเบฒเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™ virtual machine, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เปเบฅเบเบ›เปˆเบฝเบ™เบงเบฑเบ”เบ–เบธเป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบตเบ‡. เบเบฒเบ™เปเบเบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ‚เบญเบ‡เบงเบฑเบ”เบ–เบธ, เบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบดเบ‡เบ—เบตเปˆเบžเบฝเบ‡เปเบ•เปˆเบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เป‚เบ—เบซเบฒเบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก (เบšเปเปˆเบกเบตเบ•เบปเบงเบŠเบตเป‰เป€เบฅเบเบ•เบปเบงเป€เบฅเบ). เบ‚เปเป‰เบกเบนเบ™เปƒเบ”เป†, เบฅเบงเบกเบ—เบฑเบ‡เบ„เปˆเบฒเบ•เบปเบงเป€เบฅเบ, เบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™เป€เบ›เบฑเบ™เบงเบฑเบ”เบ–เบธเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ.

เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ, เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เปเบฅเบฐเบšเปเปˆเบ‚เบถเป‰เบ™เบเบฑเบš OS reboots, crashes, เปเบฅเบฐเบเบฒเบ™เบ›เบดเบ”เบ„เบญเบกเบžเบดเบงเป€เบ•เบต. เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเบชเปเบฒเบฅเบฑเบš Phantom เปเบกเปˆเบ™เบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเบšเปเปˆเป€เบ„เบตเบเบขเบธเบ”เบชเปเบฒเบฅเบฑเบšเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบกเบงเบฑเบ”เบ–เบธ. เบเบฒเบ™ Porting เป‚เบ›เบฅเปเบเบฅเบก Java เบเบฑเบš Phantom เปเบกเปˆเบ™เบ–เบทเบงเปˆเบฒเป€เบ›เบฑเบ™เบงเบดเบ—เบตเบเบฒเบ™เบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ, เป€เบŠเบดเปˆเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบญเปเบฒเบ™เบงเบเบ„เบงเบฒเบกเบชเบฐเบ”เบงเบเป‚เบ”เบเบ„เบงเบฒเบกเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบ‚เบญเบ‡ Phantom virtual machine เบเบฑเบš JVM. เบ™เบญเบเป€เบซเบ™เบทเบญเป„เบ›เบˆเบฒเบ bytecode compiler เบชเปเบฒเบฅเบฑเบšเบžเบฒเบชเบฒ Java, เป‚เบ„เบ‡เบเบฒเบ™เบงเบฒเบ‡เปเบœเบ™เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡ compilers เบชเปเบฒเบฅเบฑเบš Python เปเบฅเบฐ C#, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเปเบ›เบˆเบฒเบ WebAssembly intermediate code.

เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบนเบ‡, เป€เบŠเบฑเปˆเบ™เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบงเบดเบ”เบตเป‚เบญเปเบฅเบฐเบชเบฝเบ‡, เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบงเบฑเบ”เบ–เบธเบชเบญเบ‡เบ—เบตเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เบžเบทเป‰เบ™เป€เบกเบทเบญเบ‡เปƒเบ™เบเบฐเบ—เบนเป‰เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ (LLVM เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ›เบฐเบเบญเบšเบงเบฑเบ”เบ–เบธเบชเบญเบ‡). เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ kernel เบฅเบฐเบ”เบฑเบšเบ•เปเปˆเบฒ, เบšเบฒเบ‡เบซเป‰เบญเบ‡เบฎเบฝเบ™ VM (เบŠเบฑเป‰เบ™เบฎเบฝเบ™ "เบžเบฒเบเปƒเบ™") เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบš OS kernel. เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ Linux, เบŠเบฑเป‰เบ™ POSIX เปเบกเปˆเบ™เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบงเปˆเบฒเบˆเปเบฒเบฅเบญเบ‡เบเบฒเบ™เป€เบญเบตเป‰เบ™เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™ Unix (เบ„เบงเบฒเบกเบ„เบปเบ‡เบ—เบปเบ™เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปƒเบ™เบŠเบฑเป‰เบ™ POSIX เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เป„เบ”เป‰เบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰).

เบ•เบปเป‰เบ™เปเบšเบšเบ‚เบญเบ‡ OS Phantom เบžเบฒเบเปƒเบ™เบ›เบฐเป€เบ—เบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Genode เบˆเบฐเบเบฝเบกเบžเป‰เบญเบกเบเปˆเบญเบ™เบ—เป‰เบฒเบเบ›เบต

Phantom OS เปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบก, เบ™เบญเบเป€เบซเบ™เบทเบญเป„เบ›เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡ virtual, เบ›เบฐเบเบญเบšเบกเบต kernel เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฐเบ—เบนเป‰, เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ, เป€เบ„เบทเปˆเบญเบ‡เป€เบเบฑเบšเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญ, เบเบปเบ™เป„เบเบเบฒเบ™ synchronization, เบฅเบฐเบšเบปเบš input / output เปเบฅเบฐเป„เบ”เป€เบงเบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบฎเบฒเบ”เปเบง, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เป‚เบ„เบ‡เบเบฒเบ™เบชเบฑเบšเบชเบปเบ™เบซเบผเบฒเบ. เป€เบžเบทเปˆเบญเบเบฝเบกเบžเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบขเปˆเบฒเบ‡เบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡. เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบกเบต stack เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เบฅเบฐเบšเบปเบšเบเปˆเบญเบเบเบฒเบŸเบดเบเปเบฅเบฐเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบœเบนเป‰เปƒเบŠเป‰เบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ. เบกเบฑเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบฅเบฐเบšเบปเบšเบเปˆเบญเบเบ‚เบญเบ‡เบเบฒเบŸเบดเบเปเบฅเบฐเบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบšเปเบเปˆเบ™.

เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡, เบเบฒเบ™เบžเบปเบเบžเบฒเปเบฅเบฐเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™, เบกเบตเบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ—เบตเปˆเบˆเบฐ Port เป€เบ„เบทเปˆเบญเบ‡ virtual Phantom เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเป‚เบ”เบเปƒเบŠเป‰เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™ microkernel เป€เบ›เบตเบ” Genode, เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบตเปˆเบ„เบงเบšเบ„เบธเบกเป‚เบ”เบเบšเปเบฅเบดเบชเบฑเบ”เป€เบขเบเบฅเบฐเบกเบฑเบ™ Genode Labs. เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡ Phantom เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Genode, เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆ Docker เบžเบดเป€เบชเบ”เป„เบ”เป‰เบ–เบทเบเบเบฐเบเบฝเบก.

เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Genode เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰ microkernels เปเบฅเบฐเป„เบ”เป€เบงเบตเบ—เบตเปˆเบ–เบทเบเบžเบดเบชเบนเบ”เปเบฅเป‰เบง, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบเป‰เบฒเบเป„เบ”เป€เบงเบตเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰ (เปƒเบ™เบฎเบนเบšเปเบšเบšเบ›เบฐเบˆเบธเบšเบฑเบ™, เป„เบ”เป€เบงเบตเปเบกเปˆเบ™เบ‚เบฝเบ™เปƒเบ™ C เปเบฅเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™เบฅเบฐเบ”เบฑเบš Phantom kernel). เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ™เปเบฒเปƒเบŠเป‰ seL4 microkernel, เป€เบŠเบดเปˆเบ‡เป„เบ”เป‰เบœเปˆเบฒเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบทเบ—เบฒเบ‡เบ„เบฐเบ™เบดเบ”เบชเบฒเบ”, เบขเบทเบ™เบขเบฑเบ™เบงเปˆเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เบžเบฒเบชเบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™. เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เบเบฐเบเบฝเบกเบซเบผเบฑเบเบ–เบฒเบ™เบชเบฐเปเบ”เบ‡เบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบทเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡ virtual Phantom เบเปเบฒเบฅเบฑเบ‡เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒ, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบกเบตเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก OS เบ—เบฑเบ‡เบซเบกเบปเบ”.

เบžเบทเป‰เบ™เบ—เบตเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ•เบปเป‰เบ™เบ•เปเบชเปเบฒเบฅเบฑเบšเบžเบญเบ” Genode-based เปเบกเปˆเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบชเปเบฒเบฅเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เบญเบธเบ”เบชเบฒเบซเบฐเบเปเบฒเปเบฅเบฐเบเบฑเบ‡เบ•เปˆเบฒเบ‡เป†. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เบŠเบธเบ”เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡ virtual เป„เบ”เป‰เบ–เบทเบเบเบฐเบเบฝเบกเปเบฅเป‰เบงเปเบฅเบฐเบเบฒเบ™เบœเบนเบเบกเบฑเบ”เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเป€เบ—เบดเบ‡ Genode เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบ„เบงเบฒเบกเบ„เบปเบ‡เบ—เบปเบ™เบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เปเบเปˆเบ™เปเบฅเบฐเบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆเบ•เบปเป‰เบ™เบ•เปเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ•เปˆเปเบฒ. เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบงเปˆเบฒเป€เบ„เบทเปˆเบญเบ‡ virtual Phantom เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เปเบฅเป‰เบงเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก Genode 64-bit, เปเบ•เปˆเบกเบฑเบ™เบเบฑเบ‡เบกเบตเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ” VM เปƒเบ™เป‚เบซเบกเบ”เบ„เบปเบ‡เบ—เบตเปˆ, rework เบฅเบฐเบšเบปเบšเบเปˆเบญเบเบ‚เบญเบ‡เป„เบ”เป€เบงเบตเปเบฅเบฐเบ”เบฑเบ”เปเบ›เบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบกเบต stack เป€เบ„เบทเบญเบ‚เปˆเบฒเบเปเบฅเบฐเบฅเบฐเบšเบปเบšเบเปˆเบญเบเบเบฒเบŸเบดเบเบชเปเบฒเบฅเบฑเบš Genode.

เบ•เบปเป‰เบ™เปเบšเบšเบ‚เบญเบ‡ OS Phantom เบžเบฒเบเปƒเบ™เบ›เบฐเป€เบ—เบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Genode เบˆเบฐเบเบฝเบกเบžเป‰เบญเบกเบเปˆเบญเบ™เบ—เป‰เบฒเบเบ›เบต
เบ•เบปเป‰เบ™เปเบšเบšเบ‚เบญเบ‡ OS Phantom เบžเบฒเบเปƒเบ™เบ›เบฐเป€เบ—เบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Genode เบˆเบฐเบเบฝเบกเบžเป‰เบญเบกเบเปˆเบญเบ™เบ—เป‰เบฒเบเบ›เบต
เบ•เบปเป‰เบ™เปเบšเบšเบ‚เบญเบ‡ OS Phantom เบžเบฒเบเปƒเบ™เบ›เบฐเป€เบ—เบ”เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Genode เบˆเบฐเบเบฝเบกเบžเป‰เบญเบกเบเปˆเบญเบ™เบ—เป‰เบฒเบเบ›เบต


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

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