35 repository-uri
Developing specialized drivers that operate within the kernel for high-performance filesystem requirements.
Distinct from Kernel Development: Focuses on the implementation of filesystem drivers rather than general OS kernel or bootloader development.
Explore 35 awesome GitHub repositories matching operating systems & systems programming · Kernel Driver Implementation. Refine with filters or upvote what's useful.
XNU este un kernel de sistem de operare hibrid care combină o arhitectură de microkernel cu un strat monolitic pentru serviciile de sistem. Oferă o fundație pentru dezvoltarea sistemelor de operare, încorporând interfețe standardizate de apeluri de sistem, un framework modular de drivere de dispozitiv și securitate bazată pe controlul accesului obligatoriu. Arhitectura dispune de un microkernel bazat pe Mach și un strat monolitic bazat pe BSD. Utilizează un bus de comunicare inter-proces bazat pe transmiterea de mesaje pentru schimbul securizat de date între componentele izolate ale kernel-ului și procesele din user-space, alături de un framework de drivere orientat pe obiecte care decuplează logica specifică hardware-ului de kernel-ul de bază. Sistemul include un motor de control al accesului obligatoriu pentru aplicarea securității bazate pe politici și un debugger de kernel la distanță pentru inspectarea memoriei live și analizarea panicii sistemului. Capabilitățile suplimentare acoperă programarea multi-procesor, coordonarea resurselor hardware și un sistem de build pentru generarea de imagini bootabile pe diferite arhitecturi. Proiectul oferă instrumente pentru gestionarea build-ului kernel-ului, generarea simbolurilor de depanare și un framework pentru verificarea apelurilor de sistem.
Provides a modular framework for developing and managing kernel-mode hardware device drivers.
This project is a Windows Precision Touchpad driver and Apple Trackpad HID driver. It functions as an input device gesture driver that converts raw touch data from Apple trackpads and MacBooks into native multi-touch gestures and precise pointer movement. The driver implements the precision touchpad protocol to enable native Windows gesture and pointer controls for Apple hardware. This allows the operating system to recognize Apple trackpads as precision touchpads, replacing basic mouse functionality with native multi-finger swipes and precise scrolling. The implementation covers kernel-mode
Implements a kernel-mode driver to intercept hardware interrupts and manage low-level touchpad communication.
WinFSP is a framework for implementing custom file systems on Windows. It enables the creation of user-mode file systems that appear as standard disk drives or network shares to the operating system, allowing developers to implement file system logic in user space via a proxy architecture that avoids the need for custom kernel code. A primary differentiator is its FUSE compatibility layer, which maps POSIX-based file system calls to native Windows requests. This allows existing file systems written for the FUSE API to be ported to Windows and Cygwin environments. The project covers a wide ra
Enables building file system drivers directly within the kernel for high-performance requirements.
The Linux Kernel Module Programming Guide is an educational resource that teaches how to write, compile, and manage loadable kernel modules for modern Linux kernels. It covers the complete lifecycle of kernel modules, from building and loading to unloading and debugging, with a focus on extending kernel functionality without recompiling the entire kernel. The guide provides comprehensive coverage of core kernel programming concepts including dynamic module loading, file-operation registration, interrupt handling, kernel-user data copying, concurrency control, and deferred task scheduling. It
Teaches creating device drivers for PCI, USB, and character devices that interact with kernel subsystem interfaces.
LibreHardwareMonitor is a .NET library and system health monitoring tool for Windows. It provides a programmatic hardware sensor API and a low-level interface to access real-time temperature, voltage, and fan speed data from computer hardware components. The project serves as a bridge between Windows operating system calls and physical sensors, allowing for the monitoring of processors, graphics cards, motherboards, storage devices, and network adapters. This enables the tracking of system stability and the collection of environmental changes across various hardware components. The software
Uses a Ring-0 kernel driver to access low-level sensor readings unavailable to user-mode applications.
This repository is a collection of reference source code and implementation examples for developing drivers using the Windows Driver Kit. It provides hardware device driver samples and development templates for building kernel-mode software that enables communication between the Windows operating system and hardware devices. The library includes examples for creating universal Windows drivers, which utilize a shared set of interfaces to operate across multiple versions of the operating system. It also contains specialized implementation samples for various hardware categories, including netwo
Provides reference implementations of kernel-mode drivers for hardware device communication and interrupt management.
ALVR is a wireless virtual reality streaming tool and headset driver that transmits content from a PC to a headset over Wi-Fi to eliminate physical cables. It functions as a session orchestrator that manages a network-based pipeline for high-resolution frames and a virtual driver layer that enables a computer to communicate with and track wireless hardware. The system utilizes a UDP network protocol to synchronize compressed video frames and positional tracking data. It employs hardware-accelerated H.264 encoding to minimize lag and includes a virtual audio router to redirect microphone input
Allows the primary VR driver to run concurrently with third-party hardware drivers for additional device tracking.
This project provides a customized Linux kernel and driver suite designed to enable hardware compatibility for Surface devices. It focuses on building and patching the Linux kernel to provide driver support for proprietary hardware components that are missing from the upstream source. The system includes a secure boot kernel signing mechanism and a process for enrolling custom keys into the system firmware. This allows the execution of patched kernels while maintaining system security protections. The project covers peripheral driver support for touchscreens, styluses, and keyboards, as well
Provides kernel-mode drivers for touchscreens and styluses not available in the mainline kernel.
Tock is a secure embedded operating system and microcontroller kernel designed to isolate untrusted applications and drivers. It functions as a memory-safe process isolator that uses a combination of hardware memory protection and language-level type safety to execute mutually distrustful applications on bare metal. The system distinguishes itself through a hardware abstraction layer that decouples high-level components from specific microcontroller implementations using standardized traits. It further employs a virtualization layer to allow multiple independent software components to share a
Signals user processes by executing registered callback functions through a controlled system call interface.
A True Instrumentable Binary Emulation Framework
Emulates and analyzes kernel modules, drivers, and firmware for vulnerability research and security testing.
Acest proiect este o bibliotecă Java pentru stabilirea conexiunilor seriale brute între dispozitive Android și hardware extern folosind modul USB host. Oferă o punte de comunicare pentru interacțiunea cu microcontrolere și adaptoare fără a necesita acces root. Biblioteca include un framework de identificare a dispozitivelor pentru a detecta și mapa hardware-ul serial folosind ID-uri de furnizor și produs. Dispune de implementări specializate de drivere pentru chipset-uri precum CDC și FTDI pentru a permite schimbul de date între diferite standarde hardware. Acoperă capabilități de integrare hardware, inclusiv descoperirea dispozitivelor, configurarea portului serial pentru ratele de baud și gestionarea liniilor de semnal pentru controlul fluxului hardware.
Implements USB interface binding and I/O for Common Class and FTDI chipsets.
Flashlight este o bibliotecă C++ standalone de machine learning și tensori, utilizată pentru construirea și antrenarea rețelelor neuronale. Aceasta funcționează ca un framework cuprinzător de rețele neuronale și motor de diferențiere automată, oferind instrumentele necesare pentru a construi grafuri de calcul și a calcula gradienții prin backpropagation. Proiectul servește drept framework de antrenare distribuită, utilizând operațiuni all-reduce pentru a sincroniza gradienții și parametrii pe mai multe noduri de calcul și dispozitive. Se distinge prin integrarea profundă a manipulării de înaltă performanță a tensorilor, interoperabilitatea nativă a memoriei dispozitivului și un sistem pentru sincronizarea ponderilor între workerii distribuiți pentru a accelera antrenarea modelelor la scară largă. Framework-ul acoperă o gamă largă de capabilități de deep learning, inclusiv compoziția modulară a straturilor pentru proiectarea arhitecturilor complexe precum blocuri reziduale și celule recurente. Oferă utilitare extinse de gestionare a datelor pentru ingestie și prefetching, alături de sisteme de serializare pentru persistența stărilor modelelor. În plus, include o suită de instrumente de monitorizare și observabilitate pentru urmărirea metricilor de antrenare și măsurarea erorilor de secvență. Biblioteca este implementată în C++.
Enables custom GPU kernels to operate on raw tensor memory addresses for high-performance mathematical operations.
Blackbone este o colecție de instrumente specializate pentru scanarea memoriei, injectarea în procese și interfețe de drivere kernel utilizate pentru a manipula mediul de execuție Windows. Oferă un framework pentru executarea codului la distanță, maparea imaginilor executabile portabile și gestionarea thread-urilor între diferite limite de proces. Proiectul include un driver de memorie kernel pentru a accesa memoria kernel și a modifica drepturile de manipulare pentru a ascunde alocările de detectarea în user-mode. De asemenea, dispune de o bibliotecă pentru interceptarea apelurilor de funcții în procese la distanță folosind întreruperi software și breakpoint-uri hardware. Toolkit-ul acoperă capabilități mai largi în manipularea memoriei virtuale, cum ar fi citirea, scrierea și alocarea memoriei în procese locale sau la distanță. Oferă, de asemenea, utilitare pentru căutarea de tipare în memorie pentru a localiza secvențe specifice de octeți și gestionarea modulelor pentru injectarea sau ejectarea binarilor.
Implements a kernel-mode driver for low-level system manipulation and hiding memory allocations from detection.
Mbed OS este un sistem de operare în timp real conceput pentru dispozitive IoT conectate și hardware de microcontroler. Oferă un framework fundamental care combină un sistem de operare în timp real cu un framework de securitate embedded, un strat de abstractizare hardware pentru controlul senzorilor și perifericelor, și o platformă de gestionare a dispozitivelor pentru orchestrare bazată pe cloud. Sistemul stabilește fundamente de securitate pentru a proteja produsele conectate de accesul neautorizat și vulnerabilități. Mai mult, permite monitorizarea de la distanță și orchestrarea hardware-ului prin conectarea dispozitivelor embedded la servicii cloud. Platforma gestionează execuția concurentă prin coordonarea sarcinilor în timp real și oferă o interfață standardizată pentru gestionarea hardware-ului pe diferite arhitecturi de microcontrolere. Include, de asemenea, mecanisme pentru implementarea gestionării personalizate a erorilor de sistem și a comportamentelor de recuperare.
Implements a C++ template-based driver model to create efficient, reusable hardware drivers with minimal runtime overhead.
NCCL este o bibliotecă de comunicare de înaltă performanță și un framework de calcul distribuit pe GPU, conceput pentru executarea schimburilor de date colective și punct-la-punct pe mai multe GPU-uri în sisteme cu un singur nod sau multi-nod. Servește ca strat de transport RDMA pentru GPU și orchestrator de memorie, facilitând sincronizarea cu lățime de bandă mare a datelor și a gradienților de model pentru antrenarea și inferența distribuită pe GPU. Biblioteca se distinge prin capacitatea sa de a executa primitive de comunicare direct din kernel-urile GPU, eliminând CPU-ul gazdă din calea critică. Utilizează selecția de căi conștientă de topologie pentru a optimiza mișcarea datelor și folosește transportul de rețea bazat pe RDMA, inclusiv InfiniBand și NVLink, pentru a permite accesul la memorie zero-copy între dispozitive pe diferite noduri fizice. Proiectul acoperă o gamă largă de tipare de comunicare colectivă, inclusiv reduceri, broadcast-uri, gather-uri și schimburi all-to-all, alături de accesul la memorie la distanță punct-la-punct. Oferă gestionare cuprinzătoare a comunicatorului pentru inițializarea, partiționarea și redimensionarea grupurilor GPU, precum și gestionarea specializată a memoriei pentru înregistrarea bufferelor și coordonarea memoriei partajate a dispozitivului. Sistemul include o suită de instrumente de monitorizare și observabilitate pentru urmărirea stării, logarea diagnostică și monitorizarea evenimentelor în timp real, precum și interfețe de integrare pentru framework-uri de machine learning, CUDA graphs, MPI și Python.
Implements direct access to raw memory addresses for high-performance GPU kernel communication.
Asterinas is a memory-safe operating system kernel designed to prevent data races and memory corruption. It functions as a Linux-ABI compatible kernel, enabling the execution of existing Linux binaries and container workloads while providing a declarative operating system distribution model. The project distinguishes itself by acting as a virtual machine container host and a confidential computing guest OS, allowing it to run within hardware-isolated Trusted Execution Environments such as Intel TDX. It implements a minimal trusted computing base by isolating unsafe low-level operations and se
Enables the development of system calls, file systems, and device drivers using safe kernel abstractions.
This project is a red teaming knowledge base and offensive security playbook designed to simulate adversary behavior. It serves as a comprehensive collection of technical guides and tactics for executing red team operations. The repository provides detailed instructions for Active Directory exploitation, including Kerberos abuse and domain privilege escalation. It covers defense evasion through API unhooking and payload obfuscation, as well as Windows internals research involving the manipulation of kernel objects and system memory. The capability surface extends to network penetration testi
Provides technical guides for developing kernel drivers to manipulate system internals and execute exploits.
Tengine este o suită de instrumente și un motor de execuție ușor, conceput pentru rularea modelelor de deep learning pe hardware embedded cu resurse limitate. Acesta oferă o infrastructură pentru conversia modelelor de rețele neuronale, cuantizarea ponderilor, optimizarea kernel-urilor operatorilor și benchmarking-ul performanței de inferență pe unități CPU, GPU și NPU. Proiectul dispune de un optimizator automat de kernel-uri pentru operatori pentru a genera kernel-uri de înaltă eficiență și un instrument de cuantizare a modelelor care reduce precizia la formate întregi pentru a scădea utilizarea memoriei. Include un instrument dedicat de benchmarking hardware pentru a evalua viteza de execuție și eficiența arhitecturilor de rețele neuronale pe dispozitive embedded. Sistemul acoperă conversia formatelor de model într-o reprezentare internă hardware-agnostică, dispatch-ul modular al operatorilor și execuția multi-backend. Aceste capabilități permit transformarea definițiilor externe de rețele neuronale într-un format de runtime compatibil pentru deployment-ul embedded.
Generates high-efficiency operator kernels to improve execution speed and resource utilization for deep learning tasks.
i2cdevlib este o colecție de drivere periferice și straturi de abstractizare hardware concepute pentru dispozitive I2C. Oferă o colecție de drivere pentru senzori, o bază de date cu hărți de registre și un manager de periferice pentru a coordona comunicarea între microcontrolere și componentele hardware. Proiectul utilizează un strat de abstractizare hardware pentru a decupla logica dispozitivului de hardware-ul specific al microcontrolerului și bibliotecile de fire. Această abstractizare a stratului de transport permite ca aceleași drivere de dispozitiv să rămână portabile pe diferite arhitecturi hardware. Biblioteca acoperă o gamă largă de integrări hardware, inclusiv senzori de mișcare și inerțiali, monitoare de mediu, ceasuri în timp real și senzori tactili capacitivi. Include, de asemenea, suport pentru expansiunea GPIO, conversia analog-digitală și controlul afișajelor OLED și al contoarelor digitale. Sistemul include instrumente pentru depanarea protocolului I2C și analiza traficului, permițând corelarea datelor brute de la analizorul logic cu definițiile hărților de registre lizibile pentru oameni.
Automatically creates functional management code and bitfield access patterns using defined register map specifications.
ExecuTorch is a lightweight C++ runtime for deploying PyTorch models on mobile, embedded, and edge hardware. It provides an ahead-of-time compilation pipeline that exports, quantizes, and lowers model graphs into compact serialized programs, then executes them through a minimal runtime with hardware acceleration and on-device large language model inference capabilities. The project distinguishes itself through a hardware accelerator delegate system that partitions model subgraphs and offloads computation to specialized backends including NPUs, GPUs, and DSPs from Apple, Arm, Intel, MediaTek,
ExecuTorch adds or replaces operator implementations in the kernel library to support specialized hardware or logic.