ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ отСчСствСнной ОБ Phantom Π½Π° Π±Π°Π·Π΅ Genode Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ² Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Π³ΠΎΠ΄Π°

Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Π—Π°Π²Π°Π»ΠΈΡˆΠΈΠ½ рассказал ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΏΠΎ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Phantom для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ микроядСрной ОБ Genode. Π’ ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ отмСчаСтся, Ρ‡Ρ‚ΠΎ основная вСрсия Phantom ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ ΠΏΠΈΠ»ΠΎΡ‚Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌ, Π° вСрсия Π½Π° Π±Π°Π·Π΅ Genode Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ²Π΅Π΄Π΅Π½Π° Π΄ΠΎ готовности ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ Π² ΠΊΠΎΠ½Ρ†Π΅ Π³ΠΎΠ΄Π°. ΠŸΡ€ΠΈ этом Π½Π° сайтС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎΠΊΠ° заявлСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ работоспособный ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ, ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅Π½Ρ‹ Π΄ΠΎ уровня, ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠΌΡƒ использованию, Π° срСди Π±Π»ΠΈΠΆΠ°ΠΉΡˆΠΈΡ… ΠΏΠ»Π°Π½ΠΎΠ² упоминаСтся Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π»ΡŒΡ„Π°-вСрсии, ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΠΉ для экспСримСнтов сторонними Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ.

Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ LGPL, Π½ΠΎ послСднСС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² основном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π΄Π°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ ноябрём 2019 Π³ΠΎΠ΄Π°. Бвязанная с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ публичная Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ сосрСдоточСна Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ с Ρ„ΠΎΡ€ΠΊΠΎΠΌ для Genode, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ с дСкабря 2020 Π³ΠΎΠ΄Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Антон Антонов, студСнт ΠΈΠ· унивСрситСта Иннополис.

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма Phantom с Π½Π°Ρ‡Π°Π»Π° 2000-x Π³ΠΎΠ΄ΠΎΠ² Ρ€Π°Π·Π²ΠΈΠ²Π°Π»Π°ΡΡŒ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Дмитрия Π—Π°Π²Π°Π»ΠΈΡˆΠΈΠ½Π°, Π° с 2010 Π³ΠΎΠ΄Π° Π±Ρ‹Π»Π° ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° ΠΏΠΎΠ΄ ΠΊΡ€Ρ‹Π»ΠΎ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Digital Zone, созданной Π”ΠΌΠΈΡ‚Ρ€ΠΈΠ΅ΠΌ. БистСма ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π° ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ Π½Π° Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ использованиСм ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ «Π²ΡΠ΅ Π΅ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚» вмСсто «Π²ΡΠ΅ Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· использования Ρ„Π°ΠΉΠ»ΠΎΠ² Π·Π° счёт сохранСния состояния памяти ΠΈ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Phantom Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ, Π° лишь ΠΏΡ€ΠΈΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ c ΠΏΡ€Π΅Ρ€Π²Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ. ВсС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, сколько Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ, ΠΏΡ€ΠΈ этом ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ программисту Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ сохранСнии Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Phantom ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся Π² стСковой Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС, ΠΏΠΎΡ…ΠΎΠΆΠ΅ΠΉ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Java. Π’ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина обСспСчиваСт ΠΏΠ΅Ρ€ΡΠΈΡΡ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ памяти ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ — систСма пСриодичСски сбрасываСт снимки состояния Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π½Π° постоянный Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒ. ПослС Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π°, начиная с послСднСго сохранённого снимка памяти. Π‘Π½ΠΈΠΌΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π² асинхронном Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈ Π±Π΅Π· приостановки Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Π½ΠΎ Π² ΡΠ½Π°ΠΏΡˆΠΎΡ‚Π΅ фиксируСтся Π΅Π΄ΠΈΠ½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ срСз, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ остановили, сохранили Π½Π° диск ΠΈ ΠΎΠΏΡΡ‚ΡŒ запустили.

ВсС прилоТСния Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² ΠΎΠ±Ρ‰Π΅ΠΌ глобальном адрСсном пространствС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ позволяСт ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ контСкста ΠΌΠ΅ΠΆΠ΄Ρƒ ядром ΠΈ прилоТСниями, Π° Ρ‚Π°ΠΊΠΆΠ΅ сущСствСнно ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΈ ускоряСт взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ выполняСмыми Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС прилоТСниями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ ссылок. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ доступа осущСствляСтся Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ссылки Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ‹Π·ΠΎΠ² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² (Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΠ° ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ отсутствуСт). Π›ΡŽΠ±Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π² Ρ‚ΠΎΠΌ числС числовыС значСния, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

