seL4-docs/Tutorials/index.md

3.1 KiB

redirect_from SPDX-License-Identifier SPDX-FileCopyrightText
/projects/sel4-tutorials.html
/projects/sel4-tutorials/
CC-BY-SA-4.0 2020 seL4 Project a Series of LF Projects, LLC.

Tutorial Overview

The seL4 docsite provides a set of tutorials that introduce seL4 and show how to develop systems on seL4. They are split into the following categories.

  • The [Microkit tutorial] tutorial is an easy way to get started with seL4. The seL4 Microkit is a software development kit (SDK) for building systems with a statically described architecture on top of seL4. It provides simple, high-performance abstractions that manage much of the complexity of the seL4 API.

  • The seL4 tutorials are for people keen to learn about the base mechanisms provided by the seL4 kernel. It explains the kernel API with short exercises that show basic usage examples.

  • The CAmkES tutorial introduces the CAmkES component platform on top of seL4. CAmkES provides abstractions for component on top of seL4 and communication glue code between them. It is designed for building high-assurance systems with a static software architecture. CAmkES is being superseded by Microkit and we recommend starting with the [Microkit tutorial] instead if you are starting a new project.

  • The [Rust on seL4 tutorial] introduces the basic Rust crates for seL4 and shows how to get started writing root tasks and Microkit components in the Rust programming language.

  • The C library tutorials provide walkthroughs and exercises for using the libraries provided in seL4_libs. These libraries were developed for rapidly prototyping systems on seL4. They are not meant for production code, but for experimenting with the seL4 API.

[Microkit tutorial]: {% link projects/microkit/tutorial/welcome.md %} [Rust on seL4 tutorial]: ../projects/rust/tutorial/introduction.html

Note that most of these tutorials require C programming experience and some understanding of operating systems and computer architecture. Suggested resources for these topics include:

Further Resources

Additional learning resources that may be helpful: