20 repositorios
Assignment and enforcement of priority levels to distribute processor time among tasks.
Distinguishing note: Candidates focus on UI layout priority or job queue ordering, not CPU execution priority.
Explore 20 awesome GitHub repositories matching operating systems & systems programming · Task Priority Management. Refine with filters or upvote what's useful.
This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level implementation of kernel engineering, focusing on the fundamental construction of an OS from the hardware level up. The system is distinguished by its comprehensive approach to ARM64 processor control, featuring a red-black tree task scheduler and a hierarchical page table system for virtual memory management. It implements a sophisticated privilege model that handles transitions between kernel and user modes, ensuring process isolation through address space splitting and exception level m
Assigns priority levels to tasks to ensure high-priority processes receive more processor time.
RT-Thread is an IoT real-time operating system and embedded device kernel. It provides a lightweight execution environment for microcontrollers, combining a real-time kernel with a hardware abstraction layer to manage multi-threaded task scheduling and hardware resource allocation. The project is built as a modular framework that utilizes a package-based ecosystem. This allows for the integration of reusable software libraries and high-level services through a loosely coupled architecture. The system covers real-time task scheduling, resource-constrained memory management, and embedded hardw
Implements a priority-based preemptive scheduler to manage CPU execution for multi-threaded tasks.
Embassy is an asynchronous framework for microcontrollers that provides a runtime for cooperative multitasking. It enables the execution of multiple concurrent tasks to maximize energy efficiency and CPU usage, utilizing an async executor that puts the processor to sleep when idle. The framework includes a comprehensive set of embedded components, featuring a hardware abstraction layer for peripherals like GPIO, SPI, I2C, and UART, alongside a TCP/IP network stack and a USB device stack. It also provides a Bluetooth Low Energy host stack for wireless communication and a bootloader framework t
Supports multiple executor instances at different priority levels to allow high-priority task preemption.
FreeRTOS is a real-time operating system for embedded devices that provides a kernel for predictable task execution. It utilizes priority-based preemptive scheduling and deterministic timing to manage simultaneous hardware tasks. The project includes a symmetric multiprocessing kernel that distributes processing workloads across multiple CPU cores using a shared memory architecture. It also provides a thread-safe TCP/IP networking stack for managing internet protocol traffic and IPv6 connectivity on embedded processors. The system incorporates an embedded memory manager with fixed-size alloc
Implements a priority-based preemptive scheduler to ensure deterministic real-time responsiveness for critical tasks.
Hatchet is an open-source durable workflow engine and task orchestration platform. It provides a framework for building and executing fault-tolerant, multi-step pipelines as directed acyclic graphs (DAGs), with automatic retries, scheduling, and real-time observability. The system is built around durable task checkpointing, which persists execution state after each step so work can resume from the last checkpoint after a worker crash or restart, and it supports event-driven task resumption that pauses a task until a matching external event arrives. The platform distinguishes itself through it
Assigns priority levels to tasks so critical work runs before less urgent ones.
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
Explains how timer interrupts and rescheduling flags enforce time slices and prioritization in kernel scheduling.
TencentOS-tiny es un sistema operativo en tiempo real para microcontroladores, diseñado para gestionar la programación de tareas y la asignación de recursos en diversos módulos de hardware. Funciona como una plataforma embebida y un kernel modular para desplegar software en tiempo real en diferentes arquitecturas de chips. El sistema incluye pilas de protocolos integradas para permitir la transmisión segura de datos y la conectividad entre dispositivos IoT terminales y plataformas en la nube. El proyecto abarca la gestión de tareas en tiempo real, el despliegue de software embebido y la administración de microcontroladores. Utiliza una arquitectura de microkernel modular y una capa de abstracción de hardware para desacoplar el kernel de conjuntos de chips específicos.
Manages real-time execution by assigning and enforcing priority levels to distribute CPU resources.
Taskwarrior is a command-line task manager that lets you create, modify, filter, and complete to-do items directly from the terminal. It stores all tasks in a single plain-text file for portability and manual editing, and includes a custom expression language for selecting tasks by status, priority, tags, and date ranges. The tool distinguishes itself through several integrated capabilities. It computes a numeric urgency score for each task based on weighted factors like age, tags, and due date to determine ordering. A recurrence template engine generates new task instances from a template af
Computes a numeric urgency score from weighted factors like age, tags, and due date to order tasks.
RIOT es un sistema operativo en tiempo real diseñado para microcontroladores con recursos limitados. Proporciona un kernel para gestionar periféricos de hardware, memoria y multitarea en dispositivos embebidos, con una capa de abstracción de hardware de microcontrolador para unificar el acceso al hardware en diferentes chipsets. El sistema emplea un planificador de tareas preventivo sin ticks (tickless) con ejecución basada en prioridades para maximizar la eficiencia energética en hardware alimentado por baterías. También incluye un framework de seguridad embebido que consiste en APIs criptográficas y protocolos de transporte seguros para facilitar actualizaciones de firmware over-the-air autenticadas. El proyecto implementa además un stack de red modular que admite IPv6, IPv4 y Ethernet para la conectividad de dispositivos. Cubre el control de hardware periférico para sensores y actuadores, gestión flexible de memoria de dispositivos y la ejecución de binarios y scripts portátiles a través de entornos de ejecución especializados.
Manages system processes using a preemptive tickless mechanism to maximize energy efficiency on battery-operated devices.
IncludeOS es un sistema operativo unikernel que empaqueta el código de la aplicación junto con los controladores de kernel necesarios en una única imagen arrancable. Funciona como una máquina virtual eficiente en recursos para servicios en la nube y un entorno de ejecución serverless ligero, diseñado para minimizar el uso de memoria y los tiempos de arranque. El proyecto proporciona una capa de compatibilidad con Linux mediante una biblioteca C, lo que permite compilar y ejecutar aplicaciones diseñadas para Linux dentro del entorno unikernel. También sirve como framework de dispositivos de red para construir firewalls y balanceadores de carga de alto rendimiento utilizando pilas TCP/IP configurables. Sus capacidades incluyen la creación de imágenes de máquina mínimas para despliegue en hipervisores como KVM, Qemu y VMware, así como el endurecimiento de dispositivos IoT embebidos al evitar la reconfiguración en tiempo de ejecución. El sistema admite un inicio rápido de servicios para optimizar los arranques en frío de entornos serverless y utiliza una planificación no apropiativa para mantener una latencia predecible.
Utilizes non-preemptive scheduling to ensure predictable latency and eliminate jitter.
LiteOS es un kernel de sistema operativo en tiempo real ligero diseñado para dispositivos restringidos con memoria y potencia de procesamiento limitadas. Proporciona una base para el desarrollo de IoT embebido, centrándose en la gestión estable y predecible de los recursos del sistema. El sistema implementa un planificador de tareas preventivo y gestión de recursos basada en interrupciones para asegurar la capacidad de respuesta en tiempo real. Incorpora un mecanismo de inactividad tickless y ciclos de suspensión-activación optimizados para reducir el consumo de energía en hardware alimentado por batería. El kernel incluye capacidades para la sincronización de tareas mediante semáforos y asignación de memoria estática para prevenir la fragmentación en tiempo de ejecución. La funcionalidad adicional cubre la integración con la nube IoT mediante protocolos estándar de transmisión segura de datos, monitoreo del rendimiento del sistema y un shell de interfaz serie para depuración y ejecución de comandos.
Features a kernel scheduler that can interrupt lower-priority tasks to ensure high-priority real-time execution.
Mbed OS es un sistema operativo en tiempo real diseñado para dispositivos conectados de internet de las cosas (IoT) y hardware de microcontroladores. Proporciona un framework fundamental que combina un sistema operativo en tiempo real con un framework de seguridad embebido, una capa de abstracción de hardware para controlar sensores y periféricos, y una plataforma de gestión de dispositivos para la orquestación basada en la nube. El sistema establece fundamentos de seguridad para proteger los productos conectados de accesos no autorizados y vulnerabilidades. Además, permite el monitoreo remoto y la orquestación de hardware conectando dispositivos embebidos a servicios en la nube. La plataforma gestiona la ejecución concurrente a través de la coordinación de tareas en tiempo real y proporciona una interfaz estandarizada para la gestión de hardware a través de diferentes arquitecturas de microcontroladores. También incluye mecanismos para implementar el manejo de errores del sistema personalizado y comportamientos de recuperación.
Features a preemptive priority-based scheduler to guarantee deterministic timing for critical real-time operations.
FreeRTOS-Kernel is a real-time operating system kernel for microcontrollers. It provides a multitasking environment through a priority-based task scheduler, an embedded memory manager, and an inter-process communication framework to ensure time-critical tasks meet their deadlines. The kernel includes a software timer engine for executing functions at predefined intervals or after set delays. It supports a minimal model of concurrent tasks and lightweight co-routine execution for systems with limited memory resources. The project covers a broad surface of embedded resource management, includi
Implements a preemptive scheduler that ensures high-priority tasks can interrupt lower-priority ones for real-time response.
p-queue es una cola de promesas de JavaScript y un programador de tareas concurrentes diseñado para limitar el número de operaciones asíncronas activas. Sirve como un limitador de tasa asíncrono y gestor del ciclo de vida de promesas para prevenir el agotamiento de recursos. El proyecto se distingue por la programación de tareas basada en prioridades y la limitación de tasa de cubo de tokens (token-bucket) para controlar la frecuencia de ejecución. Se integra con señales de aborto para la cancelación de tareas y proporciona mecanismos para pausar, reanudar y borrar operaciones pendientes. La herramienta cubre capacidades más amplias de gestión de tráfico, incluyendo tiempos de espera de operaciones y limitación de concurrencia. También incluye primitivas de monitoreo para rastrear el estado de la cola y el conteo de tareas pendientes, así como sincronización para el estado de inactividad de la cola.
Supports priority-based task scheduling to ensure critical operations are processed before lower-priority ones.
Slurm es un gestor de cargas de trabajo de clúster y programador de tareas diseñado para entornos de computación de alto rendimiento. Funciona como un orquestador de computación distribuida que pone en cola y ejecuta tareas computacionales a gran escala a través de múltiples nodos de cómputo en un clúster. El sistema actúa como un árbitro de recursos, distribuyendo nodos de hardware y procesadores entre usuarios concurrentes para evitar conflictos de recursos y maximizar la eficiencia. Coordina el lanzamiento simultáneo de múltiples procesos a través de diferentes servidores físicos para ejecutar trabajos paralelos y cargas de trabajo científicas. La plataforma cubre amplias áreas de capacidad, incluyendo la programación de trabajos por lotes (batch), la asignación de recursos de cómputo y la ejecución de cargas de trabajo paralelas. Gestiona el tiempo y la ejecución de los trabajos en función de la disponibilidad de recursos y la prioridad.
Orders pending workloads in a logical queue and dispatches them according to user priorities.
embedded-notes es una colección de guías de estudio técnicas y notas de desarrollo centradas en Linux embebido, los internos del kernel de Linux y programación en C. Sirve como referencia para el desarrollo de sistemas embebidos y un recurso de preparación para entrevistas técnicas en el campo. El proyecto proporciona documentación detallada sobre la escritura de drivers de dispositivos, gestión de memoria virtual y comprensión de los internos del kernel. También incluye guías sobre protocolos de red IoT, como MQTT y TCP/IP, y describe los detalles arquitectónicos de arquitecturas de chips y periféricos de hardware. El material cubre una amplia superficie de programación de sistemas, incluyendo gestión manual de memoria, gestión del ciclo de vida de procesos y la implementación de conceptos de sistemas operativos en tiempo real (RTOS). También incluye referencias para herramientas de bajo nivel, como compilación cruzada para ARM, análisis binario y scripting de shell para la automatización de compilaciones.
Details techniques for resolving priority inversion to ensure real-time system stability.
NuttX es un sistema operativo en tiempo real compatible con POSIX diseñado para entornos embebidos con recursos limitados. Funciona como un SO de microcontrolador escalable que proporciona un entorno similar a Unix para gestionar hardware y ejecutar aplicaciones en arquitecturas que van desde 8 bits hasta 64 bits. El sistema garantiza una alta portabilidad del software al implementar un kernel que sigue los estándares POSIX y ANSI. Esto permite a los desarrolladores crear aplicaciones embebidas portátiles utilizando llamadas a la API estandarizadas en diversas arquitecturas de hardware. El proyecto incluye una arquitectura de kernel modular y una capa de abstracción de hardware para desacoplar el sistema de periféricos de chip específicos. Utiliza programación preventiva basada en prioridad para respuestas deterministas y proporciona herramientas para simular entornos de hardware para probar firmware sin placas físicas.
Provides priority-based preemptive scheduling to ensure deterministic real-time responses.
This project is an educational operating system kernel designed to demonstrate the fundamental architectural principles of memory paging and process management. It is implemented as a minimal kernel that serves as a practical reference for building a functioning system from the ground up. The implementation features a preemptive multitasking kernel that switches execution contexts between threads to share a single CPU. It includes an x86 virtual memory manager that uses paging to map virtual addresses to physical memory and isolate processes. The system covers low-level hardware interfacing
Implements CPU execution state swapping to enable preemptive multitasking across multiple threads.
Kaneo is an open-source project management platform built around a kanban board interface for organizing tasks into columns with drag-and-drop status management. It functions as a self-hosted task manager that supports multiple workspaces, organizations, and role-based access control, with all persistent data stored in a PostgreSQL relational database and exposed through a RESTful JSON API. The platform distinguishes itself through deep external integration capabilities, connecting project workflows to GitHub, Gitea, Slack, Discord, and Telegram with automated event-driven actions. A webhook
Enables updating the urgency level of a task to manage development workflow.
Libredesk is an omnichannel support management system designed to unify live chat and email communications into a single dashboard. It provides a comprehensive environment for managing customer interactions, agent roles, and team assignments to organize support workloads. The project distinguishes itself through AI customer support automation, which includes generating automated responses and refining message tones. It also supports the development and integration of custom chat widgets using WebSockets and JavaScript APIs. The system covers a broad set of capabilities, including customer re
Allows adjusting the importance level of customer conversations via API to prioritize response queues.