Vivo ouvre le noyau BlueOS écrit en Rust

Vivo, qui représente environ 10 % du marché mondial des smartphones (5e fabricant mondial), a présenté la première version officielle et ouverte du noyau du système d'exploitation BlueOS (Blue River OS). Ce système d'exploitation est en développement depuis 2018 et est déjà utilisé dans les montres connectées de la série Vivo Watch. Vivo travaille également à l'utilisation de BlueOS dans des lunettes connectées, des robots, des terminaux intelligents et des appareils d'IA grand public. Le code du noyau est écrit en Rust et est ouvert sous licence Apache 2.0. Les frameworks du système BlueOS sont également écrits en Rust.

BlueOS a été conçu dès le départ avec la sécurité à l'esprit, utilisant le langage Rust pour prévenir les vulnérabilités liées à la mémoire, qui, selon Google et Microsoft, représentent 70 % des vulnérabilités des systèmes d'exploitation. BlueOS utilise une combinaison de pointeurs intelligents à l'exécution et de vérifications à la compilation fournies par le langage Rust (suivi de la propriété des objets, vérification de l'emprunt de variables, suivi de la durée de vie des objets) pour garantir la sécurité de la mémoire.

Le noyau BlueOS (Blue River Kernel) est optimisé pour une consommation minimale de ressources et peut être utilisé sur les plateformes embarquées, les appareils mobiles et les systèmes IoT. Dans sa configuration minimale, le noyau ne nécessite que 13 Ko de RAM pour fonctionner. Il prend également en charge les architectures de processeurs modernes, notamment ARM et RISC-V. Une bibliothèque C standard est également implémentée, prenant en charge les interfaces logicielles définies dans la norme POSIX, ainsi que la bibliothèque rust-std.

Le noyau fournit un planificateur de tâches, un système de fichiers, un mécanisme de gestion de la mémoire, une pile réseau et un ensemble de pilotes. Plusieurs algorithmes de planification de tâches sont pris en charge, notamment des algorithmes de distribution uniforme des tranches de temps entre les processus et des algorithmes de travail en temps réel basés sur le calcul des priorités. Plusieurs algorithmes d'allocation mémoire sont disponibles, optimisés pour différents scénarios d'utilisation.

Предоставляется собственная файловая система c классической иерархической архитектурой на базе inode, а также файловые системы tmpfs, devfs, sysfs, procfs, nfs и fat32. TCP/IP стек поддерживает POSIX Socket API, socketfd и обработку данных в блокирующем и не блокирующем режимах, и может использоваться в конфигурациях с несколькими сетевыми картами. Для снижения накладных расходов при передаче данных применяется архитектура zero-copy, исключающая промежуточную буферизацию.

Pour le développement des pilotes, une couche d'abstraction de l'accès matériel est proposée, permettant de créer des pilotes en langage Rust, ainsi que des pilotes de port en langage C, déjà créés pour d'autres noyaux. La documentation du noyau se limite actuellement aux instructions d'assemblage et de test, ainsi qu'à des conseils pour l'implémentation des appels système et la description des types de données de base. Pour les tests, il est proposé d'utiliser QEMU (mps2-an385, mps3-an547, virt-aarch64, virt-riscv64) ou la carte Raspberry Pi Pico2.

Source: opennet.ru

Achetez un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Achetez un hébergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster