awesome-repositories.com
Blog
MCP
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
asterinas avatar

asterinas/asterinas

0
View on GitHub↗
4,678 Stars·314 Forks·Rust·9 Aufrufeasterinas.github.io/book↗

Asterinas

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 separates core kernel mechanisms from specific policy implementations.

The system covers a broad range of capabilities, including physical and virtual memory management, symmetric multi-processing, and hardware abstraction for various CPU architectures. It also includes support for secure container runtimes, a comprehensive set of networking and socket primitives, and a specialized toolchain for kernel compilation and emulation.

The project supports multi-architecture deployment across x86-64, RISC-V 64, and LoongArch 64 platforms.

Features

  • Confidential Guest Kernels - Acts as the guest kernel for VM-based container stacks to enable hardware-enforced isolation in confidential computing.
  • Linux ABI Implementation - Implements the standard Linux application binary interface to enable execution of existing Linux binaries and containers.
  • Memory-Safe Kernels - Implements a memory-safe kernel designed to prevent data races and memory corruption.
  • Hardware-Enforced VM Isolation - Operates as a secure guest operating system within hardware-protected virtual machines using Intel TDX.
  • Concurrent Task Execution - Defines and manages units of code execution for both system and user-mode processes.
  • Virtual Machine Containers - Executes containerized applications inside lightweight virtual machines to provide strong security isolation.
  • Lightweight VM Container Runtimes - Encapsulates containerized applications within lightweight virtual machines to provide strong security isolation.
  • DMA Remapping Protections - Prevents interrupt spoofing by restricting device access to untyped memory via DMA remapping.
  • Connection Acceptance - Handles the acceptance of incoming network connection requests and the configuration of resulting sockets.
  • Socket Connection Establishment - Implements the binding of sockets to addresses and the initiation of connections to peer endpoints.
  • Socket Networking - Initializes network sockets for streaming, datagrams, and raw packets across multiple protocols.
  • Bootloader Information Integration - Retrieves essential system information and configuration from the bootloader during the initial startup sequence.
  • CPU Affinity Binding - Prevents tasks from executing on multiple CPUs simultaneously using atomic flags during context switches.
  • Binary Workload Execution - Runs existing Linux binaries and container workloads within a memory-safe kernel via the Linux ABI.
  • Deadlock Prevention and Avoidance - Prevents deadlocks by blocking tasks from sleeping while interrupts or preemption are disabled.
  • Declarative Linux Distributions - Implements a declarative distribution model where the system state is defined via configuration files.
  • IOMMU DMA Protection - Uses an IOMMU to restrict device access to specific memory regions and protect kernel data structures.
  • I/O Resource Allocation - Manages the assignment and access rights of hardware I/O ports and memory-mapped ranges.
  • I/O Port Access Restrictions - Enforces restrictions on hardware I/O ports and memory-mapped ranges to prevent unauthorized register access.
  • Hardware Architecture Constraints - Manages CPU-specific constraints such as stack alignment and register requirements across different architectures.
  • Interrupt Handling - Manages hardware signals and translates them into system events via interrupt request processing.
  • Safe Kernel Abstractions - Enables the development of system calls, file systems, and device drivers using safe kernel abstractions.
  • Kernel Memory Implementations - Implements low-level kernel memory management including paging and safe allocation interfaces.
  • Memory Allocation Management - Manages physical and virtual memory by registering global frame and heap allocators for the kernel.
  • Typed Memory Models - Implements a typed memory model with reference counting to prevent undefined behavior in the kernel.
  • Physical Frame Separation - Enforces memory safety by partitioning physical memory into typed and untyped frames.
  • Unsafe Usage Minimization - Reduces the amount of unsafe code by providing safe abstractions for page table management.
  • Kernel-User Space Splitting - Prevents user-space corruption of kernel memory by strictly partitioning the virtual address space.
  • CPU-Kernel Coordination - Coordinates context switches, interrupts, and system calls between the kernel and multiple CPU cores.
  • Kernel Space Partitioning - Architecturally divides the kernel into a minimal trusted computing base and a set of safe system services.
  • Kernel Standard Libraries - Offers a specialized standard library designed to abstract unsafe low-level operations for kernel-space development.
  • Kernel System Call Interfaces - Provides a direct interface for intercepting and executing requests from user-space processes within the kernel.
  • Kernel Task Management - Handles multitasking and low-level context switching between kernel tasks.
  • Kernel-User Space Interfacing - Implements the mechanisms for transitioning execution and managing boundaries between kernel and user modes.
  • Memory Access Permissions - Controls read, write, and execute permissions on memory regions to ensure system security.
  • Untyped Memory Access - Provides safe interfaces for reading and writing raw, untyped byte buffers using volatile copy operations.
  • Memory-Mapped I/O - Provides hardware interfacing by reading and writing to specific numeric memory addresses and ports.
  • Multi-Architecture Kernel Deployments - Boots and operates as a kernel across x86-64, RISC-V 64, and LoongArch 64 platforms.
  • Network Socket I/O - Implements basic low-level operations for reading and writing raw data through network sockets.
  • Kernel Component Frameworks - Provides a minimalistic foundation and standard library for developing core operating system components.
  • Kernel Development Primitives - Supplies a minimalistic foundation of core types and functions designed for safe operating system development.
  • OS Distributions - Provides a declarative operating system distribution model bundled with specific software configurations.
  • Declarative Distributions - Provides a complete operating system environment managed through a declarative configuration model and dedicated package ecosystem.
  • Physical Page Allocators - Manages the allocation of raw physical memory frames while preventing double-allocation via metadata validation.
  • Peripheral Hardware Drivers - Provides low-level software components for communicating with hardware peripherals using DMA and memory-mapped I/O.
  • Physical Frame Lifecycle Tracking - Manages the ownership and exclusive access of physical memory frames using atomic state machines and reference counting.
  • Physical Frame Metadata - Attaches type-safe metadata to physical page frames to enforce strict memory access restrictions.
  • Kernel Preemption Control - Avoids system deadlocks by preventing tasks from sleeping while in atomic mode.
  • Symmetric Multi-Processing - Coordinates kernel execution and task scheduling across multiple physical CPU cores for parallel processing.
  • Synchronization Primitives - Coordinates access to shared resources between tasks using low-level locking and sleeping mechanisms.
  • Task Execution Coordination - Manages the definition and execution of code units for system-wide multitasking and scheduling.
  • Thread Scheduling Policies - Provides management of scheduling policies to control CPU time allocation among threads.
  • User-Mode Execution Environments - Executes non-privileged code in a specialized environment isolated from the kernel to protect system integrity.
  • User-Space Page Table Management - Manages page tables to map untyped frames and I/O memory into user-space virtual address ranges.
  • User-Mode Thread Schedulers - Implements schedulers that manage and execute threads that transition between kernel and user modes.
  • Virtual Memory Management - Implements a comprehensive system for controlling virtual memory allocation and isolated memory mapping.
  • Virtual Memory Mapping - Provides low-level operations to create, modify, and remove private and shared memory mappings.
  • Secure Guest Operations - Executes the kernel as a guest within hardware-enforced isolation environments to ensure secure operation.
  • Kernel ABI Implementations - Implements the Linux application binary interface to enable binary compatibility for existing Linux workloads.
  • Safe API Verifications - Guarantees that the public system API cannot be used to trigger memory corruption or undefined behavior.
  • Context Register Sanitization - Filters user-mode registers and flags during context switches to prevent unauthorized I/O access and security leaks.
  • Kernel Task Execution Isolations - Creates isolated environments by disassociating processes from shared system resources.
  • Confidential Computing - Operates as a secure guest OS within hardware-isolated Trusted Execution Environments like Intel TDX.
  • TCB-Based Module Isolation - Limits unsafe code execution by utilizing a minimal Trusted Computing Base in the construction of kernel modules.
  • Trusted Computing Base Minimization - Minimizes the trusted computing base by isolating unsafe low-level operations into a small framework.
  • Trusted Execution Environment Deployments - Configures and launches software within hardware-isolated trust domains such as Intel TDX.
  • Trusted Execution Environment Isolations - Protects sensitive data by running applications within hardware-isolated VM-based Trusted Execution Environments.
  • Concurrent Access Management - Prevents deadlocks and race conditions through hierarchical lock ordering and atomic critical sections.
  • Declarative Configuration Systems - Implements a declarative operating system distribution model using a central configuration file for system-wide changes.
  • Binary Compatibility Layers - Enables the execution of existing Linux binaries and container workloads by maintaining binary compatibility.
  • Policy-Mechanism Separations - Decouples core kernel mechanisms from specific policy implementations by injecting schedulers and allocators.
  • Thread and Process Synchronization - Implements primitives for coordinating execution flow and sharing memory between concurrent execution units to prevent data races.
  • Race Condition Prevention - Stops safe code from causing data races using synchronization primitives and preemption control.
  • Kernel Synchronization Primitives - Implements synchronization primitives to manage preemption and interrupt states for thread-safe access.
  • Kernel Entry Point Validations - Performs safety checks on data crossing the boundary from user space to the kernel at system call entry points.
  • File Status Retrieval - Fetches file metadata and status information, including attributes and timestamps, into system structures.
  • Read-Copy-Update Mechanisms - Provides lock-free read access and deferred reclamation of old data using a Read-Copy-Update mechanism.
  • Remote Debugging - Allows inspecting and troubleshooting the system state by attaching a debugger to a running remote target.
  • Kernel Soundness Validation - Validates outputs from external kernel policies to ensure they do not violate system safety invariants.
  • Runtime Debugging - Identifies and fixes software errors by inspecting variables and analyzing active process behavior.
  • Trust Domain Debugging - Enables inspection of VCPU state and private memory within hardware-isolated trust domains.
  • OS Project Management - Implements lifecycle management for operating system projects, including custom build and execution tasks.
  • Shell Command Execution - Provides a command-line interface for user interaction through various shell environments.
  • Bootable ISO Distributions - Supports the setup of the kernel environment on hardware using bootable ISO installers.
  • Daemonless Container Engines - Implements a daemonless container engine that controls lifecycles via a Docker-compatible interface.
  • Algorithmic Complexity Optimizations - Maintains sub-linear time complexity for frequent kernel operations to reduce latency and increase processing speed.
  • CPU-Local Storage - Stores processor-specific data and enforces CPU pinning using interrupt guards.
  • Device Control Operations - Manages terminal devices, framebuffers, and block devices through low-level control operations.
  • Disk Space Management - Implements low-level kernel mechanisms for allocating and deallocating physical disk blocks.
  • Multi-Format Boot Loaders - Ensures compatibility with diverse boot sequences including Multiboot and EFI.
  • File Position Seekers - Provides mechanisms to move the file position indicator to specific offsets within a file.
  • File Renaming and Relocations - Implements operations for changing the name or directory location of files and folders.
  • File System Access - Provides core system utilities for creating and opening files with specific access modes.
  • Filesystem Type Support - Supports multiple filesystem types to provide data persistence and system introspection.
  • Hardware Calling Conventions - Ensures low-level code adheres to hardware contracts by enforcing directives for sections and memory alignment.
  • Hardware Detection Overrides - Allows manual specification of hardware targets to bypass automatic detection regardless of ACPI settings.
  • Vectored I/O - Implements scatter-gather reads and writes across multiple buffers to reduce system call overhead.
  • Initial Process Specifications - Defines the path to the binary executed as the initial process during the system boot sequence.
  • Isolated Kernel Component Testing - Provides mechanisms to verify kernel functions in isolation without requiring a full system boot.
  • Interrupt Vector Remapping - Implements translation tables between interrupt requests and CPU delivery to prevent vector injection.
  • Timer-Based Descriptors - Creates timer file descriptors that integrate temporal events into asynchronous I/O polling.
  • Slab Allocators - Implements slab allocation using fixed-size chunks to prevent memory corruption and fragmentation.
  • Process Address Space Allocation - Creates user-space memory layouts by mapping physical frames into private virtual address spaces.
  • System Call Constraint Enforcement - Enforces allowed and disallowed system call patterns using a domain-specific language to ensure binary compatibility.
  • System Call Pattern Definition - Uses a specialized language to define valid sequences and constraints for supported system call invocations.
  • Interrupt Callback Abstractions - Provides safe abstractions for registering hardware interrupt callbacks while protecting descriptor tables.
  • MMIO Access Controls - Restricts device drivers to specific memory-mapped I/O ranges by filtering system registers.
  • User-Space Mutexes - Implements synchronization mechanisms that coordinate thread sleeping and waking based on memory values in user-space.
  • Power State Controllers - Provides interfaces for triggering system power events such as sleep, restart, and shutdown.
  • Process Cloning - Provides capabilities for spawning new threads or processes by duplicating or isolating resource states.
  • Process Signal Blocking - Implements the ability to modify signal masks to control process synchronization and signal delivery.
  • Process Signal Management - Provides utilities to manage and modify how processes handle and respond to operating system signals.
  • Process Timers - Provides kernel-level timers that trigger notifications via signals based on specified clock sources.
  • Process Tracing and Debugging - Implements low-level capabilities to inspect and modify registers, memory, and execution flow of other processes.
  • Remote Kernel Debugging - Inspects system state and manages breakpoints by attaching a debugger to a running kernel instance.
  • Segment Register Manipulations - Manages thread-local storage by modifying CPU segment registers like FS and GS base.
  • Semaphore Operations - Implements kernel-level synchronization by adjusting semaphore values and blocking or waking processes.
  • Stack Alignment Management - Ensures CPU stack pointers maintain 16-byte alignment to prevent hardware-level crashes.
  • Timestamp Modification - Enables modification of file access and modification times with nanosecond precision.
  • System Time Management - Implements kernel frameworks for retrieving the current time from real-time and monotonic system clocks.
  • Test Kernel Booting - Provides workflows for launching and executing the kernel within a QEMU emulator environment.
  • Thread Sleep Mechanisms - Provides kernel-level primitives to suspend thread execution for a specified duration or until a specific time point.
  • Kernel Emulation Environments - Runs the system within virtualized environments to test core kernel logic without physical hardware.
  • User-Space Memory Inspection - Reads and writes user-space memory using raw-pointer cursors to avoid aliasing violations.
  • Virtual Dynamic Shared Objects - Maps a virtual dynamic shared object into user processes to optimize common system call transitions.
  • VirtIO Driver Implementation - Implements standardized VirtIO drivers to enable the kernel to operate as a guest or host in virtualized environments.
  • System Emulators - Supports running the kernel and operating systems using full system emulation and binary translation.
  • VM Kernel Bootstrapping - Implements the process of initializing and booting a kernel within a virtual machine monitor.
  • ABI Compatibility Verification - Runs automated interface tests to ensure the system adheres to Linux ABI standards.
  • Kernel Callback Registration - Implements kernel-level callback registration for coordinating subsystems such as logging and power management.
  • Cryptographic Randomness Providers - Provides a system entropy pool to generate cryptographically secure random bytes for security-sensitive operations.
  • File Permission Verifications - Performs runtime checks to verify if a process has required permissions to access or modify files.
  • Container Workload Isolators - Provides OS-level isolation for container workloads to prevent privilege escalation bugs.
  • Linux Capability Management - Manages fine-grained kernel privileges and device access by controlling the capability sets of threads.
  • Mapping Resizing - Provides capabilities to dynamically adjust the size and location of active memory mappings.
  • OS Component Standardization - Standardizes core kernel components and APIs to enable driver reuse across different projects.
  • Kernel Panic Recovery - Defines the critical behavior and recovery sequences triggered by non-recoverable kernel errors.
  • RAII Resource Management - Employs RAII patterns for scope-based acquisition and release of system resources to prevent memory leaks.
  • Resource Lifecycle Management - Implements systems for guaranteeing the acquisition and release of resources through the use of guards and scopes.
  • Semaphore Set Management - Provides mechanisms for grouping and configuring sets of semaphores to coordinate access to shared resources.
  • User Register State Management - Saves and modifies user-space register states to control system call return values.
  • System Call Tracing - Provides real-time monitoring of kernel system calls, including arguments and return values.
  • Kernel Stack Trace Profiling - Analyzes system performance and behavior by collecting stack traces from remote debug targets.
  • System Timer Handlers - Implements mechanisms for registering and executing functions at specific time intervals using hardware timers.
  • Kernel Diagnostic Logging - Provides kernel-level event logging and diagnostic recording at multiple severity levels to monitor system behavior.
  • Kernel Performance Profiling - Generates flame graphs and profiles system performance by collecting periodic kernel stack traces.
  • System Service Managers - Controls system initialization and background service lifecycles through a standardized software suite.
  • Regression Testing Suites - Provides a comprehensive suite of tests to ensure new changes do not reintroduce previous bugs.
  • Unit Testing - Executes isolated unit tests using standard toolchains to verify component logic.
  • Kernel Unit Tests - Provides automated unit tests designed to verify core kernel logic within simulated hardware environments.
  • Operating Systems - General-purpose kernel with Linux-compatible ABI.

