# Tock

An embedded operating system for Cortex-M and RISC-V microcontrollers that runs several mutually distrustful applications at once, isolating them with a Rust kernel and memory protection units.

Tock is an embedded operating system designed for running multiple concurrent, mutually distrustful applications on Cortex-M and RISC-V based embedded platforms. Its design centers on protecting the system both from potentially malicious applications and from device drivers.

It uses two mechanisms for this: the kernel and device drivers are written in Rust, which gives compile-time memory and type safety and isolates the scheduler and hardware abstraction layer from platform-specific drivers and from each other; and memory protection units isolate applications from each other and from the kernel. The project is on its second major release, and documentation includes an online tutorial book, an API reference, and a contributing guide, with a Matrix channel, Slack channel, and mailing list for support.

Website: https://www.tockos.org
