Kompania Vivo ka hapur kodin e bërthamës BlueOS, e shkruar në gjuhën Rust

Kompania Vivo, që mban rreth 10% të tregut global të smartfonëve (vendi i 5-të midis prodhuesve të smartfonëve), paraqiti publikimin e parë zyrtar të hapur të bërthamës së sistemit operativ BlueOS (Blue River OS). Sistemi operativ BlueOS është duke u zhvilluar që nga viti 2018 dhe tashmë përdoret në orët inteligjente të serisë Vivo Watch. Vivo gjithashtu po punon për aplikimin e BlueOS në syze inteligjente, robotë, terminale inteligjente dhe pajisje të konsumatorëve me AI. Kodi i bërthamës është shkruar në gjuhën Rust dhe është hapur nën licencën Apache 2.0. Edhe strukturat sistemore të BlueOS janë shkruar në Rust.

Sistemi operativ BlueOS është zhvilluar fillimisht me fokus në sigurinë dhe përdor gjuhën Rust për të parandaluar shfaqjen e dobësive, që sipas statistikave të Google dhe Microsoft përbëjnë 70% të të gjitha dobësive në sistemet operative. Për të siguruar punë të sigurt me memorien, BlueOS përdor një kombinim të përdorimit të treguesve të mençur gjatë ekzekutimit dhe kontrollit në fazën e kompilimit, që ofrohen nga gjuha Rust (ndjekja e pronësisë së objekteve, kontrolli i huazimit të variablave, llogaritja e kohës së jetesës së objekteve).

Bërthama e BlueOS (Blue River Kernel) është optimizuar për konsum minimal të burimeve dhe mund të përdoret në platforma të integruara, pajisje mobile dhe sisteme të internetit të gjërave. Në konfigurimin minimal, bërthama kërkon vetëm 13 KB memorie të brendshme për të funksionuar. Gjithashtu, bërthama mbështet arkitekturat moderne të procesorëve, duke përfshirë ARM dhe RISC-V. Siper bërthamës është realizuar një bibliotekë standarde C, që mbështet ndërfaqet programore të përcaktuara në standardin POSIX, si dhe bibliotekën rust-std.

Bërthama ofron një planifikues detyrash, një sistem skedarësh, një mekanizëm menaxhimi të memorjes, një stack rrjeti dhe një grup drejtuesish. Mbështeten disa algoritme të planifikimit të detyrave, midis të cilave algoritme për shpërndarjen e barabartë të kuotave të kohës midis proceseve dhe algoritme për punën në kohë reale bazuar në llogaritjen e prioriteteve. Janë të disponueshme disa algoritme të ndarjes së memorjes, të optimizuara për skenarë të ndryshëm përdorimi.

Oferohet një sistem skedarësh me arkitekturë klasike dhe hierarkike mbi bazën e inode, si dhe sisteme skedarësh tmpfs, devfs, sysfs, procfs, nfs dhe fat32. Staku TCP/IP mbështet API-në POSIX Socket, socketfd dhe përpunimin e të dhënave në mënyra bllokuese dhe jo bllokuese, dhe mund të përdoret në konfigurime me disa karta rrjeti. Për të reduktuar mbështetje të periudhshme gjatë transferimit të të dhënave, aplikohet arkitektura zero-copy, e cila përjashton buferizimin ndërmjetës.

Për zhvillimin e drejtuesve ofrohet një shtresë për abstragimin e aksesit në pajisje, e cila lejon krijimin e drejtuesve në gjuhën Rust, si dhe bartjen e drejtuesve në gjuhën C, të krijuar tashmë për bërthama të tjera. Dokumentacioni për bërthamën aktualisht është i kufizuar në udhëzime për ndërtim dhe testim, si dhe sugjerime për implementimin e thirrjeve të tyre sistemike dhe përshkrimin e llojeve bazë të të dhënave. Për testim ofrohet përdorimi i QEMU (mps2-an385, mps3-an547, virt-aarch64, virt-riscv64) ose plaka Raspberry Pi Pico2.

Burimi: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster