seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls that manage threads, address spaces, and inter-process communication, with synchronous IPC supporting sender-identifying badges and capability transfer.
The kernel's design includes domain-based time partitioning for deterministic execution, untyped memory management for flexible object allocation, and a virtual machine monitor framework for running guest operating systems as child protection domains. seL4 supports static component composition through frameworks like CAmkES and Microkit, which assemble isolated software components with typed interfaces into bootable system images. The project provides Rust bindings, runtimes, and target specifications for writing verified userspace applications, alongside unverified C prototyping libraries for rapid experimentation with the kernel API.
The kernel runs on ARM, RISC-V, and x86 platforms with support for symmetric multiprocessing, device tree-based hardware discovery, and a pluggable driver framework for serial, timer, Ethernet, USB, and other peripherals. Scheduling supports priorities, budgets, periodic threads, and mixed-criticality workloads through scheduling contexts and domain-based time partitioning. The project includes a build system that integrates with existing toolchains, a prebuilt SDK, and containerized development environments for compilation and simulation.
xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an instructional kernel for x86 and RISC-V architectures, featuring a virtual memory manager and support for symmetric multiprocessing. The system is designed to demonstrate core OS principles through a simplified re-implementation of Unix Version 6. It provides a controlled environment for studying system calls, trap handling, and process lifecycles. Its capability surface covers process management, including scheduling and context switching, and memory management via page tables for
This project is an educational framework and toolkit designed for developing and testing operating system kernels. It provides a structured environment for implementing fundamental system primitives, including virtual memory management, preemptive process scheduling, and filesystem organization, using Rust and C. The framework is specifically oriented toward RISC-V and x86 architectures, serving as a laboratory for learning how to build core system software from the ground up. The project distinguishes itself by supporting both bare-metal deployment and hardware emulation, allowing developers
Spin is a WebAssembly serverless framework and development toolchain for building and running portable microservices. It functions as an event-driven orchestrator and runtime that executes WebAssembly components, allowing developers to map HTTP requests, Redis messages, and cron schedules to specific modules. The project distinguishes itself by implementing a Wasm-based AI inference gateway, enabling components to perform model inference and generate text embeddings. It utilizes the WebAssembly Component Model and WASI for language-agnostic composition and portable host interfacing, while emp
Capnweb is a distributed object communication library and Cap'n Proto RPC framework. It enables type-safe remote procedure calls between clients and servers using shared schemas and generated stubs to invoke methods on remote objects as if they were local. The project utilizes an object-capability security model to govern access to remote resources through unforgeable tokens. It provides a bidirectional network layer that multiplexes asynchronous calls and data streams over persistent WebSocket connections and includes a remote resource lifecycle manager that uses reference counting to automa
seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of correctness, confidentiality, integrity, and availability. It enforces strict isolation between processes through hardware-enforced address space separation and a capability-based access control system, where each process holds explicit rights only to the resources it has been granted. The kernel exposes hardware resources through a minimal API of system calls…
sel4/sel4 的主要功能包括:Formally Verified Microkernels, Capability-Based Access Controls, Capability Transfers Between Slots, Capability Transfers via IPC, Verified Microkernel Deployments, Interrupt-to-Notification Binding, Protection Domain Scheduling Parameters, Microkernel Process Spawnings。
sel4/sel4 的开源替代品包括: mit-pdos/xv6-public — xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an… chyyuu/os_kernel_lab — This project is an educational framework and toolkit designed for developing and testing operating system kernels. It… lunatic-solutions/lunatic — Lunatic is a WebAssembly runtime and concurrent process manager that implements an Erlang-inspired model of… cloudflare/capnweb — Capnweb is a distributed object communication library and Cap'n Proto RPC framework. It enables type-safe remote… fermyon/spin — Spin is a WebAssembly serverless framework and development toolchain for building and running portable microservices.… mystenlabs/sui — Sui is a blockchain platform featuring an object-centric state model and resource-oriented smart contracts. It…