Spoločnosť Vivo otvorila kód jadra BlueOS, napísaného v jazyku Rust

Spoločnosť Vivo, ktorá ovláda približne 10% svetového trhu so smartfónmi (5. miesto medzi výrobcom smartfónov), predstavila prvý oficiálny otvorený release jadra operačného systému BlueOS (Blue River OS). Operačný systém BlueOS sa vyvíja od roku 2018 a už sa používa v inteligentných hodinách zo série Vivo Watch. Vivo tiež pracuje na využití BlueOS v inteligentných okuliaroch, robotoch, smart termináloch a spotrebiteľských AI zariadeniach. Kód jadra je napísaný v jazyku Rust a je otvorený pod licenciou Apache 2.0. Na Rust sú tiež napísané systémové frameworky BlueOS.

Operačný systém BlueOS sa pôvodne vyvíja s ohľadom na zabezpečenie a používa jazyk Rust na prevenciu vzniku zraniteľností spôsobených chybami pri práci s pamäťou, ktoré podľa štatistík Google a Microsoft predstavujú 70% zo všetkých zraniteľností v operačných systémoch. Pre zabezpečenie bezpečnej práce s pamäťou v BlueOS sa používa kombinácia chytrých ukazovateľov počas behu a kontrol, ktoré poskytuje jazyk Rust (sledovanie vlastníctva objektov, kontrola požičiavania premenných, sledovanie doby života objektov).

Jadro BlueOS (Blue River Kernel) je optimalizované na minimálnu spotrebu zdrojov a môže sa používať na embedded platformách, mobilných zariadeniach a systémoch Internet of Things. V minimálnej konfigurácii jadro vyžaduje na svoju prevádzku iba 13 kB operačnej pamäte. Jadro pritom podporuje moderné procesorové architektúry, vrátane ARM a RISC-V. Na jadre je implementovaná štandardná knižnica C, ktorá podporuje programové rozhrania definované v štandarde POSIX, ako aj knižnica rust-std.

Jadro poskytuje plánovač úloh, súborový systém, mechanizmus správy pamäte, sieťový stack a súbor ovládačov. Podporuje niekoľko algoritmov plánovania úloh, medzi ktorými sú ako algoritmy na rovnomerné rozdeľovanie časových kvant medzi procesmi, tak aj algoritmy na prácu v reálnom čase na základe výpočtu priorít. Dostupné sú viaceré algoritmy alokácie pamäte optimalizované pre rôzne scenáre použitia.

Poskytuje sa vlastný súborový systém s klasickou hierarchickou architektúrou na báze inode, ako aj súborové systémy tmpfs, devfs, sysfs, procfs, nfs a fat32. TCP/IP zásobník podporuje POSIX Socket API, socketfd a spracovanie údajov v blokujúcom a neblokujúcom režime, a môže sa používať v konfiguráciách s viacerými sieťovými kartami. Na zníženie režijných nákladov pri prenose údajov sa používa architektúra zero-copy, ktorá vylučuje medzizásobovanie.

Na vývoj ovládačov je k dispozícii vrstva na abstrakciu prístupu k hardvéru, ktorá umožňuje vytvárať ovládače v jazyku Rust a tiež prenášať ovládače napísané v jazyku C, už vytvorené pre iné jadra. Dokumentácia k jadru je zatiaľ obmedzená na pokyny na zostavenie a testovanie, ako aj tipy na implementáciu vlastných systémových volaní a popis základných dátových typov. Na testovanie sa odporúča používať QEMU (mps2-an385, mps3-an547, virt-aarch64, virt-riscv64) alebo dosku Raspberry Pi Pico2.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster