awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索Open-source alternativesSelf-hosted software博客网站地图
项目关于How we rank媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
awesome-repositories.com博客
分类

80 个仓库

Awesome GitHub RepositoriesKernel Development

Resources and guides for building operating system kernels and bootloaders from scratch.

Distinguishing note: Focuses specifically on low-level kernel and bootloader implementation rather than general system administration or high-level OS utilities.

Explore 80 awesome GitHub repositories matching operating systems & systems programming · Kernel Development. Refine with filters or upvote what's useful.

Awesome Kernel Development GitHub Repositories

用 AI 发现最棒的仓库。我们将通过 AI 为您搜索最匹配的仓库。
  • torvalds/linuxtorvalds 的头像

    torvalds/linux

    237,355在 GitHub 上查看↗

    Linux 内核是一个单体操作系统核心,管理跨不同计算架构的硬件资源、内存和进程调度。它为应用程序执行提供了一个标准化的、符合 POSIX 的环境,同时维护了一个模块化的驱动程序框架,允许动态加载和移除硬件接口。 该项目以其高性能并发工具包而著称,该工具包利用无锁同步原语和读取-复制-更新(RCU)机制来管理多核环境中的共享数据访问。它包含了一套全面的内核跟踪和仪表化套件,能够对系统事件、函数执行和延迟指标进行非侵入式监控。此外,内核强制执行严格的接口稳定性保证和生命周期跟踪,以确保依赖应用程序的向后兼容性。 除了核心身份外,该系统还包括用于硬件抽象、网络协议实现和安全策略执行的广泛能力。它通过电源状态管理、嵌入式系统优化和基于固件的引导过程支持专业工程需求。该架构还具有用于内存分析、系统执行验证和并发编程模型验证的强大诊断框架。 源代码仓库提供了一个完整的构建系统,用于将代码转换为可执行的二进制镜像,包括用于内核功能选择和配置优化的工具,以针对特定硬件需求定制输出。

    Implements dynamic module loading to allow runtime insertion and removal of drivers without system restarts.

    C
    在 GitHub 上查看↗237,355
  • dockur/windowsdockur 的头像

    dockur/windows

    51,718在 GitHub 上查看↗

    This project provides a containerized virtualization engine that runs full Windows operating system instances within isolated containers. By acting as a cross-platform virtualization runtime, it enables the deployment of desktop environments on any host that supports standard container runtimes, ensuring consistent execution across diverse infrastructure. The system distinguishes itself by utilizing kernel-level virtualization primitives and hardware emulation to execute guest operating systems. It leverages accelerated kernel execution to offload CPU instructions to the host processor for pe

    Offloads guest CPU instructions directly to the host processor for near-native performance.

    Shelldockerdocker-containervirtualization
    在 GitHub 上查看↗51,718
  • microsoft/wslmicrosoft 的头像

    microsoft/WSL

    32,803在 GitHub 上查看↗

    WSL is a compatibility layer and virtualization platform that enables the execution of native Linux binaries directly on a host operating system. By utilizing a lightweight virtual machine and direct kernel system call mapping, it provides a high-performance environment that bridges Linux-based command line utilities with host-native tools. This architecture allows for full system call compatibility while maintaining minimal resource overhead. The platform distinguishes itself through deep integration with the host environment, allowing users to run isolated Linux distributions alongside stan

    Maps Linux system calls directly to the host kernel to avoid traditional emulation overhead.

    C++
    在 GitHub 上查看↗32,803
  • 0xax/linux-insides0xAX 的头像

    0xAX/linux-insides

    32,632在 GitHub 上查看↗

    This project is a technical reference and educational guide focused on the internal architecture of the Linux kernel. It serves as a low-level systems programming resource and documentation for operating system internals, detailing the implementation of core mechanisms within the kernel source code. The materials provide a detailed study of the Linux kernel, tracing behavior through actual C source and assembly. It specifically covers the progression from the bootloader and decompression to the final kernel entry point, alongside the management of hardware interrupts and symmetric multiproces

    Provides guides on the processes for compiling source code, linking binaries, and submitting patches for the kernel.

    Pythonlinuxlinux-insideslinux-kernel
    在 GitHub 上查看↗32,632
  • cfenollosa/os-tutorialcfenollosa 的头像

    cfenollosa/os-tutorial

    30,551在 GitHub 上查看↗

    This project is an educational curriculum designed to teach the fundamentals of operating system development and low-level systems programming. It provides a structured sequence of lessons and code samples that guide users through building a functional kernel and bootloader from scratch, enabling a practical understanding of how software interacts directly with computer hardware. The repository distinguishes itself by focusing on the core mechanics of bare-metal execution. It covers the implementation of essential system components, including assembly-based bootloaders that transition process

    Provides educational resources and implementation details for building functional kernels and bootloaders from the ground up.

    C
    在 GitHub 上查看↗30,551
  • modular/modularmodular 的头像

    modular/modular

    26,357在 GitHub 上查看↗

    Modular is a unified machine learning development platform designed for building, compiling, and deploying high-performance neural network models. It provides a comprehensive execution engine that supports both local and production-grade inference, enabling developers to manage the entire model lifecycle from initial architecture definition to scalable, containerized service deployment. The platform distinguishes itself through a hardware-agnostic runtime that abstracts diverse silicon architectures, allowing models to execute efficiently across varied compute environments. It includes a spec

    Provides a low-level programming interface for writing high-performance hardware kernels with direct memory control.

    Mojoailanguagemachine-learning
    在 GitHub 上查看↗26,357
  • iovisor/bcciovisor 的头像

    iovisor/bcc

    22,459在 GitHub 上查看↗

    BCC is an eBPF development toolkit and tracing framework used for monitoring and analyzing the Linux kernel. It functions as a performance analysis tool and debugging utility to capture system events, measure kernel latency, and provide network observability. The project distinguishes itself by providing a build system that integrates with LLVM to compile C-like code into BPF bytecode at runtime. It utilizes BPF Type Format data for relocations to maintain cross-kernel compatibility and extracts kernel headers to ensure the generated programs match the specific kernel version. The toolkit co

    Develops and executes BPF programs for advanced system observability and kernel analysis.

    C
    在 GitHub 上查看↗22,459
  • ahmetb/kubectxahmetb 的头像

    ahmetb/kubectx

    19,829在 GitHub 上查看↗

    kubectx is a set of command-line productivity tools designed to simplify the switching of cluster contexts and active namespaces for Kubernetes CLI users. It serves as a context manager that allows users to quickly change the current cluster environment and default namespace within the configuration. The tool provides capabilities for renaming cluster contexts to improve identification and the ability to toggle rapidly between two clusters by preserving the previous active state. It also supports launching isolated shell sessions constrained to a specific cluster or configured as read-only to

    Provides a utility to quickly change the active cluster context and toggle back to the previously used environment.

    Gokubectlkubectl-pluginskubernetes
    在 GitHub 上查看↗19,829
  • brendangregg/flamegraphbrendangregg 的头像

    brendangregg/FlameGraph

    19,307在 GitHub 上查看↗

    FlameGraph is a performance profiling and visualization toolkit designed to identify bottlenecks in software execution. It functions as a processing engine that transforms raw stack trace samples into interactive, hierarchical diagrams. By representing aggregated execution frequency as nested rectangles, the tool allows developers to visualize hot code paths and analyze system behavior across both kernel and user-space environments. The project distinguishes itself through its ability to perform differential profile analysis, which highlights performance regressions or improvements by compari

    Runs custom code within a secure kernel sandbox to enable advanced observability without modifying kernel source.

    Perl
    在 GitHub 上查看↗19,307
  • phil-opp/blog_osphil-opp 的头像

    phil-opp/blog_os

    17,518在 GitHub 上查看↗

    This project is a freestanding kernel written in Rust that boots on x86 hardware without a standard library. It serves as a low-level system implementation focusing on the creation of a bare metal operating system. The system implements a bootable disk image toolchain that transforms source code into binaries compatible with a bootloader. It features a custom memory allocator for dynamic memory management and an x86 kernel implementation that includes paging, interrupt handling, and VGA text mode. The project covers several core capability areas, including low-level memory management through

    Provides the complete workflow for building operating system kernels and bootloaders from scratch.

    HTMLkerneloperating-systemrust
    在 GitHub 上查看↗17,518
  • gyoogle/tech-interview-for-developergyoogle 的头像

    gyoogle/tech-interview-for-developer

    17,417在 GitHub 上查看↗

    This project is a comprehensive technical interview preparation resource and computer science interview guide. It serves as an educational reference for developers to study core software engineering fundamentals and common coding patterns required for employment screenings. The repository provides detailed guides and references covering data structures and algorithms, networking and security, operating systems, and web development. It specifically focuses on the implementation and complexity analysis of sorting, searching, and graph algorithms. The material encompasses a wide breadth of comp

    Explains the mechanism for saving and restoring process states to switch between tasks within a kernel.

    Javaalgorithmcomputer-sciencecs
    在 GitHub 上查看↗17,417
  • rust-embedded/rust-raspberrypi-os-tutorialsrust-embedded 的头像

    rust-embedded/rust-raspberrypi-OS-tutorials

    14,682在 GitHub 上查看↗

    This project is an educational resource for developing bare-metal operating systems and kernels from scratch on Raspberry Pi hardware. It provides a structured guide to systems programming using the Rust language, focusing on the implementation of core kernel components that execute directly on ARM-based hardware without the support of an underlying operating system or standard library. The tutorials emphasize a modular architecture that separates hardware-independent kernel logic from processor-specific and board-specific configurations. By utilizing a hardware abstraction layer and distinct

    Demonstrates how to interface directly with processor registers and hardware peripherals on ARM-based hardware.

    Rustaarch64arm64armv8
    在 GitHub 上查看↗14,682
  • s-matyukevich/raspberry-pi-oss-matyukevich 的头像

    s-matyukevich/raspberry-pi-os

    13,854在 GitHub 上查看↗

    This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level implementation of kernel engineering, focusing on the fundamental construction of an OS from the hardware level up. The system is distinguished by its comprehensive approach to ARM64 processor control, featuring a red-black tree task scheduler and a hierarchical page table system for virtual memory management. It implements a sophisticated privilege model that handles transitions between kernel and user modes, ensuring process isolation through address space splitting and exception level m

    Manages the saving and restoring of CPU registers and stack pointers during transitions between kernel and user modes.

    Carmarmv8assembler
    在 GitHub 上查看↗13,854
  • gurugio/lowlevelprogramming-universitygurugio 的头像

    gurugio/lowlevelprogramming-university

    12,555在 GitHub 上查看↗

    This project is a comprehensive educational framework designed to guide learners through the complexities of systems engineering and low-level software development. It provides structured learning paths that integrate hardware simulation, source code analysis, and project-based exercises to help developers master the foundational concepts of computer architecture, operating systems, and firmware design. The curriculum distinguishes itself by emphasizing direct interaction with system internals, requiring learners to examine and modify existing open-source kernel and driver implementations. By

    Guides learners to build, debug, and contribute to the Linux kernel by exploring source code and implementing custom device drivers.

    arduinoassemblyassembly-language-programming
    在 GitHub 上查看↗12,555
  • raspberrypi/linuxraspberrypi 的头像

    raspberrypi/linux

    12,543在 GitHub 上查看↗

    This project is a monolithic operating system kernel designed to serve as the foundational software layer for diverse computing architectures and embedded platforms. It manages core system services, including processor scheduling, memory allocation, and hardware resource distribution, to facilitate communication between user applications and physical hardware. The kernel utilizes a hardware abstraction layer and platform-specific device trees to ensure consistent operation across a wide variety of processors and specialized computing devices. It supports dynamic functionality through loadable

    Enables dynamic insertion of binary code segments into the running kernel without requiring a reboot.

    C
    在 GitHub 上查看↗12,543
  • waydroid/waydroidwaydroid 的头像

    waydroid/waydroid

    11,549在 GitHub 上查看↗

    Waydroid is a containerized mobile runtime that executes a full Android operating system directly on Linux desktop environments. By utilizing Linux kernel namespaces, it isolates the mobile environment while sharing the host kernel to provide native-like performance and hardware access for mobile applications. The project distinguishes itself through deep integration with the host system, bridging mobile display buffers to native desktop windows and translating host input events into mobile gestures. It enables multi-window management, allowing mobile applications to run alongside native desk

    Checks the host system for required kernel features to ensure the underlying platform supports containerized mobile operating system execution.

    Pythonandroidlinux
    在 GitHub 上查看↗11,549
  • apple/darwin-xnuapple 的头像

    apple/darwin-xnu

    11,258在 GitHub 上查看↗

    XNU 是一个混合操作系统内核,结合了微内核架构和用于系统服务的单体层。它为操作系统开发提供了基础,结合了标准化的系统调用接口、模块化设备驱动程序框架和强制访问控制安全。 该架构具有基于 Mach 的微内核和基于 BSD 的单体层。它利用消息传递进程间通信总线在隔离的内核组件和用户空间进程之间进行安全数据交换,以及将硬件特定逻辑与核心内核解耦的面向对象驱动程序框架。 该系统包括用于策略驱动安全执行的强制访问控制引擎,以及用于检查实时内存和分析系统崩溃的远程内核调试器。附加能力涵盖多处理器调度、硬件资源协调以及用于跨不同架构生成可引导镜像的构建系统。 该项目提供用于内核构建管理、调试符号生成的工具,以及用于系统调用验证的框架。

    Provides a modular framework for developing and managing kernel-mode hardware device drivers.

    C
    在 GitHub 上查看↗11,258
  • imbushuo/mac-precision-touchpadimbushuo 的头像

    imbushuo/mac-precision-touchpad

    10,350在 GitHub 上查看↗

    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.

    Capple-macbookbluetoothbluetooth-hid
    在 GitHub 上查看↗10,350
  • mit-pdos/xv6-riscvmit-pdos 的头像

    mit-pdos/xv6-riscv

    9,934在 GitHub 上查看↗

    xv6-riscv is a simplified Unix-like teaching operating system designed for the study of kernel design and hardware interaction. It provides a low-level RISC-V kernel implementation that serves as a bootable system image for execution and debugging within a virtual machine or emulator. The project focuses on educational instruction regarding the RISC-V architecture. It enables the study of operating system concepts through a minimal kernel that implements process management and memory handling. The system covers core kernel operations including multiprocessor resource management and the imple

    Offers a complete workflow for building and testing a RISC-V kernel from source.

    C
    在 GitHub 上查看↗9,934
  • bpftrace/bpftracebpftrace 的头像

    bpftrace/bpftrace

    9,950在 GitHub 上查看↗

    bpftrace is a high-level eBPF tracing tool and kernel instrumentation framework for Linux. It provides a tracing language to instrument kernel and user-space events without recompiling the system, functioning as a dynamic system profiler and event aggregator. The project enables dynamic system tracing and Linux kernel observability by capturing tracepoints and dynamic probes in real time. It allows for kernel data inspection and runtime process debugging by accessing internal data structures and filtering specific process events. Its capability surface covers system performance analysis, inc

    Provides advanced observability of the Linux kernel by capturing internal events and inspecting system state in real time.

    C++bccbpfebpf
    在 GitHub 上查看↗9,950
