20 Repos
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 ist ein Echtzeitbetriebssystem für Mikrocontroller, das für die Verwaltung von Task-Scheduling und Ressourcenallokation über verschiedene Hardware-Module hinweg entwickelt wurde. Es fungiert als Embedded-Plattform und modularer Kernel für die Bereitstellung von Echtzeit-Software auf unterschiedlichen Chip-Architekturen. Das System enthält integrierte Protokoll-Stacks für eine sichere Datenübertragung und Konnektivität zwischen IoT-Endgeräten und Cloud-Plattformen. Das Projekt umfasst Echtzeit-Task-Management, Embedded-Software-Deployment und Mikrocontroller-Administration. Es nutzt eine modulare Microkernel-Architektur und eine Hardware-Abstraktionsschicht, um den Kernel von spezifischen Chipsätzen zu entkoppeln.
Uses preemptive scheduling to interrupt lower-priority tasks for time-critical operations.
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 ist ein Echtzeitbetriebssystem, das für ressourcenbeschränkte Mikrocontroller entwickelt wurde. Es bietet einen Kernel zur Verwaltung von Hardware-Peripheriegeräten, Speicher und Multitasking auf eingebetteten Geräten und verfügt über eine Hardware-Abstraktionsschicht für Mikrocontroller, um den Hardwarezugriff über verschiedene Chipsätze hinweg zu vereinheitlichen. Das System verwendet einen präemptiven, tickless Task-Scheduler mit prioritätsbasierter Ausführung, um die Energieeffizienz in batteriebetriebener Hardware zu maximieren. Es enthält zudem ein eingebettetes Sicherheitsframework, das aus kryptografischen APIs und sicheren Transportprotokollen besteht, um authentifizierte Over-the-Air-Firmware-Updates zu erleichtern. Das Projekt implementiert zudem einen modularen Netzwerk-Stack mit Unterstützung für IPv6, IPv4 und Ethernet für die Gerätekonnektivität. Es deckt die Steuerung von Peripheriehardware für Sensoren und Aktoren, flexibles Gerätespeichermanagement sowie die Ausführung portabler Binärdateien und Skripte über spezialisierte Runtimes ab.
Employs a preemptive tickless task scheduler with priority-based execution to maximize energy efficiency.
IncludeOS ist ein Unikernel-Betriebssystem, das Anwendungscode zusammen mit den notwendigen Kernel-Treibern in einem einzigen bootfähigen Image bündelt. Es fungiert als ressourceneffiziente virtuelle Maschine für Cloud-Dienste und als leichtgewichtige Serverless-Laufzeitumgebung, die darauf ausgelegt ist, Speicherbedarf und Bootzeiten zu minimieren. Das Projekt bietet eine Linux-Kompatibilitätsschicht über eine C-Bibliothek, wodurch Anwendungen, die für Linux geschrieben wurden, innerhalb der Unikernel-Umgebung kompiliert und ausgeführt werden können. Zudem dient es als Framework für Netzwerk-Appliances, um leistungsstarke Firewalls und Load Balancer mit konfigurierbaren TCP/IP-Stacks zu erstellen. Zu den umfassenden Funktionen gehören die Erstellung minimaler Maschinen-Images für den Einsatz auf Hypervisoren wie KVM, Qemu und VMware sowie die Härtung eingebetteter IoT-Geräte durch das Unterbinden von Laufzeit-Rekonfigurationen. Das System unterstützt einen schnellen Dienststart zur Optimierung von Serverless-Kaltstarts und nutzt nicht-präemptives Scheduling, um eine vorhersagbare Latenz zu gewährleisten.
Utilizes non-preemptive scheduling to ensure predictable latency and eliminate jitter.
LiteOS ist ein leichtgewichtiger Echtzeit-Betriebssystem-Kernel, der für eingeschränkte Geräte mit begrenztem Speicher und begrenzter Rechenleistung entwickelt wurde. Er bietet eine Grundlage für die eingebettete IoT-Entwicklung und konzentriert sich auf stabiles und vorhersehbares Systemressourcenmanagement. Das System implementiert einen präemptiven Task-Scheduler und interrupt-gesteuertes Ressourcenmanagement, um Echtzeit-Reaktionsfähigkeit sicherzustellen. Es integriert einen tickless Idle-Mechanismus und optimierte Schlaf-Wach-Zyklen, um den Stromverbrauch in batteriebetriebener Hardware zu reduzieren. Der Kernel enthält Fähigkeiten zur Task-Synchronisation über Semaphoren und statische Speicherallokation, um Laufzeitfragmentierung zu verhindern. Zusätzliche Funktionalitäten decken IoT-Cloud-Integration über standardmäßige sichere Datenübertragungsprotokolle, Systemleistungsüberwachung und eine Shell mit serieller Schnittstelle für System-Debugging und Befehlsausführung ab.
Features a kernel scheduler that can interrupt lower-priority tasks to ensure high-priority real-time execution.
Mbed OS is a real-time operating system designed for connected internet-of-things devices and microcontroller hardware. It provides a fundamental framework that combines a real-time operating system with an embedded security framework, a hardware abstraction layer for controlling sensors and peripherals, and a device management platform for cloud-based orchestration. The system establishes security foundations to protect connected products from unauthorized access and vulnerabilities. It further enables remote monitoring and hardware orchestration by connecting embedded devices to cloud servi
Features a preemptive priority-based scheduler to guarantee deterministic timing for critical real-time operations.
FreeRTOS-Kernel ist ein Echtzeitbetriebssystem-Kernel für Mikrocontroller. Er bietet eine Multitasking-Umgebung durch einen prioritätsbasierten Task-Scheduler, einen eingebetteten Speicher-Manager und ein Framework für Inter-Prozess-Kommunikation, um sicherzustellen, dass zeitkritische Aufgaben ihre Deadlines einhalten. Der Kernel enthält eine Software-Timer-Engine zur Ausführung von Funktionen in vordefinierten Intervallen oder nach festgelegten Verzögerungen. Er unterstützt ein minimales Modell gleichzeitiger Aufgaben und leichtgewichtige Co-Routine-Ausführung für Systeme mit begrenzten Speicherressourcen. Das Projekt deckt ein breites Spektrum an eingebetteter Ressourcenverwaltung ab, einschließlich Inter-Task-Kommunikation via Queues und Event-Gruppen sowie deterministischer Systemressourcenplanung. Die Projektintegration wird durch Build-System-Integration mittels Fetch-Tools oder Versionskontroll-Submodulen verwaltet.
Implements a preemptive scheduler that ensures high-priority tasks can interrupt lower-priority ones for real-time response.
p-queue ist eine JavaScript-Promise-Warteschlange und ein Scheduler für gleichzeitige Aufgaben, der dazu entwickelt wurde, die Anzahl aktiver asynchroner Operationen zu begrenzen. Er dient als asynchroner Ratenbegrenzer und Promise-Lebenszyklus-Manager, um Ressourcenerschöpfung zu verhindern. Das Projekt zeichnet sich durch prioritätsbasierte Aufgabenplanung und Token-Bucket-Ratenbegrenzung zur Steuerung der Ausführungsfrequenz aus. Es lässt sich mit Abort-Signalen für den Abbruch von Aufgaben integrieren und bietet Mechanismen zum Anhalten, Fortsetzen und Löschen ausstehender Operationen. Das Tool deckt breitere Verkehrsmanagement-Funktionen ab, einschließlich Operations-Timeouts und Concurrency-Limiting. Es enthält zudem Monitoring-Primitive zur Verfolgung des Warteschlangenzustands und der Anzahl ausstehender Aufgaben sowie Synchronisation für das Leerlaufen der Warteschlange.
Supports priority-based task scheduling to ensure critical operations are processed before lower-priority ones.
Slurm ist ein Cluster-Workload-Manager und Job-Scheduler für High-Performance-Computing-Umgebungen. Es fungiert als verteilter Compute-Orchestrator, der groß angelegte Rechenaufgaben in einer Warteschlange verwaltet und über mehrere Compute-Nodes in einem Cluster ausführt. Das System agiert als Ressourcen-Arbitrator, der Hardware-Nodes und Prozessoren unter konkurrierenden Benutzern verteilt, um Ressourcenkonflikte zu vermeiden und die Effizienz zu maximieren. Es koordiniert den gleichzeitigen Start mehrerer Prozesse über verschiedene physische Server hinweg, um parallele Jobs und wissenschaftliche Workloads auszuführen. Die Plattform deckt breite Aufgabenbereiche ab, einschließlich Batch-Job-Scheduling, Compute-Ressourcen-Allokation und paralleler Workload-Ausführung. Es steuert das Timing und die Ausführung von Jobs basierend auf Ressourcenverfügbarkeit und Priorität.
Orders pending workloads in a logical queue and dispatches them according to user priorities.
embedded-notes ist eine Sammlung technischer Studienleitfäden und Entwicklungsnotizen mit Fokus auf Embedded Linux, Linux-Kernel-Internals und C-Programmierung. Sie dient als Referenz für die Entwicklung eingebetteter Systeme und als Vorbereitungsressource für technische Vorstellungsgespräche in diesem Bereich. Das Projekt bietet detaillierte Dokumentation zum Schreiben von Gerätetreibern, zur Verwaltung von virtuellem Speicher und zum Verständnis der Kernel-Internals. Es enthält zudem Leitfäden zu IoT-Netzwerkprotokollen wie MQTT und TCP/IP und skizziert die architektonischen Details von Chip-Architekturen und Hardware-Peripheriegeräten. Das Material deckt ein breites Spektrum der Systemprogrammierung ab, einschließlich manueller Speicherverwaltung, Prozesslebenszyklus-Management und der Implementierung von Konzepten für Echtzeitbetriebssysteme. Es enthält zudem Referenzen für Low-Level-Tools wie Cross-Kompilierung für ARM, Binäranalyse und Shell-Scripting für Build-Automatisierung.
Details techniques for resolving priority inversion to ensure real-time system stability.
NuttX ist ein POSIX-konformes Echtzeitbetriebssystem, das für ressourcenbeschränkte eingebettete Umgebungen entwickelt wurde. Es fungiert als skalierbares Mikrocontroller-Betriebssystem, das eine Unix-ähnliche Umgebung für die Verwaltung von Hardware und die Ausführung von Anwendungen über Architekturen von 8-Bit bis 64-Bit hinweg bietet. Das System stellt eine hohe Software-Portabilität sicher, indem es einen Kernel implementiert, der POSIX- und ANSI-Standards folgt. Dies ermöglicht es Entwicklern, portable eingebettete Anwendungen unter Verwendung standardisierter API-Aufrufe über diverse Hardware-Architekturen hinweg zu erstellen. Das Projekt umfasst eine modulare Kernel-Architektur und eine Hardware-Abstraktionsschicht, um das System von spezifischen Chip-Peripheriegeräten zu entkoppeln. Es nutzt prioritätsbasiertes präemptives Scheduling für deterministische Antworten und bietet Tools zur Simulation von Hardwareumgebungen für das Testen von Firmware ohne physische Boards.
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.