Virksomheden Vivo har åbnet koden til kerne BlueOS, skrevet i Rust

Virksomheden Vivo, som besidder omkring 10% af det globale smartphone-marked (5. plads blandt smartphone-produktion), har præsenteret den første officielle åbne udgave af kernen i operativsystemet BlueOS (Blue River OS). Operativsystemet BlueOS har været under udvikling siden 2018 og anvendes allerede i smartwatches af typen Vivo Watch. Vivo arbejder også på at anvende BlueOS i smarte briller, robotter, smarte terminaler og forbruger-AI-enheder. Koden til kernen er skrevet i Rust og er åbnet under Apache 2.0-licensen. De systemrammer, der understøtter BlueOS, er også skrevet i Rust.

Operativsystemet BlueOS er oprindeligt udviklet med fokus på at sikre sikkerhed og anvender Rust-sprog til at forhindre sårbarheder, der skyldes hukommelsesfejl, som ifølge statistikker fra Google og Microsoft udgør 70% af alle sårbarheder i operativsystemer. For at sikre sikker hukommelsesstyring i BlueOS anvendes en kombination af intelligente pegepinde under kørsel og kontroller under kompilering, der leveres af Rust-sprog (overvågning af ejerskab af objekter, kontrol af variablernes udlån, håndtering af objektlivscyklus).

Kernen i BlueOS (Blue River Kernel) er optimeret til minimalt ressourceforbrug og kan anvendes på indlejrede platforme, mobile enheder og systemer til internet of things. I sin mindste konfiguration kræver kernen kun 13 KB RAM for at fungere. Kernen understøtter moderne procesarkitekturer, herunder ARM og RISC-V. Oven på kernen er der implementeret et standard C-bibliotek, der understøtter softwaregrænsefladerne defineret i POSIX-standarden, samt biblioteket rust-std.

Kernen leverer en opgaveplanlægger, filsystem, hukommelsesstyringsmekanisme, netværksstak og et sæt drivere. Der understøttes flere opgaveplanlægningsalgoritmer, herunder algoritmer til jævn fordeling af tidskvoter mellem processer samt algoritmer til realtidsdrift baseret på prioriteringsberegning. Flere hukommelsestildelingsalgoritmer er tilgængelige, optimeret til forskellige anvendelsesscenarier.

Der tilbydes et eget filsystem med klassisk hierarkisk arkitektur baseret på inode, samt filsystemer som tmpfs, devfs, sysfs, procfs, nfs og fat32. TCP/IP-stakken understøtter POSIX Socket API, socketfd og databehandling i både blokkerende og ikke-blokkerende tilstande, og kan anvendes i konfigurationer med flere netværkskort. For at reducere overhead ved datatransmission anvendes en zero-copy arkitektur, som udelukker mellemliggende buffering.

Til udvikling af drivere tilbydes et lag til abstraktion af adgangen til hardware, som gør det muligt at skabe drivere på Rust, samt at portere drivere skrevet i C, som allerede er skabt til andre kerner. Dokumentationen til kernen er endnu begrænset til instruktioner om bygning og test, samt tips til implementering af egne systemopkald og beskrivelse af grundlæggende datatyper. Til testning anbefales det at bruge QEMU (mps2-an385, mps3-an547, virt-aarch64, virt-riscv64) eller Raspberry Pi Pico2 boardet.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster