34 रिपॉजिटरी
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 34 awesome GitHub repositories matching operating systems & systems programming · Kernel Driver Implementation. Refine with filters or upvote what's useful.
XNU एक हाइब्रिड ऑपरेटिंग सिस्टम कर्नेल है जो सिस्टम सेवाओं के लिए एक मोनोलिथिक परत के साथ एक माइक्रोकर्नेल आर्किटेक्चर को जोड़ता है। यह ऑपरेटिंग सिस्टम विकास के लिए एक आधार प्रदान करता है, जिसमें मानकीकृत सिस्टम-कॉल इंटरफ़ेस, एक मॉड्यूलर डिवाइस ड्राइवर फ्रेमवर्क, और अनिवार्य एक्सेस कंट्रोल सुरक्षा शामिल है। आर्किटेक्चर में एक Mach-आधारित माइक्रोकर्नेल और एक BSD-आधारित मोनोलिथिक परत है। यह अलग-थलग कर्नेल घटकों और यूजर-स्पेस प्रक्रियाओं के बीच सुरक्षित डेटा विनिमय के लिए एक संदेश-पासिंग इंटर-प्रोसेस संचार बस का उपयोग करता है, साथ ही एक ऑब्जेक्ट-ओरिएंटेड ड्राइवर फ्रेमवर्क जो हार्डवेयर-विशिष्ट लॉजिक को मुख्य कर्नेल से अलग करता है। सिस्टम में नीति-संचालित सुरक्षा प्रवर्तन के लिए एक अनिवार्य एक्सेस कंट्रोल इंजन और लाइव मेमोरी का निरीक्षण करने और सिस्टम पैनिक का विश्लेषण करने के लिए एक रिमोट कर्नेल डीबगर शामिल है। अतिरिक्त क्षमताएं मल्टी-प्रोसेसर शेड्यूलिंग, हार्डवेयर संसाधन समन्वय, और विभिन्न आर्किटेक्चर में बूट करने योग्य छवियों को उत्पन्न करने के लिए एक बिल्ड सिस्टम को कवर करती हैं। प्रोजेक्ट कर्नेल बिल्ड प्रबंधन, डीबग सिंबल निर्माण, और सिस्टम कॉल सत्यापन के लिए एक फ्रेमवर्क के लिए टूलिंग प्रदान करती है।
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.
This project is a Java library for establishing raw serial port connections between Android devices and external hardware using USB host mode. It provides a communication bridge for interacting with microcontrollers and adapters without requiring root access. The library includes a device identification framework to detect and map serial hardware using vendor and product IDs. It features specialized driver implementations for chipsets such as CDC and FTDI to enable data exchange across different hardware standards. It covers hardware integration capabilities including device discovery, seria
Implements USB interface binding and I/O for Common Class and FTDI chipsets.
Flashlight एक स्टैंडअलोन C++ मशीन लर्निंग लाइब्रेरी और टेंसर लाइब्रेरी है जिसका उपयोग न्यूरल नेटवर्क बनाने और ट्रेन करने के लिए किया जाता है। यह एक व्यापक न्यूरल नेटवर्क फ्रेमवर्क और ऑटोमैटिक डिफरेंशिएशन इंजन के रूप में कार्य करता है, जो कम्प्यूटेशन ग्राफ बनाने और बैकप्रोपैगेशन के माध्यम से ग्रेडिएंट्स की गणना करने के लिए उपकरण प्रदान करता है। यह प्रोजेक्ट एक वितरित ट्रेनिंग फ्रेमवर्क के रूप में कार्य करता है, जो कई कंप्यूट नोड्स और डिवाइसेस पर ग्रेडिएंट्स और पैरामीटर्स को सिंक्रोनाइज़ करने के लिए ऑल-रिड्यूस ऑपरेशन्स का उपयोग करता है। यह उच्च-प्रदर्शन टेंसर मैनिपुलेशन, नेटिव डिवाइस मेमोरी इंटरऑपरेबिलिटी और बड़े पैमाने पर मॉडल ट्रेनिंग को गति देने के लिए वितरित वर्कर्स में वेट्स को सिंक्रोनाइज़ करने के सिस्टम के गहरे एकीकरण के माध्यम से खुद को अलग करता है। यह फ्रेमवर्क रेजिडुअल ब्लॉक्स और रिकरेंट सेल्स जैसे जटिल आर्किटेक्चर को डिज़ाइन करने के लिए मॉड्यूलर लेयर कंपोज़िशन सहित डीप लर्निंग क्षमताओं की एक विस्तृत श्रृंखला को कवर करता है। यह मॉडल स्टेट्स को बनाए रखने के लिए सीरियलाइजेशन सिस्टम के साथ-साथ इनजेशन और प्रीफेचिंग के लिए व्यापक डेटा प्रबंधन यूटिलिटीज प्रदान करता है। इसके अतिरिक्त, इसमें ट्रेनिंग मेट्रिक्स को ट्रैक करने और सीक्वेंस एरर्स को मापने के लिए मॉनिटरिंग और ऑब्जर्वेबिलिटी टूल्स का एक सूट शामिल है। यह लाइब्रेरी C++ में इम्प्लीमेंट की गई है।
Enables custom GPU kernels to operate on raw tensor memory addresses for high-performance mathematical operations.
Blackbone मेमोरी स्कैनिंग, प्रोसेस इंजेक्शन और कर्नल-ड्राइवर इंटरफेस के लिए विशेष टूल्स का एक संग्रह है, जिसका उपयोग Windows निष्पादन एनवायरनमेंट में हेरफेर करने के लिए किया जाता है। यह रिमोट कोड निष्पादित करने, पोर्टेबल निष्पादन योग्य इमेजेस को मैप करने और विभिन्न प्रोसेस सीमाओं के बीच थ्रेड्स को मैनेज करने के लिए एक फ्रेमवर्क प्रदान करता है। इस प्रोजेक्ट में कर्नल मेमोरी तक पहुंचने और यूजर-मोड डिटेक्शन से एलोकेशन को छिपाने के लिए हैंडल अधिकारों को संशोधित करने के लिए एक कर्नल मेमोरी ड्राइवर शामिल है। इसमें सॉफ्टवेयर इंटरप्ट्स और हार्डवेयर ब्रेकपॉइंट्स का उपयोग करके रिमोट प्रोसेसेस में फंक्शन कॉल्स को इंटरसेप्ट करने के लिए एक लाइब्रेरी भी है। यह टूलकिट वर्चुअल मेमोरी हेरफेर में व्यापक क्षमताओं को कवर करता है, जैसे कि स्थानीय या रिमोट प्रोसेसेस में मेमोरी को पढ़ना, लिखना और एलोकेट करना। यह विशिष्ट बाइट सीक्वेंस का पता लगाने के लिए मेमोरी पैटर्न सर्चिंग और बाइनरीज को इंजेक्ट या इजेक्ट करने के लिए मॉड्यूल मैनेजमेंट के लिए यूटिलिटीज भी प्रदान करता है।
Implements a kernel-mode driver for low-level system manipulation and hiding memory allocations from detection.
Mbed OS एक रियल-टाइम ऑपरेटिंग सिस्टम है जिसे कनेक्टेड इंटरनेट-ऑफ-थिंग्स डिवाइस और माइक्रोकंट्रोलर हार्डवेयर के लिए डिज़ाइन किया गया है। यह एक मूलभूत फ्रेमवर्क प्रदान करता है जो एक रियल-टाइम ऑपरेटिंग सिस्टम को एक एम्बेडेड सुरक्षा फ्रेमवर्क, सेंसर और पेरिफेरल्स को नियंत्रित करने के लिए एक हार्डवेयर एब्स्ट्रैक्शन लेयर और क्लाउड-आधारित ऑर्केस्ट्रेशन के लिए एक डिवाइस मैनेजमेंट प्लेटफॉर्म के साथ जोड़ता है। सिस्टम कनेक्टेड उत्पादों को अनधिकृत एक्सेस और कमजोरियों से बचाने के लिए सुरक्षा नींव स्थापित करता है। यह एम्बेडेड डिवाइस को क्लाउड सेवाओं से जोड़कर रिमोट निगरानी और हार्डवेयर ऑर्केस्ट्रेशन को और सक्षम बनाता है। प्लेटफ़ॉर्म रियल-टाइम टास्क समन्वय के माध्यम से समवर्ती निष्पादन का प्रबंधन करता है और विभिन्न माइक्रोकंट्रोलर आर्किटेक्चर में हार्डवेयर प्रबंधन के लिए एक मानकीकृत इंटरफ़ेस प्रदान करता है। इसमें कस्टम सिस्टम एरर हैंडलिंग और रिकवरी व्यवहारों को लागू करने के लिए तंत्र भी शामिल हैं।
Implements a C++ template-based driver model to create efficient, reusable hardware drivers with minimal runtime overhead.
NCCL is a high-performance communication library and distributed GPU computing framework designed for executing collective and point-to-point data exchanges across multiple GPUs in single or multi-node systems. It serves as an RDMA GPU transport layer and memory orchestrator, facilitating high-bandwidth synchronization of data and model gradients for distributed GPU training and inference. The library is distinguished by its ability to execute communication primitives directly from GPU kernels, removing the host CPU from the critical path. It utilizes topology-aware path selection to optimize
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.
यह प्रोजेक्ट एक रेड टीमिंग नॉलेज बेस और ऑफेंसिव सिक्योरिटी प्लेबुक है जिसे एडवर्सरी व्यवहार का अनुकरण (simulate) करने के लिए डिज़ाइन किया गया है। यह रेड टीम ऑपरेशंस को निष्पादित करने के लिए तकनीकी गाइड और टैक्टिक्स का एक व्यापक संग्रह है। यह रिपॉजिटरी Active Directory एक्सप्लॉइटेशन के लिए विस्तृत निर्देश प्रदान करती है, जिसमें Kerberos दुरुपयोग और डोमेन प्रिविलेज एस्केलेशन शामिल है। यह API अनहुकिंग और पेलोड ऑब्फस्केशन के माध्यम से डिफेंस इवेजन, और कर्नल ऑब्जेक्ट्स व सिस्टम मेमोरी के हेरफेर से जुड़े Windows इंटरनल्स रिसर्च को कवर करती है। इसकी क्षमताएं नेटवर्क पेनेट्रेशन टेस्टिंग, मैलवेयर विश्लेषण और इंजीनियरिंग, और ऑफेंसिव सिक्योरिटी इंफ्रास्ट्रक्चर की तैनाती तक फैली हुई हैं। इसमें एंटरप्राइज एनवायरनमेंट में लेटरल मूवमेंट, पर्सिस्टेंस, और डेटा एक्सफिल्ट्रेशन के तरीके भी शामिल हैं।
Provides technical guides for developing kernel drivers to manipulate system internals and execute exploits.
Tengine टूलिंग का एक सूट और एक हल्का निष्पादन इंजन है जिसे सीमित एम्बेडेड हार्डवेयर पर डीप लर्निंग मॉडल चलाने के लिए डिज़ाइन किया गया है। यह न्यूरल नेटवर्क मॉडल को बदलने, वेट्स को क्वांटाइज़ करने, ऑपरेटर कर्नेल को ऑप्टिमाइज़ करने और CPU, GPU और NPU इकाइयों में इन्फरेंस प्रदर्शन को बेंचमार्क करने के लिए एक इंफ्रास्ट्रक्चर प्रदान करता है। यह प्रोजेक्ट उच्च-दक्षता वाले कर्नेल उत्पन्न करने के लिए एक स्वचालित ऑपरेटर कर्नेल ऑप्टिमाइज़र और एक मॉडल क्वांटाइज़ेशन टूल की सुविधा देता है जो मेमोरी उपयोग को कम करने के लिए परिशुद्धता को पूर्णांक प्रारूपों में कम करता है। इसमें एम्बेडेड उपकरणों पर न्यूरल नेटवर्क आर्किटेक्चर की निष्पादन गति और दक्षता का मूल्यांकन करने के लिए एक समर्पित हार्डवेयर बेंचमार्किंग टूल शामिल है। यह सिस्टम हार्डवेयर-अज्ञेय आंतरिक प्रतिनिधित्व में मॉडल प्रारूप रूपांतरण, मॉड्यूलर ऑपरेटर डिस्पैच और मल्टी-बैकएंड निष्पादन को कवर करता है। ये क्षमताएं एम्बेडेड डिप्लॉयमेंट के लिए बाहरी न्यूरल नेटवर्क परिभाषाओं को एक संगत रनटाइम प्रारूप में बदलने की अनुमति देती हैं।
Generates high-efficiency operator kernels to improve execution speed and resource utilization for deep learning tasks.
i2cdevlib is a collection of peripheral drivers and hardware abstraction layers designed for I2C devices. It provides a sensor driver collection, a register map database, and a peripheral manager to coordinate communication between microcontrollers and hardware components. The project utilizes a hardware abstraction layer to decouple device logic from specific microcontroller hardware and wire libraries. This transport-layer abstraction allows the same device drivers to remain portable across different hardware architectures. The library covers a broad range of hardware integration, includin
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.