3 个仓库
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 是一个内存安全的操作系统内核,旨在防止数据竞争和内存损坏。它作为一个兼容 Linux-ABI 的内核,能够运行现有的 Linux 二进制文件和容器工作负载,同时提供声明式的操作系统分发模型。 该项目的特色在于充当虚拟机容器宿主机和机密计算客户机操作系统,使其能够在 Intel TDX 等硬件隔离的可信执行环境(TEE)中运行。它通过隔离不安全底层操作实现了最小化的可信计算基(TCB),并将核心内核机制与特定策略实现分离开来。 该系统涵盖了广泛的能力,包括物理和虚拟内存管理、对称多处理(SMP),以及针对各种 CPU 架构的硬件抽象。它还包括对安全容器运行时的支持、一套全面的网络和 Socket 原语,以及用于内核编译和仿真的专用工具链。 该项目支持在 x86-64、RISC-V 64 和 LoongArch 64 平台上进行多架构部署。
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.
This library provides a collection of low-level abstractions for interacting with hardware peripherals on Raspberry Pi devices using the Rust programming language. It serves as a type-safe interface for controlling physical pins and managing communication with external electronic components and sensors. The project distinguishes itself through its use of compile-time abstractions that map high-level function calls directly to hardware instructions, ensuring minimal runtime overhead. It provides consistent access to hardware by wrapping kernel-level device interfaces and memory-mapped register
Wraps kernel-level sysfs device interfaces into safe programming abstractions for consistent hardware access.