ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Vivo, ΠΊΠΎΡΡΠΎ Π΄ΡΡΠΆΠΈ ΠΎΠΊΠΎΠ»ΠΎ 10% ΠΎΡ ΡΠ²Π΅ΡΠΎΠ²Π½ΠΈΡ ΠΏΠ°Π·Π°Ρ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΈ (5-ΡΠΎ ΠΌΡΡΡΠΎ ΡΡΠ΅Π΄ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΈ), ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈ ΠΏΡΡΠ²ΠΈΡ ΠΎΡΠΈΡΠΈΠ°Π»Π΅Π½ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΡΠ΅Π»ΠΈΠΉΠ· Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° BlueOS (Blue River OS). ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° BlueOS ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π° ΠΎΡ 2018 Π³ΠΎΠ΄ΠΈΠ½Π° ΠΈ Π²Π΅ΡΠ΅ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΡΠΌΠ°ΡΡ ΡΠ°ΡΠΎΠ²Π½ΠΈΡΠΈ ΠΎΡ ΡΠ΅ΡΠΈΡΡΠ° Vivo Watch. Vivo ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ°Π±ΠΎΡΠΈ Π²ΡΡΡ Ρ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ΡΠΎ Π½Π° BlueOS Π² ΡΠΌΠ°ΡΡ ΠΎΡΠΈΠ»Π°, ΡΠΎΠ±ΠΎΡΠΈ, ΡΠΌΠ°ΡΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΠΈ ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ AI ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΠΎΠ΄ΡΡ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust ΠΈ Π΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· Apache 2.0. Π‘ΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ²Π΅ Π½Π° BlueOS ΡΡΡΠΎ ΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Rust.
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° BlueOS Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½Π° Ρ Π°ΠΊΡΠ΅Π½Ρ Π²ΡΡΡ Ρ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅Π·ΠΈΠΊΠ° Rust, Π·Π° Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΠΏΡΠΈΡΠΈΠ½Π΅Π½ΠΈ ΠΎΡ Π³ΡΠ΅ΡΠΊΠΈ Π² ΡΠ°Π±ΠΎΡΠ°ΡΠ° Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΠΏΠΎΡΠ΅Π΄ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° Π½Π° Google ΠΈ Microsoft ΡΡΡΡΠ°Π²Π»ΡΠ²Π°Ρ 70% ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠ° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π² BlueOS ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΎΡ ΠΈΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ½ΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΠΎΡ Π΅Π·ΠΈΠΊΠ° Rust (ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΡΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ, ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π·Π°ΠΈΠΌΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ, ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΆΠΈΠ²ΠΎΡ Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈ).
Π―Π΄ΡΠΎΡΠΎ BlueOS (Blue River Kernel) Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΎ Π·Π° ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΡΡΡΠΈ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π½Π° Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ, ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠΈ Π½Π° Π½Π΅ΡΠ°ΡΠ°. Π ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠ΄ΡΠΎΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΡΠ°ΠΌΠΎ 13 ΠΠ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π·Π° ΡΠ°Π±ΠΎΡΠ°. Π ΡΡΡΠΎΡΠΎ Π²ΡΠ΅ΠΌΠ΅ ΡΠ΄ΡΠΎΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ARM ΠΈ RISC-V. ΠΠ°Π΄ ΡΠ΄ΡΠΎΡΠΎ Π΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π° C, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠΎΡΡΡΠ΅ΡΠ½ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ° POSIX, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° rust-std.
Π―Π΄ΡΠΎΡΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ Π½Π° Π·Π°Π΄Π°ΡΠΈ, ΡΠ°ΠΉΠ»ΠΎΠ²Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΡΠΌ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΌΡΠ΅ΠΆΠΎΠ² ΡΡΠ΅ΠΊ ΠΈ Π½Π°Π±ΠΎΡ ΠΎΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π·Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Π΄Π°ΡΠΈ, ΡΡΠ΅Π΄ ΠΊΠΎΠΈΡΠΎ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠ²Π°Π½ΡΠΈΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° Π² ΡΠ΅Π°Π»Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΈΠ·ΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΈ. ΠΠ°Π»ΠΈΡΠ½ΠΈ ΡΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π·Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π½Π° ΡΠΏΠΎΡΡΠ΅Π±Π°.
ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Ρ ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠ° ΠΉΠ΅ΡΠ°ΡΡ ΠΈΡΠ½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° Π±Π°Π·Π° inode, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ tmpfs, devfs, sysfs, procfs, nfs ΠΈ fat32. TCP/IP ΡΡΠ΅ΠΊΡΡ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° POSIX Socket API, socketfd ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄Π°Π½Π½ΠΈ Π² Π±Π»ΠΎΠΊΠΈΡΠ°Ρ ΠΈ Π½Π΅Π±Π»ΠΎΠΊΠΈΡΠ°Ρ ΡΠ΅ΠΆΠΈΠΌ, ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΊΠ°ΡΡΠΈ. ΠΠ° Π½Π°ΠΌΠ°Π»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΏΡΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° zero-copy, ΠΊΠΎΡΡΠΎ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π° ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½Π°ΡΠ° Π±ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ.
ΠΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΡΠ»ΠΎΠΉ Π·Π° Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ Ρ
Π°ΡΠ΄ΡΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΡΠ΅Π½ΠΎΡ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ, Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Π΅Π·ΠΈΠΊΠ° C, Π²Π΅ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π·Π° Π΄ΡΡΠ³ΠΈ ΡΠ΄ΡΠ°. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° Π·Π° ΡΠ΄ΡΠΎΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° Π΄ΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½Π΅ ΠΈ ΡΠ΅ΡΡΠ²Π°Π½Π΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ Π·Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ. ΠΠ° ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° QEMU (mps2-an385, mps3-an547, virt-aarch64, virt-riscv64) ΠΈΠ»ΠΈ ΠΏΠ»Π°ΡΠΊΠ° Raspberry Pi Pico2.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
