5 dépôts
Operating system kernels that utilize a scheduler to force context switches between tasks.
Distinct from Kernel Task Context Management: Describes the specific identity of a preemptive kernel rather than just task management tools.
Explore 5 awesome GitHub repositories matching operating systems & systems programming · Preemptive Multitasking Kernels. Refine with filters or upvote what's useful.
This project is an implementation of the Arduino framework for ESP32 microcontrollers, providing a core that enables firmware development using a familiar API. It functions as a microcontroller hardware abstraction layer and a firmware toolchain integration, bridging external development environments to the hardware for compilation and flashing. The system includes an embedded real-time operating system wrapper to manage multi-core execution and task scheduling, alongside a wireless communication suite for TCP/IP networking and Bluetooth Low Energy. It distinguishes itself by providing an obj
Uses a real-time operating system to manage task priorities and preemptive scheduling across multiple cores.
Ce projet est une collection de documentation technique et de guides conçus comme un explicateur d'architecture informatique. Il fournit des ressources éducatives sur la façon dont les processeurs et les systèmes d'exploitation exécutent les programmes, en se concentrant sur le cycle fetch-execute et la relation fondamentale entre le matériel et le noyau (kernel). La documentation couvre un large éventail d'opérations système de bas niveau, incluant des guides détaillés sur le format binaire exécutable et liable (ELF), la gestion de la mémoire virtuelle et les opérations au niveau du noyau. Elle explore spécifiquement la mécanique de l'ordonnancement CPU, le multitâche préemptif et l'utilisation d'interruptions de minuterie pour gérer l'exécution des processus. Le matériel explique plus en détail les flux de travail de gestion de la mémoire tels que la traduction d'adresses, la pagination à la demande et le partage de pages copy-on-write. Il couvre également la sécurité et le contrôle d'accès via la gestion des privilèges du processeur et l'application des permissions de pages mémoire, ainsi que l'interface d'appels système utilisée par les programmes en espace utilisateur pour demander des opérations privilégiées au noyau. Les guides détaillent également le cycle de vie de l'exécution des programmes, de la séquence de démarrage initiale et du chargement binaire au remplacement de processus et au bootstrapping des processus userland.
Describes the mechanism of using hardware timer interrupts to force context switches and prevent CPU monopolization.
FreeRTOS-Kernel est un noyau de système d'exploitation temps réel pour microcontrôleurs. Il fournit un environnement multitâche via un planificateur de tâches basé sur les priorités, un gestionnaire de mémoire embarqué et un framework de communication inter-processus pour garantir que les tâches critiques respectent leurs délais. Le noyau inclut un moteur de minuterie logicielle pour exécuter des fonctions à des intervalles prédéfinis ou après des délais définis. Il prend en charge un modèle minimal de tâches concurrentes et l'exécution légère de co-routines pour les systèmes avec des ressources mémoire limitées. Le projet couvre une large surface de gestion des ressources embarquées, incluant la communication inter-tâches via des files d'attente et des groupes d'événements, ainsi que la planification déterministe des ressources système. L'intégration du projet est gérée via l'intégration du système de build en utilisant des outils de récupération ou des sous-modules de contrôle de version.
Provides a preemptive multitasking kernel that ensures time-critical tasks meet deadlines on microcontrollers.
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 a kernel that switches process contexts between threads to enable shared CPU access.
Lua RTOS pour ESP32 est un système d'exploitation temps réel conçu pour les microcontrôleurs ESP32 qui intègre un interpréteur Lua léger pour gérer les ressources matérielles et la logique applicative. Il utilise une architecture de micro-noyau pour fournir une planification de tâches préemptive, garantissant un timing déterministe et une concurrence fiable pour les opérations embarquées sur du matériel aux ressources limitées. Le système se distingue en fournissant une couche d'abstraction matérielle unifiée qui mappe les commandes de programmation de haut niveau directement sur les registres périphériques. Cela permet aux développeurs d'interagir avec des capteurs, des actionneurs et des bus de communication via des interfaces simplifiées tout en maintenant les exigences de performance d'un environnement temps réel. La plateforme inclut une suite complète d'outils de développement pour l'ingénierie de firmware personnalisé, permettant aux utilisateurs de compiler et de flasher des images binaires adaptées à des configurations matérielles spécifiques. Elle dispose également d'une interface de console série pour une interaction directe avec le système, facilitant le développement et l'exécution de scripts qui contrôlent des composants électroniques physiques.
Utilizes a micro-kernel scheduler to force context switches and ensure deterministic timing for embedded tasks.