19 repositorios
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 proporciona programas de formación guiados y planes de estudio centrados en el diseño de bases de datos distribuidas, programación de sistemas y flujos de trabajo de contribución a código abierto. El proyecto ofrece un programa educativo de sistemas distribuidos que consiste en cursos curados y laboratorios centrados en los aspectos internos de las bases de datos. El plan de estudios enfatiza el uso del lenguaje Rust para construir aplicaciones de red de alto rendimiento e implementar algoritmos distribuidos. Integra materiales educativos sobre control de versiones, gobernanza comunitaria y los procesos específicos necesarios para contribuir a proyectos de software público. El proyecto cubre amplias áreas técnicas y organizacionales, incluyendo ingeniería de bases de datos distribuidas, gestión de comunidades de código abierto y coordinación de mentoría técnica. Incluye la aplicación práctica a través de la construcción de almacenes clave-valor tolerantes a fallos y el estudio de arquitecturas profesionales de bases de datos distribuidas. Los materiales adicionales cubren los fundamentos del código abierto, incluyendo la gobernanza de proyectos, licencias de software y el uso de plataformas colaborativas como Git y 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 es un runtime de contenedores OCI escrito en Rust. Implementa la especificación de runtime de la Open Container Initiative para gestionar el ciclo de vida de los procesos contenedorizados y garantizar la compatibilidad con imágenes y motores de contenedores estándar. El runtime está diseñado para la seguridad de memoria y admite la ejecución de contenedores sin privilegios (rootless), permitiendo que los contenedores se ejecuten como usuarios no root para reducir los riesgos de seguridad y limitar la escalada de privilegios. Proporciona capacidades principales de gestión de contenedores, incluyendo la creación y gestión de contenedores OCI. Esto se logra mediante el aislamiento de espacios de nombres (namespaces) de Linux, la limitación de recursos basada en cgroups y el mapeo de espacios de nombres de usuario para particionar los procesos del sistema operativo anfitrión.
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 es un monitor y visor de procesos del sistema de alto rendimiento escrito en Rust. Sirve como un reemplazo para el comando ps, proporcionando una interfaz de línea de comandos para rastrear procesos activos del sistema y sus métricas asociadas de CPU y memoria. La herramienta se distingue por su conciencia de contenedores, que mapea las tareas del sistema a sus nombres de contenedor Docker correspondientes. También cuenta con un árbol de procesos interactivo para visualizar las relaciones padre e hijo en un diseño jerárquico y un exportador JSON para el análisis de datos programático y la automatización. La superficie de monitoreo incluye seguimiento de actividad en tiempo real mediante sondeo basado en intervalos, filtrado por palabras clave y expresiones regulares, y ordenamiento basado en métricas. Los usuarios pueden personalizar la experiencia a través de archivos de configuración TOML para gestionar columnas de salida, temas de color y alineación visual. La utilidad incluye generación de autocompletado de shell para múltiples shells de línea de comandos e integra con paginadores del sistema para navegar por largas listas de procesos.
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 es un navegador web privado y una aplicación de Rust diseñada para la navegación web segura. Funciona como un navegador basado en webview que integra un motor precompilado para renderizar contenido web sin requerir la compilación completa del código fuente del navegador. El proyecto incluye un gestor de dependencias cargo que organiza las dependencias de Rust en árboles de fuentes locales. Este sistema permite el empaquetado de software aislado mediante la descarga de librerías externas para garantizar que el proceso de compilación permanezca independiente de registros externos. El navegador integra una interfaz de motor anfitrión para gestionar la navegación y las interacciones del usuario. Proporciona herramientas para generar dependencias de proyectos y gestionar el aislamiento de árboles de fuentes locales.
Developed as a systems-level application in Rust to leverage memory safety and performance.
OpenLogi es una herramienta de configuración de hardware local-first y un mapeador de entradas entre aplicaciones escrito en Rust. Permite la personalización de periféricos mediante el protocolo HID++, permitiendo a los usuarios gestionar la configuración de sus dispositivos sin necesidad de cuentas en la nube ni telemetría. El sistema se distingue por su enfoque local-first, almacenando todas las configuraciones de dispositivos y mapeos de botones en archivos de texto plano. Este diseño permite la edición manual y el control de versiones, asegurando que los comandos se envíen directamente a la memoria del hardware. La suite cubre varias áreas de gestión de hardware, incluyendo el remapeo de botones físicos y la configuración de preajustes de sensibilidad DPI. Incluye un sistema para crear perfiles específicos por aplicación que cambian automáticamente los enlaces de entrada según la ventana activa, así como controles para el comportamiento de la rueda de desplazamiento y el monitoreo del estado de la batería. Se proporciona una interfaz de línea de comandos para gestionar el inventario de hardware y recuperar datos de diagnóstico de los dispositivos conectados.
Uses Rust for systems programming to ensure memory safety while handling low-level hardware communication.
Linutil es una caja de herramientas de configuración del sistema basada en Rust diseñada para automatizar la instalación de software, configuración de hardware y cumplimiento de líneas base de seguridad en varias distribuciones de Linux. Funciona como una utilidad de alto rendimiento para ejecutar trabajos de configuración por lotes y gestionar líneas base del sistema a través de una interfaz de terminal. El proyecto proporciona un gestor de configuración agnóstico a la distribución que permite a los usuarios configurar periféricos de hardware e instalar entornos de escritorio en diferentes versiones de Linux. Incluye una herramienta de configuración de firewall especializada para aplicar reglas de tráfico de red estandarizadas y líneas base de seguridad. Las capacidades de la herramienta cubren la instalación automatizada de categorías de software curadas para desarrollo, comunicación y juegos. También gestiona la configuración de periféricos de hardware para monitores, impresoras y dispositivos Bluetooth, mientras proporciona optimizaciones para entornos de juego y emulación.
Leverages Rust's systems programming capabilities to build a high-performance utility for system configuration.
Ziglings es un curso de codificación interactivo y tutorial diseñado para enseñar el lenguaje de programación Zig. Funciona como una herramienta de aprendizaje basada en pruebas que guía a los usuarios a través de una secuencia de ejercicios incrementales para dominar la sintaxis y la semántica del lenguaje. El proyecto proporciona una serie de pequeños programas rotos que los estudiantes deben arreglar. El progreso se logra modificando el código hasta que satisface los requisitos predefinidos y pasa las pruebas automatizadas asociadas. La experiencia educativa está respaldada por un ejecutor de pruebas basado en shell y ejecución de compilador local para proporcionar retroalimentación inmediata. Utiliza un sistema de mapeo basado en archivos para organizar el plan de estudios en una ruta de aprendizaje lineal.
Enables practicing syntax and logic by modifying code until it satisfies predefined automated tests.
cheats.rs es una referencia de sintaxis de Rust y un recurso de documentación técnica proporcionado como sitio estático. Sirve como una colección curada de ejemplos y patrones diseñados para ayudar en el aprendizaje del lenguaje Rust. El proyecto cubre una amplia gama de construcciones del lenguaje, incluyendo la gestión de memoria, el uso de genéricos y la implementación de lógica asíncrona. Proporciona orientación sobre la definición de estructuras de datos, la gestión de referencias de memoria y la organización de módulos de código. La cobertura adicional incluye patrones para el flujo de control, coincidencia de patrones (pattern matching) y el uso de macros, así como instrucciones para realizar operaciones inseguras (unsafe) y mantener la estabilidad de la API.
Provides a curated reference for implementing non-blocking logic and futures for concurrent execution.
sudo-rs es una utilidad de sistema de bajo nivel y ejecutor de comandos privilegiados escrito en Rust. Proporciona una implementación segura para la memoria de sudo y su para ejecutar programas con permisos de superusuario o de usuario alternativo y cambiar los privilegios de sesión a otras identidades de usuario locales. El proyecto se integra con módulos de seguridad del kernel para funcionar como un lanzador de procesos en sandbox, restringiendo los recursos del sistema y las capacidades del proceso durante la ejecución. La utilidad incluye soporte para la localización del sistema en múltiples idiomas, utilizando catálogos de mensajes compilados para proporcionar texto de interfaz de usuario traducido basado en la configuración regional del sistema.
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.
Este proyecto proporciona un framework de desarrollo para escribir módulos cargables del kernel de Linux utilizando el lenguaje de programación Rust. Establece una metodología para la programación de sistemas segura al imponer seguridad de memoria y de hilos dentro del entorno de ejecución restringido del kernel, permitiendo a los desarrolladores extender la funcionalidad del sistema operativo mientras previenen errores comunes de corrupción de memoria. El framework se distingue por la generación automatizada de interfaces de funciones externas (FFI) con seguridad de tipos, que conectan código de alto nivel con cabeceras y estructuras del sistema de bajo nivel. Mapea construcciones de sincronización de alto nivel directamente a mecanismos de bloqueo nativos del kernel, asegurando que los datos compartidos permanezcan protegidos a través de múltiples hilos de ejecución y contextos de interrupción. El conjunto de herramientas se integra con los pipelines de compilación nativos del kernel para gestionar la compilación y el enlace de código fuente en objetos binarios. Al proporcionar abstracciones seguras para la interfaz con hardware y entornos de recursos limitados, soporta la creación de controladores de dispositivos y componentes de sistema fiables que mantienen reglas estrictas de propiedad y préstamo en tiempo de compilación.
Leverages language safety guarantees to build low-level system components that interact directly with kernel interfaces.