Star-Verlauf

Star-Verlauf für asterinas/asterinasStar-Verlauf für asterinas/asterinas

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Asterinas

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Asterinas.
  • xiaowenxia/embedded-notesAvatar von xiaowenxia

    xiaowenxia/embedded-notes

    3,998Auf GitHub ansehen↗

    embedded-notes is a collection of technical study guides and development notes focused on embedded Linux, Linux kernel internals, and C programming. It serves as a reference for embedded systems development and a preparation resource for technical interviews in the field. The project provides detailed documentation on writing device drivers, managing virtual memory, and understanding kernel internals. It also includes guides on IoT network protocols, such as MQTT and TCP/IP, and outlines the architectural details of chip architectures and hardware peripherals. The material covers a broad sur

    armcdriver
    Auf GitHub ansehen↗3,998
  • sel4/sel4Avatar von seL4

    seL4/seL4

    5,583Auf GitHub ansehen↗

    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 b

    Cmicrokernelossel4
    Auf GitHub ansehen↗5,583
  • balloonwj/cppguideAvatar von balloonwj

    balloonwj/CppGuide

    6,030Auf GitHub ansehen↗

    CppGuide is a curated collection of educational resources and practical guides focused on C++ server development, Linux kernel internals, concurrent programming, network protocols, and security exploitation. It provides structured learning paths for backend developers, covering everything from interview preparation to building high-performance network servers and understanding operating system fundamentals. The guide distinguishes itself by offering in-depth, hands-on tutorials that walk through real-world implementations, including building a Redis-like server from scratch, designing custom

    Auf GitHub ansehen↗6,030
  • nixos/nix.devAvatar von NixOS

    NixOS/nix.dev

    3,630Auf GitHub ansehen↗

    This project provides a functional package manager and a reproducible build system designed to ensure identical build inputs always produce the same outputs. It serves as the foundation for a declarative Linux distribution where the entire system state is defined in a configuration file, enabling predictable deployments and full-system rollbacks. The system uses a deterministic functional language and a lazy-evaluation expression engine to manage software dependencies and isolate build environments. It distinguishes itself through a content-addressable store that allows multiple versions of s

    Nixcookbookdocumentationlearning
    Auf GitHub ansehen↗3,630
Alle 30 Alternativen zu Asterinas anzeigen→

Häufig gestellte Fragen

Was macht asterinas/asterinas?

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.

Was sind die Hauptfunktionen von asterinas/asterinas?

Die Hauptfunktionen von asterinas/asterinas sind: Confidential Guest Kernels, Linux ABI Implementation, Memory-Safe Kernels, Hardware-Enforced VM Isolation, Concurrent Task Execution, Virtual Machine Containers, Lightweight VM Container Runtimes, DMA Remapping Protections.

Welche Open-Source-Alternativen gibt es zu asterinas/asterinas?

Open-Source-Alternativen zu asterinas/asterinas sind unter anderem: xiaowenxia/embedded-notes — embedded-notes is a collection of technical study guides and development notes focused on embedded Linux, Linux kernel… sel4/sel4 — seL4 is a formally verified microkernel whose C implementation is backed by machine-checked mathematical proofs of… balloonwj/cppguide — CppGuide is a curated collection of educational resources and practical guides focused on C++ server development,… nixos/nix.dev — This project provides a functional package manager and a reproducible build system designed to ensure identical build… cloudius-systems/osv — OSV is a unikernel operating system and cloud-native execution environment designed to run as a secure microVM on… mit-pdos/xv6-public — xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an…