3 Repos
Frameworks for implementing system calls and drivers using memory-safe interfaces to minimize the trusted computing base.
Distinct from Kernel Driver Implementation: Distinct from general driver implementation by focusing on the safety abstractions that minimize the trusted base.
Explore 3 awesome GitHub repositories matching operating systems & systems programming · Safe Kernel Abstractions. Refine with filters or upvote what's useful.
Asterinas is a memory-safe operating system kernel designed to prevent data races and memory corruption. It functions as a Linux-ABI compatible kernel, enabling the execution of existing Linux binaries and container workloads while providing a declarative operating system distribution model. The project distinguishes itself by acting as a virtual machine container host and a confidential computing guest OS, allowing it to run within hardware-isolated Trusted Execution Environments such as Intel TDX. It implements a minimal trusted computing base by isolating unsafe low-level operations and se
Enables the development of system calls, file systems, and device drivers using safe kernel abstractions.
This project provides a framework and toolset for developing memory-safe kernel-mode and user-mode drivers for the Windows operating system. It enables developers to build drivers using safe programming patterns that prevent common memory errors and system crashes, while providing the necessary infrastructure to interface with low-level hardware and system APIs. The framework distinguishes itself by offering procedural macros and binding generation tools that translate complex C-style system headers into idiomatic, type-safe code. It includes a custom global allocator designed for the strict
Wraps low-level system interfaces in memory-safe abstractions to reduce complexity and prevent common kernel errors.
Diese Bibliothek bietet eine Sammlung von Low-Level-Abstraktionen für die Interaktion mit Hardware-Peripheriegeräten auf Raspberry Pi-Geräten unter Verwendung der Programmiersprache Rust. Sie dient als typsichere Schnittstelle zur Steuerung physischer Pins und zur Verwaltung der Kommunikation mit externen elektronischen Komponenten und Sensoren. Das Projekt zeichnet sich durch die Verwendung von Compile-Time-Abstraktionen aus, die High-Level-Funktionsaufrufe direkt auf Hardware-Instruktionen abbilden und so einen minimalen Runtime-Overhead gewährleisten. Es bietet einen konsistenten Hardwarezugriff, indem es Kernel-Level-Geräteschnittstellen und speicherabgebildete Register in sichere, Trait-basierte Abstraktionen kapselt, die austauschbare Treiberimplementierungen ermöglichen. Die Bibliothek deckt ein breites Spektrum an Hardware-Integrationsmöglichkeiten ab, einschließlich der Verwaltung von Standard-Kommunikationsprotokollen wie I2C, SPI und UART. Sie unterstützt zudem Pulsweitenmodulation (PWM) sowie die Steuerung von GPIO-Pins, was die Integration industrieller Sensoren und die Ansteuerung von Aktoren ermöglicht. Die Software wird als Crate verteilt und bietet einen strukturierten Ansatz für die Entwicklung eingebetteter Systeme und die Hardware-Anbindung auf Linux-basierten Einplatinencomputern.
Wraps kernel-level sysfs device interfaces into safe programming abstractions for consistent hardware access.