上一个123…4下一个
  1. Home
  2. Operating Systems & Systems Programming
  3. Kernel and Core Internals
  4. Kernel Development

探索子标签

  • Abstraction LayersFrameworks for isolating kernel operations from underlying hardware through abstraction. **Distinct from Kernel Development:** Distinct from Kernel Development: focuses specifically on the abstraction layer design rather than general kernel construction.
  • Contribution WorkflowsGuides for participating in open-source kernel development and maintenance. **Distinct from Kernel Development:** Distinct from Kernel Development: focuses on the community contribution and patching process rather than building from scratch.
  • Custom Android Kernel Build ToolsDevelopment tools for integrating root modules, file system masking, and loadable modules into custom Android kernel builds. **Distinct from Kernel Development:** Distinct from general Kernel Development: focuses on Android-specific kernel customization with root module integration, not generic kernel building.
  • Dynamic Module LoadersMechanisms for loading and unloading binary modules into the kernel at runtime. **Distinct from Kernel Development:** Distinct from general kernel development: focuses specifically on the runtime dynamic loading mechanism rather than the kernel build process.
  • Educational Kernel ProjectsAssignments that modify an operating system kernel to add threading, scheduling, and memory protection features. **Distinct from Kernel Development:** Distinct from Kernel Development: focuses on educational assignments, not production kernel building.
  • Kernel Driver Implementation9 个子标签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.
  • Kernel Observability Programs6 个子标签Custom code executed within secure kernel sandboxes to enable advanced system observability. **Distinct from Kernel Development:** Distinct from Kernel Development: focuses on observability and tracing rather than building kernel images.
  • Paging and Context Switching2 个子标签Mechanisms for managing memory address spaces and task execution states within a kernel. **Distinct from Kernel Development:** Distinct from Kernel Development: focuses on the specific implementation of paging and scheduling logic.