ОБ Fuchsia ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΡ‚Π°Π΄ΠΈΡŽ тСстирования Π½Π° сотрудниках Google

Компания Google внСсла измСнСния, ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Fuchsia Π½Π° ΡΡ‚Π°Π΄ΠΈΡŽ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ тСстировния «dogfooding«, ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‰ΡƒΡŽ использованиС ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π² повсСднСвной Π΄Π΅ΡΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сотрудников, ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π³ΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. На ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ стадии ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ находится Π² состоянии, ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅ΠΌ основноС тСстированиС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΎΡ†Π΅Π½ΠΊΠΈ качСства. ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ массам Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ проводят ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° своих сотрудниках, Π½Π΅ Π²ΠΎΠ²Π»Π΅Ρ‡Ρ‘Π½Π½Ρ‹Ρ… Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

Π’ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΊ систСмС управлСния доставкой ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Omaha, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ выпуски Chrome ΠΈ Chrome OS, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ fuchsia.cobalt.SystemDataUpdater ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° инструкция ΠΏΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρƒ устройств Π½Π° Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ «dogfood-release» ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ fx (Π°Π½Π°Π»ΠΎΠ³ adb для Fuchsia). Π’ систСму Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ сборки Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠ° для Π²Π΅Ρ‚ΠΊΠΈ dogfood, Π° Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Fuchsia Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ для ΠΎΡ†Π΅Π½ΠΊΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² тСстирования.

Π’ коммСнтариях ΠΊ измСнСниям Π² Fuchsia упомянуты Π΄Π²Π΅ ссылки для доставки ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ fuchsia-updates.googleusercontent.com ΠΈ arm64.dogfood-release.astro.fuchsia.com, Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ссылкС Astro являСтся ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡƒΠΌΠ½ΠΎΠ³ΠΎ экрана Google Nest Hub, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, судя ΠΏΠΎ всСму, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ сотрудниками Google Π² качСствС ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° для тСстирования
Fuchsia вмСсто ΡˆΡ‚Π°Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ Cast Platform. Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Nest Hub построСн Π½Π° Π±Π°Π·Π΅ прилоТСния Dragonglass, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Flutter, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ поддСрТиваСтся Π² Fuchsia.

Напомним, Ρ‡Ρ‚ΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Fuchsia ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Google развиваСтся ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°Ρ опСрационная систСма, способная Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π»ΡŽΠ±Ρ‹Ρ… Ρ‚ΠΈΠΏΠ°Ρ… устройств, ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… станций ΠΈ смартфонов Π΄ΠΎ встраиваСмой ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° вСдётся с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΎΠΏΡ‹Ρ‚Π° создания ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Android ΠΈ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ нСдостатки Π² области ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ обСспСчСния бСзопасности.

БистСма базируСтся Π½Π° микроядрС Zircon, основанного Π½Π° Π½Π°Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° LK, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ для примСнСния Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… классах устройств, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ смартфоны ΠΈ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‹. Zircon Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ LK ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ процСссов ΠΈ раздСляСмых Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, систСмой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ модСлью обСспСчСния бСзопасности Π½Π° основС capability. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ динамичСских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… процСссом devhost ΠΈ управляСмых ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ устройств (devmg, Device Manager).

Для Fuchsia ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ собствСнный графичСский интСрфСйс, написанный Π½Π° языкС Dart с использованиСм Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Flutter. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для построСния интСрфСйсов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Peridot, ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Fargo, стандартная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° libc, систСма Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Escher, Vulkan-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Magma, ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Scenic, Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы MinFS, MemFS, ThinFS (FAT Π½Π° языкС Go) ΠΈ Blobfs, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² FVM. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ прСдоставляСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° языков C/C++, Dart, Π² систСмных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… Ρ‚Π°ΠΊΠΆΠ΅ допускаСтся использованиС Rust, Π² сСтСвом стСкС Go, Π° Π² систСмС сборки языка Python.

ОБ Fuchsia ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡΡ‚Π°Π΄ΠΈΡŽ тСстирования Π½Π° сотрудниках Google

Π’ процСссС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ систСмный ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ
appmgr для создания Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ окруТСния, sysmgr для формирования Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠ³ΠΎ окруТСния ΠΈ basemgr для настройки ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ окруТСния ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ…ΠΎΠ΄Π° Π² систСму. Для совмСстимости с Linux Π² Fuchsia прСдлагаСтся Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Machina, которая позволяСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Linux-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π° Π½Π° Π±Π°Π·Π΅ ядра Zircon ΠΈ спСцификаций Virtio, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ запуск Linux-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Chrome OS.

Для обСспСчСния бСзопасности прСдлагаСтся продвинутая систСма sandbox-изоляции, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½ΠΎΠ²Ρ‹Π΅ процСссы Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ доступа ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ядра, Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π° для доступа ΠΊ рСсурсам примСняСтся систСма пространств ΠΈΠΌΡ‘Π½, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ доступныС полномочия. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° прСдоставляСт Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для создания ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… собой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, запускаСмыС Π² своём sandbox, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· IPC.

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