19 dépôts
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 provides guided training programs and curricula centered on distributed database design, systems programming, and open source contribution workflows. The project offers a distributed systems education program consisting of curated courses and labs focused on database internals. The curriculum emphasizes the use of the Rust language for building high-performance networked applications and implementing distributed algorithms. It integrates educational materials on version control, community governance, and the specific processes required to contribute to public software projects. T
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 est un runtime de conteneur OCI écrit en Rust. Il implémente la spécification de runtime de l'Open Container Initiative pour gérer le cycle de vie des processus conteneurisés et assurer la compatibilité avec les images et moteurs de conteneurs standard. Le runtime est conçu pour la sécurité mémoire et prend en charge l'exécution de conteneurs rootless, permettant aux conteneurs de s'exécuter en tant qu'utilisateurs non-root pour réduire les risques de sécurité et limiter l'escalade de privilèges. Il fournit des capacités de gestion de conteneurs de base, incluant la création et la gestion de conteneurs OCI. Ceci est réalisé grâce à l'isolation par espaces de noms Linux (namespaces), la limitation des ressources basée sur les cgroups et le mappage des espaces de noms utilisateur pour partitionner les processus du système d'exploitation hôte.
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 est un moniteur et visualiseur de processus système haute performance écrit en Rust. Il sert de remplacement à la commande ps, fournissant une interface en ligne de commande pour suivre les processus système actifs et leurs métriques de CPU et de mémoire associées. L'outil se distingue par sa connaissance des conteneurs, qui mappe les tâches système à leurs noms de conteneurs Docker correspondants. Il dispose également d'un arbre de processus interactif pour visualiser les relations parent-enfant dans une mise en page hiérarchique et un exportateur JSON pour l'analyse de données programmatique et l'automatisation. La surface de surveillance inclut le suivi de l'activité en temps réel via un polling basé sur des intervalles, le filtrage par mots-clés et expressions régulières, et le tri basé sur les métriques. Les utilisateurs peuvent personnaliser l'expérience via des fichiers de configuration TOML pour gérer les colonnes de sortie, les thèmes de couleur et l'alignement visuel. L'utilitaire inclut la génération de complétion shell pour plusieurs shells en ligne de commande et s'intègre avec les pagers système pour naviguer dans les longues listes de processus.
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 est un navigateur web privé et une application Rust conçue pour une navigation web sécurisée. Il fonctionne comme un navigateur basé sur une webview qui intègre un moteur pré-compilé pour rendre le contenu web sans nécessiter une compilation complète du code source du navigateur. Le projet inclut un gestionnaire de dépendances cargo qui organise les dépendances Rust dans des arbres de sources locaux. Ce système permet un packaging logiciel isolé en téléchargeant des bibliothèques externes pour garantir que le processus de build reste indépendant des registres externes. Le navigateur intègre une interface moteur-hôte pour gérer la navigation et les interactions utilisateur. Il fournit des outils pour générer des dépendances de projet et gérer l'isolation des arbres de sources locaux.
Developed as a systems-level application in Rust to leverage memory safety and performance.
OpenLogi est un outil de configuration matérielle « local-first » et un mappeur d'entrées multi-applications écrit en Rust. Il permet de personnaliser les périphériques utilisant le protocole HID++, offrant aux utilisateurs la gestion des paramètres de leurs appareils sans dépendre de comptes cloud ou de télémétrie. Le système se distingue par son approche « local-first », stockant toutes les configurations d'appareils et les mappages de boutons dans des fichiers texte brut. Cette conception facilite l'édition manuelle et le contrôle de version, tout en garantissant que les commandes sont envoyées directement dans la mémoire du matériel. La suite couvre plusieurs domaines de gestion matérielle, notamment le remappage des boutons physiques et la configuration des préréglages de sensibilité DPI. Elle inclut un système pour créer des profils spécifiques aux applications qui basculent automatiquement les raccourcis selon la fenêtre active, ainsi que des contrôles pour le comportement de la molette et la surveillance de l'état de la batterie. Une interface en ligne de commande est fournie pour gérer l'inventaire matériel et récupérer les données de diagnostic des appareils connectés.
Uses Rust for systems programming to ensure memory safety while handling low-level hardware communication.
Linutil est une boîte à outils de configuration système basée sur Rust, conçue pour automatiser l'installation de logiciels, la configuration matérielle et l'application de bases de sécurité sur diverses distributions Linux. Il fonctionne comme un utilitaire haute performance pour exécuter des tâches de configuration par lots et gérer les bases système via une interface de terminal. Le projet fournit un gestionnaire de configuration agnostique à la distribution qui permet aux utilisateurs de configurer des périphériques matériels et d'installer des environnements de bureau sur différentes versions de Linux. Il inclut un outil de configuration de pare-feu spécialisé pour appliquer des règles de trafic réseau standardisées et des bases de sécurité. Les capacités de l'outil couvrent l'installation automatisée de catégories de logiciels sélectionnées pour le développement, la communication et le jeu. Il gère également la configuration des périphériques matériels pour les moniteurs, imprimantes et appareils Bluetooth, tout en fournissant des optimisations pour les environnements de jeu et l'émulation.
Leverages Rust's systems programming capabilities to build a high-performance utility for system configuration.
Ziglings est un cours de codage interactif et un tutoriel conçu pour enseigner le langage de programmation Zig. Il fonctionne comme un outil d'apprentissage piloté par les tests qui guide les utilisateurs à travers une séquence d'exercices incrémentaux pour maîtriser la syntaxe et la sémantique du langage. Le projet fournit une série de petits programmes cassés que les apprenants doivent réparer. La progression est atteinte en modifiant le code jusqu'à ce qu'il satisfasse les exigences prédéfinies et passe les tests automatisés associés. L'expérience éducative est soutenue par un test runner basé sur le shell et une exécution de compilateur local pour fournir un feedback immédiat. Il utilise un système de mapping basé sur les fichiers pour organiser le curriculum en un chemin d'apprentissage linéaire.
Enables practicing syntax and logic by modifying code until it satisfies predefined automated tests.
cheats.rs est une référence de syntaxe Rust et une ressource de documentation technique fournie sous forme de site statique. Il sert de collection organisée d'exemples et de modèles conçus pour aider à l'apprentissage du langage Rust. Le projet couvre un large éventail de constructions linguistiques, incluant la gestion de la mémoire, l'utilisation des génériques et l'implémentation de logique asynchrone. Il fournit des conseils sur la définition de structures de données, la gestion des références mémoire et l'organisation des modules de code. Une couverture supplémentaire inclut des modèles pour le flux de contrôle, le pattern matching et l'utilisation de macros, ainsi que des instructions pour effectuer des opérations non sécurisées (unsafe) et maintenir la stabilité de l'API.
Provides a curated reference for implementing non-blocking logic and futures for concurrent execution.
sudo-rs est un utilitaire système de bas niveau et un exécuteur de commande privilégié écrit en Rust. Il fournit une implémentation sécurisée en mémoire de sudo et su pour exécuter des programmes avec des permissions de superutilisateur ou d'utilisateur alternatif et basculer les privilèges de session vers d'autres identités d'utilisateur local. Le projet s'intègre avec les modules de sécurité du noyau pour fonctionner comme un lanceur de processus en bac à sable (sandboxed), restreignant les ressources système et les capacités de processus pendant l'exécution. L'utilitaire inclut la prise en charge de la localisation système multi-langage, utilisant des catalogues de messages compilés pour fournir du texte d'interface utilisateur traduit basé sur la locale du système.
Implemented as low-level system software in Rust to ensure memory safety and high performance for privileged operations.
async-std is a Rust asynchronous runtime and non-blocking I/O library. It serves as an asynchronous standard library, providing a set of alternatives to the core Rust library for managing concurrent tasks, networking, and file system access. The project implements a standard-library-mirrored API, offering asynchronous versions of existing synchronous types to maintain a familiar interface. This approach allows for asynchronous Rust development using an interface that reflects the ergonomics of the language's standard library. The runtime includes a task executor for scheduling and executing
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.
Ce projet fournit un framework de développement pour écrire des modules de noyau Linux chargeables en utilisant le langage de programmation Rust. Il établit une méthodologie pour la programmation système sécurisée en imposant la sécurité de la mémoire et des threads au sein de l'environnement d'exécution restreint du noyau, permettant aux développeurs d'étendre les fonctionnalités du système d'exploitation tout en prévenant les erreurs courantes de corruption mémoire. Le framework se distingue par la génération automatisée d'interfaces de fonctions étrangères (FFI) typées, qui font le pont entre le code de haut niveau et les en-têtes et structures système du noyau de bas niveau. Il mappe les constructions de synchronisation de haut niveau directement sur les mécanismes de verrouillage natifs du noyau, garantissant que les données partagées restent protégées à travers de multiples threads d'exécution et contextes d'interruption. L'ensemble d'outils s'intègre aux pipelines de build natifs du noyau pour gérer la compilation et l'édition de liens du code source en objets binaires. En fournissant des abstractions sécurisées pour l'interfaçage matériel et les environnements aux ressources limitées, il prend en charge la création de pilotes de périphériques et de composants système fiables qui maintiennent des règles strictes de propriété et d'emprunt à la compilation.
Leverages language safety guarantees to build low-level system components that interact directly with kernel interfaces.