31 مستودعات
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 31 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.
هذا المشروع عبارة عن مكتبة Java لإنشاء اتصالات تسلسلية (serial port) خام بين أجهزة Android والأجهزة الخارجية باستخدام وضع مضيف USB. يوفر جسراً اتصالياً للتفاعل مع المتحكمات الدقيقة والمحولات دون الحاجة إلى صلاحيات الجذر (root). تتضمن المكتبة إطار عمل لتحديد الأجهزة لاكتشاف وتعيين الأجهزة التسلسلية باستخدام معرفات البائع والمنتج. وتتميز بتنفيذ برامج تشغيل متخصصة لمجموعات الشرائح مثل CDC و FTDI لتمكين تبادل البيانات عبر معايير الأجهزة المختلفة. تغطي قدرات تكامل الأجهزة بما في ذلك اكتشاف الأجهزة، وتكوين المنفذ التسلسلي لمعدلات الباود (baud rates)، وإدارة خطوط الإشارة للتحكم في تدفق الأجهزة.
Implements USB interface binding and I/O for Common Class and FTDI chipsets.
Flashlight هي مكتبة تعلم آلي مستقلة بلغة C++ ومكتبة موترات تستخدم لبناء وتدريب الشبكات العصبية. تعمل كإطار عمل شامل للشبكات العصبية ومحرك للتمايز التلقائي، مما يوفر الأدوات لبناء رسوم بيانية للحساب وحساب التدرجات عبر الانتشار العكسي. يعمل المشروع كإطار عمل للتدريب الموزع، حيث يستخدم عمليات (All-reduce) لمزامنة التدرجات والمعلمات عبر عقد حساب وأجهزة متعددة. يتميز بالتكامل العميق لمعالجة الموترات عالية الأداء، وقابلية التشغيل البيني لذاكرة الجهاز الأصلية، ونظام لمزامنة الأوزان عبر العمال الموزعين لتسريع تدريب النماذج واسعة النطاق. يغطي إطار العمل مجموعة واسعة من قدرات التعلم العميق، بما في ذلك تكوين الطبقات المعيارية لتصميم بنيات معقدة مثل الكتل المتبقية (Residual blocks) والخلايا المتكررة. يوفر أدوات واسعة النطاق لإدارة البيانات للاستيعاب والجلب المسبق، إلى جانب أنظمة التسلسل لحفظ حالات النموذج. بالإضافة إلى ذلك، يتضمن مجموعة من أدوات المراقبة وقابلية المراقبة لتتبع مقاييس التدريب وقياس أخطاء التسلسل. تم تنفيذ المكتبة بلغة C++.
Enables custom GPU kernels to operate on raw tensor memory addresses for high-performance mathematical operations.
Blackbone عبارة عن مجموعة من الأدوات المتخصصة لمسح الذاكرة، وحقن العمليات، وواجهات برامج تشغيل النواة (kernel-driver) المستخدمة للتلاعب ببيئة تنفيذ Windows. يوفر إطار عمل لتنفيذ كود عن بُعد، وتعيين صور الملفات القابلة للتنفيذ (portable executable)، وإدارة الخيوط عبر حدود العمليات المختلفة. يتضمن المشروع برنامج تشغيل ذاكرة النواة للوصول إلى ذاكرة النواة وتعديل حقوق المقبض (handle rights) لإخفاء التخصيصات عن اكتشاف وضع المستخدم. كما يتميز بمكتبة لاعتراض استدعاءات الوظائف في العمليات البعيدة باستخدام مقاطعات البرامج ونقاط التوقف العتادية. تغطي مجموعة الأدوات قدرات أوسع في التلاعب بالذاكرة الافتراضية، مثل القراءة والكتابة وتخصيص الذاكرة في العمليات المحلية أو البعيدة. كما توفر أدوات مساعدة للبحث عن أنماط الذاكرة لتحديد تسلسلات بايت معينة وإدارة الوحدات لحقن أو إخراج الملفات الثنائية.
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 هي مكتبة اتصالات عالية الأداء وإطار عمل حوسبة GPU موزع مصمم لتنفيذ تبادلات البيانات الجماعية ومن نقطة إلى نقطة عبر وحدات GPU متعددة في أنظمة أحادية أو متعددة العقد. تعمل كطبقة نقل GPU RDMA ومنسق ذاكرة، مما يسهل مزامنة البيانات وتدرجات النماذج ذات النطاق الترددي العالي للتدريب والاستدلال الموزع على GPU. تتميز المكتبة بقدرتها على تنفيذ بدائيات الاتصال مباشرة من نواة GPU، مما يزيل وحدة المعالجة المركزية المضيفة من المسار الحرج. وتستخدم اختيار المسار الواعي بالطوبولوجيا لتحسين حركة البيانات وتوظف نقل الشبكة القائم على RDMA، بما في ذلك InfiniBand و NVLink، لتمكين الوصول إلى الذاكرة بدون نسخ (Zero-copy) بين الأجهزة عبر عقد مادية مختلفة. يغطي المشروع مجموعة واسعة من أنماط الاتصال الجماعي، بما في ذلك الاختزالات، والبث، والتجميع، وتبادلات الكل إلى الكل، إلى جانب الوصول إلى الذاكرة عن بُعد من نقطة إلى نقطة. ويوفر إدارة شاملة للمتصلين لتهيئة وتقسيم وتغيير حجم مجموعات GPU، بالإضافة إلى إدارة ذاكرة متخصصة لتسجيل المخازن المؤقتة وتنسيق ذاكرة الجهاز المشتركة. يتضمن النظام مجموعة من أدوات المراقبة والقابلية للملاحظة لتتبع الصحة، وتسجيل التشخيص، ومراقبة الأحداث في الوقت الفعلي، بالإضافة إلى واجهات تكامل لإطارات عمل تعلم الآلة، و CUDA graphs، و MPI، و Python.
Implements direct access to raw memory addresses for high-performance GPU kernel communication.
Asterinas هو نواة نظام تشغيل آمنة للذاكرة مصممة لمنع سباقات البيانات وتلف الذاكرة. تعمل كنواة متوافقة مع Linux-ABI، مما يتيح تنفيذ ملفات Linux الثنائية الحالية وأحمال عمل الحاويات مع توفير نموذج توزيع نظام تشغيل تصريحي. يتميز المشروع بكونه مضيف حاويات آلة افتراضية ونظام تشغيل ضيف للحوسبة السرية، مما يسمح له بالعمل داخل بيئات تنفيذ موثوقة معزولة بالأجهزة مثل Intel TDX. ينفذ قاعدة حوسبة موثوقة دنيا عن طريق عزل العمليات غير الآمنة منخفضة المستوى ويفصل آليات النواة الأساسية عن تنفيذات السياسات المحددة. يغطي النظام مجموعة واسعة من القدرات، بما في ذلك إدارة الذاكرة الفيزيائية والافتراضية، والمعالجة المتعددة المتماثلة، وتجريد الأجهزة لمختلف معماريات CPU. كما يتضمن دعمًا لأوقات تشغيل الحاويات الآمنة، ومجموعة شاملة من بدائيات الشبكات والمقابس (sockets)، وسلسلة أدوات متخصصة لتجميع النواة والمحاكاة. يدعم المشروع النشر متعدد المعماريات عبر منصات x86-64 و RISC-V 64 و LoongArch 64.
Enables the development of system calls, file systems, and device drivers using safe kernel abstractions.
هذا المشروع عبارة عن قاعدة معرفية للفريق الأحمر (red teaming) ودليل للأمن الهجومي مصمم لمحاكاة سلوك الخصم. يعمل كمجموعة شاملة من الأدلة الفنية والتكتيكات لتنفيذ عمليات الفريق الأحمر. يوفر المستودع تعليمات مفصلة لاستغلال Active Directory، بما في ذلك إساءة استخدام Kerberos وتصعيد الامتيازات في النطاق. يغطي التهرب من الدفاع من خلال إلغاء ربط API (API unhooking) وتعتيم الحمولة (payload obfuscation)، بالإضافة إلى أبحاث حول نظام 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 هي مجموعة من برامج تشغيل الأجهزة الطرفية وطبقات تجريد الأجهزة المصممة لأجهزة I2C. توفر مجموعة برامج تشغيل المستشعرات، وقاعدة بيانات خريطة السجلات، ومدير الأجهزة الطرفية لتنسيق الاتصال بين المتحكمات الدقيقة ومكونات الأجهزة. يستخدم المشروع طبقة تجريد الأجهزة لفصل منطق الجهاز عن أجهزة المتحكم الدقيق المحددة ومكتبات الأسلاك. يسمح هذا التجريد في طبقة النقل لبرامج تشغيل الأجهزة نفسها بالبقاء قابلة للنقل عبر بنيات أجهزة مختلفة. تغطي المكتبة نطاقاً واسعاً من تكامل الأجهزة، بما في ذلك مستشعرات الحركة والقصور الذاتي، وشاشات البيئة، والساعات الحقيقية، واستشعار اللمس السعوي. كما تتضمن دعماً لتوسيع GPIO، والتحويل من تناظري إلى رقمي، وتشغيل شاشات OLED والعدادات الرقمية. يتضمن النظام أدوات لتصحيح أخطاء بروتوكول I2C وتحليل حركة المرور، مما يتيح ربط بيانات محلل المنطق الخام بتعريفات خريطة السجلات القابلة للقراءة من قبل البشر.
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.