Для прилоТСния Ρ€Π°Π±ΠΎΡ‚Π° выглядит Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈ Π½Π΅ зависит ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ ОБ, Π°Π²Π°Ρ€ΠΈΠΉΠ½Ρ‹Ρ… Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. МодСль программирования для Phantom сравниваСтся с запуском Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎΡΡ сСрвСра ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ языка программирования. Π’ качСствС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· основных способов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ рассматриваСтся ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ для Phantom ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° языкС Java, Ρ‡Π΅ΠΌΡƒ способствуСт ΡΡ…ΠΎΠΆΠ΅ΡΡ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Phantom с JVM. ΠšΡ€ΠΎΠΌΠ΅ компилятора Π±Π°ΠΉΡ‚ΠΊΠΎΠ΄Π° для языка Java, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ планируСтся созданиС компиляторов для Python ΠΈ C#, Π° Ρ‚Π°ΠΊΠΆΠ΅ рСализация транслятора ΠΈΠ· ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° WebAssembly.

Для выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π·Π²ΡƒΠΊΠ°, прСдусмотрСна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠ°Ρ… Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ (для сборки Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ LLVM). Для доступа ΠΊ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΌ сСрвисам ядра Ρ‡Π°ΡΡ‚ΡŒ классов VM («Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅» классы) Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ядра ОБ. Для запуска Linux-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ прСдусмотрСна POSIX-прослойка, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°Ρ ΡΠΌΡƒΠ»ΡΡ†ΠΈΡŽ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Unix-процСссов (ΠΏΠ΅Ρ€ΡΠΈΡΡ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² POSIX-прослойкС ΠΏΠΎΠΊΠ° Π½Π΅ обСспСчиваСтся).

ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ отСчСствСнной ОБ Phantom Π½Π° Π±Π°Π·Π΅ Genode Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ² Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Π³ΠΎΠ΄Π°

Врадиционная ОБ Phantom ΠΏΠΎΠΌΠΈΠΌΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ собствСнноС ядро с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° памяти, сборщика мусора, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² синхронизации, систСмы Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ услоТняСт Π΄ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΄ΠΎ готовности ΠΊ ΡˆΠΈΡ€ΠΎΠΊΠΎΠΌΡƒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ с сСтСвым стСком, графичСской подсистСмой ΠΈ интСрфСйсом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ графичСская подсистСма ΠΈ ΠΎΠΊΠΎΠ½Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ядра.

Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ, пСрСносимости ΠΈ бСзопасности ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° прСдпринята ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° пСрСноса Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Phantom для Ρ€Π°Π±ΠΎΡ‚Ρ‹ c использованиСм ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ микроядСрной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Genode, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ нСмСцкая компания Genode Labs. Для ΠΆΠ΅Π»Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Phantom Π½Π° Π±Π°Π·Π΅ Genode ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ сборочноС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π΅ Docker.

ИспользованиС Genode даст Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Π΅ микроядра ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ вынСсти Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Π² пространство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ написаны Π½Π° Π‘ΠΈ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ядра Phantom). Π’ Ρ‚ΠΎΠΌ числС появится Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования микроядра seL4, ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅Π³ΠΎ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ надёТности, ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰ΡƒΡŽ, Ρ‡Ρ‚ΠΎ рСализация ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ соотвСтствуСт спСцификациям, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ языкС. РассматриваСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° надёТности ΠΈ для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Phantom, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ всСго окруТСния ОБ.

Π’ качСствС основной области примСнСния ΠΏΠΎΡ€Ρ‚Π° Π½Π° Π±Π°Π·Π΅ Genode называСтся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… ΠΈ встраиваСмых устройств. Π’ настоящСС врСмя ΡƒΠΆΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ Π½Π°Π±ΠΎΡ€ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ²Π΅Ρ€Ρ… Genode обвязки для ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… ΠΏΠ΅Ρ€ΡΠΈΡΡ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ядра ΠΈ основных Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Ρ… интСрфСйсов. ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина Phantom ΡƒΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² 64-разрядном ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Genode, Π½ΠΎ Π΅Ρ‰Ρ‘ прСдстоит Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ VM Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ пСрсистСнтности, ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ подсистСму Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для Genode ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ с сСтСвым стСком ΠΈ графичСской подсистСмой.

ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ отСчСствСнной ОБ Phantom Π½Π° Π±Π°Π·Π΅ Genode Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ² Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Π³ΠΎΠ΄Π°
ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ отСчСствСнной ОБ Phantom Π½Π° Π±Π°Π·Π΅ Genode Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ² Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Π³ΠΎΠ΄Π°
ΠŸΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ отСчСствСнной ОБ Phantom Π½Π° Π±Π°Π·Π΅ Genode Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ² Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Π³ΠΎΠ΄Π°


Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru