Företaget Vivo har öppnat källkoden för kärnan BlueOS, som är skriven i Rust

Företaget Vivo, som har cirka 10% av den globala marknaden för smartphones (5e plats bland smartphone-tillverkare), har presenterat den första officiella öppna versionen av kärnan för operativsystemet BlueOS (Blue River OS). Operativsystemet BlueOS har utvecklats sedan 2018 och används redan i smartklockorna i Vivo Watch-serien. Vivo arbetar också på att använda BlueOS i smartglasögon, robotar, smarta terminaler och konsument-AI-enheter. Kärnkoden är skriven i Rust och publicerad under Apache 2.0-licensen. Även systemramar för BlueOS är skrivna i Rust.

Operativsystemet BlueOS har från början utvecklats med fokus på säkerhet och använder Rust för att förhindra sårbarheter orsakade av minneshanteringsfel, vilket enligt statistik från Google och Microsoft utgör 70% av alla sårbarheter i operativsystem. För att säkerställa säker minnesanvändning använder BlueOS en kombination av smarta pekare under körning och kontroller vid kompilering, som tillhandahålls av Rust (ägande av objekt, variabellåning och livscykelhantering av objekt).

Kärnan BlueOS (Blue River Kernel) är optimerad för minimal resursförbrukning och kan användas på inbyggda plattformar, mobila enheter och IoT-system. I en minimal konfiguration kräver kärnan endast 13 KB RAM för att fungera. Samtidigt stödjer kärnan moderna processorarkitekturer, inklusive ARM och RISC-V. Ovanpå kärnan finns en standard C-bibliotek som stödjer programgränssnitt definierade i POSIX-standarden, liksom rust-std-biblioteket.

Kärnan tillhandahåller en uppgiftsschemaläggare, filsystem, minneshanteringsmekanism, nätverksstack och uppsättning drivrutiner. Flera schemaläggningsalgoritmer stöds, inklusive algoritmer för jämn fördelning av tidskvoter mellan processer och algoritmer för realtidsbearbetning baserat på prioriteringsberäkning. Flera minnesallokeringsalgoritmer som är optimerade för olika användningsscenarier är också tillgängliga.

Egen filsystem med klassisk hierarkisk arkitektur baserad på inode, samt filsystem som tmpfs, devfs, sysfs, procfs, nfs och fat32. TCP/IP-stacken stöder POSIX Socket API, socketfd och bearbetning av data i både blockerande och icke-blockerande lägen, och kan användas i konfigurationer med flera nätverkskort. För att minska overhead vid dataöverföring används en zero-copy-arkitektur som utesluter mellanlagring.

För drivrutinsutveckling erbjuds ett lager för abstraktion av åtkomst till hårdvara, vilket möjliggör att skapa drivrutiner på språk som Rust och att portera drivrutiner skrivna i C, redan skapade för andra kärnor. Dokumentationen för kärnan är för närvarande begränsad till instruktioner för byggande och testning, samt tips för implementering av egna systemanrop och beskrivning av grundläggande datatyper. För testning rekommenderas att använda QEMU (mps2-an385, mps3-an547, virt-aarch64, virt-riscv64) eller Raspberry Pi Pico2.

Källa: opennet.ru

Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster