19 Repos
Low-level system software implemented in Rust to leverage memory safety and high performance.
Distinct from Rust: Distinct from Rust compilers or general language resources: focuses on using Rust for systems-level software like container runtimes.
Explore 19 awesome GitHub repositories matching operating systems & systems programming · Rust Systems Programming. Refine with filters or upvote what's useful.
xi-editor is a high-performance text editor core written in Rust. It employs a client-server architecture that separates the backend editor logic from the user interface, allowing diverse frontends to communicate with the core via a standardized protocol. The project is distinguished by its use of rope-based text buffers for efficient manipulation of large documents and a collaborative engine powered by conflict-free replicated data types to synchronize concurrent edits. It further features an extensible plugin system that integrates external binaries and third-party tools through JSON-based
Leverages Rust to implement high-performance, low-latency text processing utilities and buffer management.
Xi Editor is a high-performance text editor core written in Rust. It employs a decoupled architecture that separates core logic from the presentation layer using a JSON-based client-server protocol. The project features a language-agnostic plugin system that communicates with external extensions via JSON messages over pipes. It manages text buffers using a persistent rope data structure to enable efficient editing of very large files. The system supports asynchronous editor workflows by running expensive operations in background threads using data snapshots. This prevents background processi
Provides a high-performance editor core implemented in Rust for memory safety and concurrency.
HVM2 is a high-performance execution environment for pure functional programs, implemented as a systems-level runtime in Rust. It functions as a massively parallel functional runtime that uses interaction combinators to achieve automatic parallelism across multi-core CPUs and GPUs. The project distinguishes itself by using a graph-rewriting computational model to execute programs via local reduction rules, which eliminates the need for manual locks or atomic operations. It employs beta-optimal reduction and lazy evaluation to optimize higher-order functions and eliminate redundant computation
Implemented as a systems-level runtime in Rust to leverage zero-cost abstractions and fine-grained memory control.
Talent Plan bietet geführte Trainingsprogramme und Lehrpläne, die sich auf das Design verteilter Datenbanken, Systemprogrammierung und Open-Source-Beitragsworkflows konzentrieren. Das Projekt bietet ein Ausbildungsprogramm für verteilte Systeme, das aus kuratierten Kursen und Labs besteht, die sich auf Datenbank-Interna konzentrieren. Der Lehrplan betont die Verwendung der Sprache Rust für den Aufbau hochperformanter vernetzter Anwendungen und die Implementierung verteilter Algorithmen. Er integriert Lehrmaterialien zu Versionskontrolle, Community-Governance und den spezifischen Prozessen, die für Beiträge zu öffentlichen Softwareprojekten erforderlich sind. Das Projekt deckt breite technische und organisatorische Bereiche ab, einschließlich Engineering verteilter Datenbanken, Open-Source-Community-Management und Koordination technischer Mentorenschaften. Es beinhaltet praktische Anwendungen durch die Konstruktion fehlertoleranter Key-Value-Stores und das Studium professioneller Architekturen verteilter Datenbanken. Zusätzliche Materialien decken Open-Source-Grundlagen ab, einschließlich Projekt-Governance, Software-Lizenzierung und die Nutzung kollaborativer Plattformen wie Git und GitHub.
Provides a path to Rust mastery by building high-performance networked applications and distributed algorithms.
Crossbeam is a concurrency toolkit for Rust providing low-level primitives for writing multi-threaded programs. It focuses on lock-free data structures and memory management primitives designed for shared-memory concurrent environments. The project includes a work-stealing scheduler that uses double-ended queues to balance workloads across multiple processor cores. This system enables the implementation of work-stealing deques to distribute tasks and prevent bottlenecks. The toolkit covers broader capabilities for parallel algorithm development, multi-threaded task scheduling, and general co
Provides a foundational toolkit for high-performance, memory-safe concurrent systems programming in Rust.
Youki ist eine OCI-Container-Runtime, die in Rust geschrieben ist. Sie implementiert die OCI-Runtime-Spezifikation (Open Container Initiative), um den Lebenszyklus containerisierter Prozesse zu verwalten und die Kompatibilität mit Standard-Container-Images und -Engines sicherzustellen. Die Runtime ist auf Speichersicherheit ausgelegt und unterstützt die Ausführung von rootless Containern, wodurch Container als Nicht-Root-Benutzer ausgeführt werden können, um Sicherheitsrisiken zu reduzieren und Privilegienerweiterungen zu begrenzen. Sie bietet grundlegende Funktionen für das Containermanagement, einschließlich des Startens und Verwaltens von OCI-Containern. Dies wird durch Linux-Namespace-Isolierung, cgroup-basierte Ressourcenbegrenzung und User-Namespace-Mapping erreicht, um Prozesse vom Host-Betriebssystem zu trennen.
Uses Rust for systems programming to provide a high-performance, memory-safe container runtime.
Youki is a low-level container runtime written in Rust that creates and manages isolated containers according to Open Container Initiative specifications. It serves as an execution engine that can function as a rootless container manager or a pluggable Kubernetes CRI runtime to manage pods and containers within a cluster. The project distinguishes itself by providing a Wasm container runtime capable of executing WebAssembly modules as isolated workloads compatible with standard orchestration tools. It further supports a rootless execution model, allowing isolated environments to start as non-
Developed in Rust to ensure memory safety and performance when interfacing with low-level Linux kernel features.
Skim is an interactive text filter and terminal selection tool written in Rust. It functions as a command line interface utility that processes input streams to isolate specific entries through real-time user queries and sorting. The tool differentiates itself through ANSI compatibility, allowing it to parse color codes and maintain text formatting during the search process. It supports multiple matching strategies, including configurable fuzzy matching algorithms and regular expression integration. The application covers a broad range of capabilities including field-specific filtering, resu
Leverages Rust's memory safety and performance to ensure low-latency searching during high-volume text processing.
Procs ist ein leistungsstarker System-Prozessmonitor und -Viewer, der in Rust geschrieben wurde. Er dient als Ersatz für den ps-Befehl und bietet eine Command-Line-Interface zur Verfolgung aktiver Systemprozesse sowie deren zugehöriger CPU- und Speichermetriken. Das Tool zeichnet sich durch seine Container-Awareness aus, die System-Tasks ihren entsprechenden Docker-Containernamen zuordnet. Es bietet zudem einen interaktiven Prozessbaum zur Visualisierung von Eltern-Kind-Beziehungen in einem hierarchischen Layout sowie einen JSON-Exporter für programmatische Datenanalyse und Automatisierung. Die Monitoring-Oberfläche umfasst Echtzeit-Aktivitätsverfolgung durch intervallbasiertes Polling, Filterung nach Schlüsselwörtern und regulären Ausdrücken sowie metrikbasiertes Sortieren. Benutzer können die Erfahrung durch TOML-Konfigurationsdateien anpassen, um Ausgabespalten, Farbthemen und visuelle Ausrichtung zu verwalten. Das Dienstprogramm beinhaltet die Generierung von Shell-Vervollständigungen für mehrere Befehlszeilen-Shells und lässt sich in System-Pager zur Navigation durch lange Prozesslisten integrieren.
Developed using Rust to ensure memory safety and high performance when interfacing with OS kernels.
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
Enables developing verified userspace applications using Rust bindings, runtimes, and target specifications.
Verso ist ein privater Webbrowser und eine Rust-Anwendung für sicheres Surfen. Er fungiert als Webview-basierter Browser, der eine vorkompilierte Engine einbettet, um Webinhalte zu rendern, ohne dass eine vollständige Browser-Quellcode-Kompilierung erforderlich ist. Das Projekt enthält einen Cargo-Dependency-Manager, der Rust-Abhängigkeiten in lokalen Quellbäumen organisiert. Dieses System ermöglicht eine isolierte Software-Paketierung durch das Herunterladen externer Bibliotheken, um sicherzustellen, dass der Build-Prozess unabhängig von externen Registries bleibt. Der Browser integriert eine Host-Engine-Schnittstelle zur Verwaltung von Navigation und Benutzerinteraktionen. Er bietet Tools zur Generierung von Projekt-Abhängigkeiten und zur Verwaltung der Isolation lokaler Quellbäume.
Developed as a systems-level application in Rust to leverage memory safety and performance.
OpenLogi ist ein Local-First-Tool zur Hardwarekonfiguration und ein anwendungsübergreifender Input-Mapper, geschrieben in Rust. Es ermöglicht die Anpassung von Peripheriegeräten über das HID++-Protokoll, sodass Benutzer Geräteeinstellungen ohne Cloud-Accounts oder Telemetrie verwalten können. Das System zeichnet sich durch seinen Local-First-Ansatz aus, bei dem alle Gerätekonfigurationen und Tastenbelegungen in Klartextdateien gespeichert werden. Dieses Design unterstützt manuelle Bearbeitung und Versionskontrolle und stellt sicher, dass Befehle direkt an den Hardware-Speicher gesendet werden. Die Suite deckt verschiedene Bereiche der Hardwareverwaltung ab, einschließlich der Neubelegung physischer Tasten und der Konfiguration von DPI-Empfindlichkeits-Presets. Sie enthält ein System zum Erstellen anwendungsspezifischer Profile, die Eingabebindungen automatisch basierend auf dem aktiven Fenster umschalten, sowie Steuerungen für das Scrollrad-Verhalten und die Überwachung des Akkustatus. Ein CLI steht zur Verwaltung des Hardware-Inventars und zum Abrufen von Diagnosedaten verbundener Geräte zur Verfügung.
Uses Rust for systems programming to ensure memory safety while handling low-level hardware communication.
Linutil ist eine Rust-basierte Toolbox für die Systemkonfiguration, die darauf ausgelegt ist, Softwareinstallation, Hardware-Setup und die Durchsetzung von Sicherheits-Baselines über verschiedene Linux-Distributionen hinweg zu automatisieren. Sie fungiert als hochperformantes Utility zur Ausführung von Batch-Konfigurationsjobs und zur Verwaltung von System-Baselines über ein Terminal-Interface. Das Projekt bietet einen distributionsagnostischen Setup-Manager, der es Benutzern ermöglicht, Hardware-Peripherie zu konfigurieren und Desktop-Umgebungen über verschiedene Linux-Versionen hinweg zu installieren. Es enthält ein spezialisiertes Firewall-Konfigurationstool zur Anwendung standardisierter Netzwerkverkehrsregeln und Sicherheits-Baselines. Die Fähigkeiten des Tools decken die automatisierte Installation kuratierter Softwarekategorien für Entwicklung, Kommunikation und Gaming ab. Es verwaltet zudem die Konfiguration von Hardware-Peripherie für Monitore, Drucker und Bluetooth-Geräte und bietet Optimierungen für Gaming-Umgebungen und Emulation.
Leverages Rust's systems programming capabilities to build a high-performance utility for system configuration.
Ziglings is an interactive coding course and tutorial designed to teach the Zig programming language. It functions as a test-driven learning tool that guides users through a sequence of incremental exercises to master language syntax and semantics. The project provides a series of small, broken programs that learners must fix. Progress is achieved by modifying the code until it satisfies predefined requirements and passes associated automated tests. The educational experience is supported by a shell-based test runner and local compiler execution to provide immediate feedback. It utilizes a f
Enables practicing syntax and logic by modifying code until it satisfies predefined automated tests.
cheats.rs ist eine Rust-Syntaxreferenz und technische Dokumentationsressource, die als statische Website bereitgestellt wird. Sie dient als kuratierte Sammlung von Beispielen und Mustern, die beim Erlernen der Sprache Rust unterstützen sollen. Das Projekt deckt eine breite Palette an Sprachkonstrukten ab, einschließlich Speicherverwaltung, der Verwendung von Generics und der Implementierung asynchroner Logik. Es bietet Anleitungen zur Definition von Datenstrukturen, zur Verwaltung von Speicherreferenzen und zur Organisation von Codemodulen. Zusätzlich werden Muster für Kontrollfluss, Pattern Matching und die Verwendung von Makros behandelt sowie Anweisungen für die Durchführung unsicherer Operationen und die Aufrechterhaltung der API-Stabilität gegeben.
Provides a curated reference for implementing non-blocking logic and futures for concurrent execution.
sudo-rs ist ein Low-Level-Systemdienstprogramm und ein privilegierter Befehlsausführer, der in Rust geschrieben wurde. Es bietet eine speichersichere Implementierung von sudo und su zum Ausführen von Programmen mit Superuser- oder alternativen Benutzerrechten und zum Wechseln von Sitzungsprivilegien zu anderen lokalen Benutzeridentitäten. Das Projekt integriert sich in Kernel-Sicherheitsmodule, um als sandboxed Prozess-Launcher zu fungieren, der Systemressourcen und Prozessfunktionen während der Ausführung einschränkt. Das Dienstprogramm umfasst Unterstützung für mehrsprachige Systemlokalisierung und nutzt kompilierte Message-Kataloge, um übersetzten UI-Text basierend auf dem System-Locale bereitzustellen.
Implemented as low-level system software in Rust to ensure memory safety and high performance for privileged operations.
async-std ist eine asynchrone Rust-Laufzeitumgebung und eine Bibliothek für nicht-blockierende I/O. Sie dient als asynchrone Standardbibliothek und bietet eine Reihe von Alternativen zur Rust-Kernbibliothek für das Management paralleler Aufgaben, Netzwerke und Dateisystemzugriffe. Das Projekt implementiert eine API, die die Standardbibliothek spiegelt, und bietet asynchrone Versionen existierender synchroner Typen, um ein vertrautes Interface beizubehalten. Dieser Ansatz ermöglicht asynchrone Rust-Entwicklung mit einem Interface, das die Ergonomie der Standardbibliothek der Sprache widerspiegelt. Die Laufzeitumgebung enthält einen Task-Executor für das Scheduling und die Ausführung asynchroner Operationen über mehrere Threads hinweg. Ihr Funktionsumfang deckt die parallele Task-Ausführung, nicht-blockierende Ein- und Ausgabevorgänge sowie das allgemeine Laufzeitmanagement ab.
Provides a specialized environment for non-blocking I/O and concurrency in Rust.
nix is a Unix system API library and Rust system programming interface that provides type-safe bindings for invoking low-level system calls. It serves as a low-level operating system wrapper and POSIX compatibility layer, allowing for kernel interactions and administrative tasks through safe wrappers around platform-specific APIs. The project provides a kernel device interface for controlling hardware devices, managing kernel modules, and configuring terminal interfaces. It differentiates itself by offering type-safe wrappers for memory mapping and zero-copy input-output operations to reduce
Provides a comprehensive Rust system programming interface with type-safe bindings for invoking low-level Unix system calls.
This project provides a development framework for writing loadable Linux kernel modules using the Rust programming language. It establishes a methodology for safe systems programming by enforcing memory and thread safety within the restricted execution environment of the kernel, allowing developers to extend operating system functionality while preventing common memory corruption errors. The framework distinguishes itself through automated generation of type-safe foreign function interfaces, which bridge high-level code with low-level kernel headers and system structures. It maps high-level s
Leverages language safety guarantees to build low-level system components that interact directly with kernel interfaces.