蓝河操作系统内核正式开源。
蓝河操作系统(BlueOS)是 vivo 自主研发的行业首个从内核到系统框架全栈使用 Rust 语言编写的操作系统。
据介绍,由 Rust 语言编写的蓝河操作系统内核(以下简称 “蓝河内核”),具备安全、轻量、通用的三大特性。
在安全方面,蓝河内核全栈使用 Rust 语言开发,也是行业首款适用于嵌入式平台和移动设备的开源 Rust 内核,基于编译期所有权系统,通过所有权、借用、生命周期的静态规则,编译期确保内存安全,而在运行时通过智能指针,灵活管理内存,无额外内存回收性能损耗,让内存安全从被动防御到主动掌控。
得益于对基础数据结构高性能低开销的设计,蓝河内核对硬件资源需求低,最小内核内存占用仅 13KB,能够以更低的成本满足各类终端产品的需求。
另外,蓝河内核兼容 RISC-V、ARM 等多芯片架构,可满足开发者在不同平台的业务需要,也支持兼容 POSIX 接口的标准库,拓展支持已有的生态,具有出色的通用性。
蓝河内核具备完整的系统调度、内存管理、文件系统、网络、和设备驱动五大内核能力。在系统调度上,蓝河内核支持主流的调度算法,包括基于时间片轮转调度和基于优先级队列的实时调度;在内存管理方面,将 Rust 语言内存安全核心特性和智能指针相结合保障内存安全,同时支持多种内存分配算法,可适用于不同场景,供开发者基于自己的业务场景灵活选择。
蓝河内核的文件系统则采用了经典的层次化结构设计,实现了对文件和 inode 等数据结构的抽象操作,支持快速适配不同的文件系统。
而对于网络,蓝河内核支持基础的 TCP/IP 协议栈,能够以阻塞模式和非阻塞模式调用,可支持接入多网卡设备,也基于 Rust Zero-Copy 零拷贝设计,消除数据传输过程的堆分配开销,支持了 socket api。
设备管理上,蓝河内核通过硬件抽象等一系列方式,提升了对于 CPU 架构和驱动的兼容能力,支持 Rust 语言开发驱动,也支持兼容已有的 C 语言内核的外设驱动。
蓝河内核开源代码:
GitHub:https://github.com/vivoblueos