Tock —— Rust 编写的安全嵌入式操作系统
Tock 是一个基于 Rust 语言编写的安全嵌入式操作系统,是一种用于传感器网络和物联网的安全嵌入式操作系统。
Tock 是第一个允许多个不受信任的应用程序在基于微控制器的计算机上同时运行的操作系统。Tock内核使用Rust(一种不依赖垃圾回收器的内存安全系统语言)编写。用户空间应用程序在可以用任何语言编写的单线程进程中运行。
Tock 设计用于在基于Cortex-M和RISC-V的嵌入式平台上运行多个并发的、互不信任的应用程序。
Tock的设计围绕着保护,包括潜在的恶意应用程序和设备驱动程序。
Tock使用两种机制来保护操作系统的不同组件。首先,内核和设备驱动程序是用Rust编写的,Rust是一种提供编译时内存安全、类型安全和严格别名的系统编程语言。Tock使用Rust来保护内核(例如调度器和硬件抽象层)不受平台特定设备驱动程序的影响,并将设备驱动程序彼此隔离。其次,Tock使用内存保护单元将应用程序彼此和内核隔离开来。