5 repository-uri
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.
Acest proiect este o colecție de documentație tehnică și ghiduri concepute ca un explainer pentru arhitectura calculatoarelor. Oferă resurse educaționale despre modul în care procesoarele și sistemele de operare execută programele, concentrându-se pe ciclul fetch-execute și relația fundamentală dintre hardware și kernel. Documentația acoperă o gamă largă de operațiuni de sistem de nivel scăzut, inclusiv ghiduri detaliate despre formatul binar executabil și linkabil (ELF), gestionarea memoriei virtuale și operațiunile la nivel de kernel. Explorează în mod specific mecanica scheduling-ului CPU, multitasking-ul preemptiv și utilizarea întreruperilor de timer pentru a gestiona execuția proceselor. Materialul explică în continuare fluxurile de lucru de gestionare a memoriei, cum ar fi traducerea adreselor, demand paging și copy-on-write page sharing. Acoperă, de asemenea, securitatea și controlul accesului prin gestionarea privilegiilor procesorului și aplicarea permisiunilor paginilor de memorie, precum și interfața de system call utilizată de programele din user-space pentru a solicita operațiuni privilegiate de kernel. Ghidurile detaliază, de asemenea, ciclul de viață al execuției programului, de la secvența inițială de boot și încărcarea binarului până la înlocuirea procesului și bootstrapping-ul proceselor din userland.
Describes the mechanism of using hardware timer interrupts to force context switches and prevent CPU monopolization.
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
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 pentru ESP32 este un sistem de operare în timp real conceput pentru microcontrolerele ESP32, care integrează un interpretor Lua ușor pentru a gestiona resursele hardware și logica aplicației. Utilizează o arhitectură de micro-kernel pentru a oferi planificarea sarcinilor preemptive, asigurând sincronizarea deterministă și concurența fiabilă pentru operațiunile embedded pe hardware cu resurse limitate. Sistemul se distinge prin furnizarea unui strat de abstractizare hardware unificat care mapează comenzile de programare de nivel înalt direct la registrele periferice. Acest lucru permite dezvoltatorilor să interacționeze cu senzori, actuatoare și magistrale de comunicație prin interfețe simplificate, menținând în același timp cerințele de performanță ale unui mediu în timp real. Platforma include o suită cuprinzătoare de instrumente de dezvoltare pentru ingineria firmware-ului personalizat, permițând utilizatorilor să compileze și să scrie imagini binare adaptate pe configurații hardware specifice. De asemenea, dispune de o interfață de consolă serială pentru interacțiunea directă cu sistemul, facilitând dezvoltarea și execuția scripturilor care controlează componentele electronice fizice.
Utilizes a micro-kernel scheduler to force context switches and ensure deterministic timing for embedded tasks.