Topics / #systems-programming

Systems-programming projects on GitHub

Low-level programming close to hardware and OS internals.

As of , the most-starred Systems-programming projects on GitHub are linux (252.3K stars), rust (120.5K stars) and cpython (77.7K stars). GitHub.Locker tracks 101 Systems-programming repositories with 1.7M stars combined. The fastest-growing on October 17 was linux, with +138 stars in a day.

101Projects
1.7MStars in total
+687Stars in a day

Hot right now

Most stars gained in a day · Oct 17

The all-time top

Top 100 of 101 · by stars

  1. #1 · torvalds/linux

    linux

    This is the Linux kernel itself - the core of any Linux operating system. It manages hardware and system resources and provides the fundamental services all other software runs on.

    252.3K
  2. #2 · rust-lang/rust

    rust

    This is the main source repository for the Rust programming language — it contains the compiler (rustc), the standard library, and documentation.

    120.5K
  3. #3 · python/cpython

    cpython

    This is the official source code repository for CPython, the reference implementation of the Python programming language, written mainly in C.

    77.7K
  1. 4

    swift

    70.5Kswiftlang/swift · Swift

    The source repository of Swift, a high-performance system programming language with clean, modern syntax, seamless access to existing C and Objective-C code, and memory safety by default.

  2. 5

    ripgrep

    69.2KBurntSushi/ripgrep · Rust

    ripgrep (rg) is a line-oriented command-line tool that recursively searches directories for a regex pattern, automatically respecting .gitignore rules and skipping hidden and binary files by default.

  3. 6

    awesome-rust

    59.9Krust-unofficial/awesome-rust · Rust

    It is the Rust community's awesome-list: a curated catalog of Rust code and resources, where every entry is a link to a project with a one-line description.

  4. 7

    fuels-rs

    43KFuelLabs/fuels-rs · Rust

    fuels-rs is the official Rust SDK for the Fuel Network, used to compile, deploy and test Sway smart contracts, launch a local Fuel node, craft and sign transactions, and generate type-safe Rust bindings for contract calls.

  5. 8

    v

    38Kvlang/v · V

    V is an open-source, statically typed compiled programming language that stays deliberately small: learnable over a weekend, it compiles itself in under a second and runs as fast as C.

  6. 9

    carbon-lang

    33.9Kcarbon-language/carbon-lang · C++

    An experimental successor language to C++: C++-level performance, seamless interop with existing C++ code, and modern, safer foundations. This repo holds its documents, design, and toolchain implementation.

  7. 10

    linux-insides

    33.7K0xAX/linux-insides · Python

    This is a free, work-in-progress book that explains the internals of the Linux kernel, covering topics like booting, memory management, and system calls in deep technical detail.

  8. 11

    tokio

    33.4Ktokio-rs/tokio · Rust

    Tokio is a runtime for writing reliable, asynchronous applications with Rust: it supplies the scheduling, non-blocking I/O, networking and timers that async Rust programs need.

  9. 12

    MS-DOS

    32.3Kmicrosoft/MS-DOS · Assembly

    The original source code of MS-DOS v1.25, v2.0, and v4.00, published by Microsoft for reference. The v1.25 and v2.0 parts include compiled binaries too, and v4.00 was jointly developed by IBM and Microsoft.

  10. 13

    os-tutorial

    30.8Kcfenollosa/os-tutorial · C

    A step-by-step tutorial that walks you through building a small operating system from scratch, starting at the boot sector and moving up to a basic kernel.

  11. 14

    libuv

    27.3Klibuv/libuv · C

    libuv is a multi-platform C support library focused on asynchronous I/O. It was originally built for Node.js and is also used by Luvit, Julia and uvloop.

  12. 15

    elixir

    26.7Kelixir-lang/elixir · Elixir

    Elixir is a programming language designed for building scalable and maintainable applications, running on the Erlang VM (BEAM).

  13. 16

    bcc

    22.7Kiovisor/bcc · C

    BCC (BPF Compiler Collection) is a toolkit for creating efficient kernel tracing and manipulation programs on Linux using eBPF. It also ships a large collection of ready-made tools for I/O analysis, networking, and monitoring.

  14. 17

    flash-linux0.11-talk

    22.7Kdibingfa/flash-linux0.11-talk · HTML

    This is a Chinese-language article series that walks line by line through the full source code of the Linux 0.11 kernel, explaining operating system design concepts as if reading a novel.

  15. 18

    How-to-Make-a-Computer-Operating-System

    22.4KSamyPesse/How-to-Make-a-Computer-Operating-System · C

    This is a free online book that walks you through writing a simple UNIX-based operating system in C++ from scratch.

  16. 19

    ish

    20.6Kish-app/ish · C

    iSH is an open-source iOS app that gives you a Linux shell on your iPhone or iPad. It emulates an x86 processor in usermode and translates Linux syscalls, so Linux command-line programs run on iOS as they are.

  17. 20

    Atmosphere

    20.1KAtmosphere-NX/Atmosphere · C++

    Atmosphère is a work-in-progress custom firmware (CFW) for the Nintendo Switch that replaces and patches core parts of the console's Horizon OS to add new features and customization.

  18. 21

    gvisor

    19.7Kgoogle/gvisor · Go

    An application kernel for containers: it wraps running applications in a strong isolation layer from the host OS, implementing a Linux-like interface in memory-safe Go, entirely in userspace.

  19. 22

    swoole-src

    18.9Kswoole/swoole-src · C++

    Swoole is an event-driven, asynchronous, coroutine-based concurrency library for PHP, built for high performance.

  20. 23

    book

    18.4Krust-lang/book · Rust

    The official introductory book for Rust — 'The Rust Programming Language'. This repo holds its source; you can read it free online or buy it in print from No Starch Press.

  21. 24

    Nim

    18.3Knim-lang/Nim · Nim

    Nim is a statically typed, compiled systems programming language that blends ideas from Python, Ada and Modula, prioritizing efficiency, expressiveness and elegance. This repository holds the Nim compiler, standard library, tools and documentation.

  22. 25

    reactos

    18.2Kreactos/reactos · C

    A free, open-source operating system (GNU GPL 2.0) built to run the applications and drivers written for the Windows NT family, from NT4 through 7; compatibility work currently focuses on Windows Server 2003.

  23. 26

    blog_os

    17.8Kphil-opp/blog_os · HTML

    Source code for the 'Writing an OS in Rust' blog series at os.phil-opp.com - step-by-step posts that build a small x86-64 operating system kernel in Rust.

  24. 27

    mold

    17.7Krui314/mold · Rust

    mold is a high-performance drop-in replacement for the standard Unix linker, built for one thing: making the link step of large C, C++ and Rust builds several times faster.

  25. 28

    open-gpu-kernel-modules

    17.5KNVIDIA/open-gpu-kernel-modules · C

    This is NVIDIA's official source release of the open-source Linux GPU kernel modules (nvidia.ko, nvidia-drm.ko, nvidia-modeset.ko, nvidia-uvm.ko) for Turing and newer GPUs.

  26. 29

    sway

    17.4Kswaywm/sway · C

    Sway is an i3-compatible Wayland compositor: the program that draws and arranges your windows on Linux, tiling them automatically like the i3 window manager.

  27. 30

    kcp

    16.9Kskywind3000/kcp · C

    KCP is a fast, reliable ARQ protocol for realtime traffic: it trades 10-20% extra bandwidth for 30-40% lower average latency and up to 3x lower maximum latency than TCP.

  28. 31

    systemd

    16.8Ksystemd/systemd · C

    systemd is the system and service manager for Linux — the init system that brings the OS up at boot and supervises services while it runs.

  29. 32

    redox

    16.6Kredox-os/redox · Rust

    Redox is an open-source operating system written in Rust that uses a microkernel architecture, aiming to be reliable, secure and usable while providing a full set of components like a file system, display server and core utilities.

  30. 33

    muduo

    16.3Kchenshuo/muduo · C++

    Muduo is a multithreaded C++ network library based on the reactor pattern, built for writing high-performance, event-driven servers on Linux.

  31. 34

    RustTraining

    14.9Kmicrosoft/RustTraining · Rust

    Seven free Rust training books from Microsoft that take you from another programming language up to async, advanced patterns, and engineering practices.

  32. 35

    memcached

    14.3Kmemcached/memcached · C

    Memcached is a high-performance, multithreaded, event-based key/value cache store designed for use in distributed systems.

  33. 36

    raspberry-pi-os

    14Ks-matyukevich/raspberry-pi-os · C

    A step-by-step guide that teaches you how to create a simple operating system kernel from scratch, called RPi OS. Its code is largely based on the Linux kernel, and everything targets the Raspberry Pi 3.

  34. 37

    mimalloc

    13.5Kmicrosoft/mimalloc · C

    mimalloc (pronounced 'me-malloc') is a compact general purpose memory allocator with excellent performance, first built by Daan Leijen for the runtime systems of the Koka and Lean languages.

  35. 38

    acwj

    13.5KDoctorWkt/acwj · C

    A documented tutorial series where the author builds a self-compiling compiler for a subset of the C language, split into roughly 64 incremental parts, each with working source code and a written explanation of the theory behind it.

  36. 39

    rayon

    13.4Krayon-rs/rayon · Rust

    Rayon is a data-parallelism library for Rust. It is extremely lightweight and makes it easy to turn a sequential computation into a parallel one, with data-race freedom guaranteed.

  37. 40

    linux

    13.3Kraspberrypi/linux · C

    This is Raspberry Pi's own Linux kernel source tree: the code its official Pi kernels are built from, with Pi-specific drivers and patches carried on top of the mainline Linux kernel.

  38. 41

    tiny-gpu

    13.1Kadam-maj/tiny-gpu · SystemVerilog

    tiny-gpu is a minimal GPU design written in Verilog (SystemVerilog) built purely to teach how GPU architecture works from the ground up, covering core concepts like SIMD parallelization, memory bandwidth management, and instruction execution.

  39. 42

    concurrentqueue

    12.5Kcameron314/concurrentqueue · C++

    moodycamel::ConcurrentQueue is an industrial-strength, lock-free multi-producer multi-consumer queue for C++11.

  40. 43

    taskflow

    12.2Ktaskflow/taskflow · C++

    Taskflow is a C++ library that helps you write high-performance task-parallel programs with high programming productivity, letting you build and run graphs of dependent tasks across CPU threads and GPUs.

  41. 44

    Tinyhttpd

    12.2KEZLippi/Tinyhttpd · C

    Tinyhttpd is a minimal HTTP server written in C, originally created by J. David Blackstone in 1999 as a class assignment; this repo is an unofficial mirror of the SourceForge project kept around purely for learning how HTTP servers work at the socket level.

  42. 45

    asm-lessons

    12.2KFFmpeg/asm-lessons

    This is the FFmpeg School of Assembly Language — a free course that teaches how assembly language (including SIMD code) is written inside FFmpeg, so you understand what's actually happening in your computer at the hardware level.

  43. 46

    Odin

    12.2Kodin-lang/Odin · Odin

    Odin is a general-purpose, data-oriented programming language built for high performance and modern systems programming, positioned as an alternative to C.

  44. 47

    klipper

    12KKlipper3d/klipper · C

    Klipper is firmware that controls 3D printers by combining a general-purpose computer (like a Raspberry Pi) with one or more micro-controllers on the printer board.

  45. 48

    libevent

    12Klibevent/libevent · C

    Libevent is a C library that provides an asynchronous event notification API, so programs can react to file descriptor readiness, timers, and signals without writing their own platform-specific event loop.

  46. 49

    chibicc

    11.9Krui314/chibicc · C

    chibicc is a small C compiler that implements most C11 features — created as a readable, teaching-oriented implementation of a real compiler.

  47. 50

    h2o

    11.5Kh2o/h2o · C

    H2O is a new-generation HTTP server written in C that supports HTTP/1.x, HTTP/2, and experimental HTTP/3, built to be faster and more responsive than older-generation web servers.

  48. 51

    gcc

    11.3Kgcc-mirror/gcc · C++

    This is the official source tree of GCC, the GNU Compiler Collection — a suite of free compilers maintained as part of the GNU project.

  49. 52

    darwin-xnu

    11.3Kapple/darwin-xnu · C

    This is the source code of the XNU kernel, the core of Darwin, the operating system behind macOS and iOS. It is the kernel that ships on Apple devices, published as source for reading, building and debugging.

  50. 53

    jemalloc

    11.2Kjemalloc/jemalloc · C

    jemalloc is a general purpose malloc(3) implementation — a memory allocator for C programs — emphasizing fragmentation avoidance and scalable concurrency support.

  51. 54

    talent-plan

    11Kpingcap/talent-plan · Rust

    An open source training program initiated by PingCAP: a set of courses on open source collaboration, Rust programming, distributed systems and distributed databases.

  52. 55

    rr

    10.7Krr-debugger/rr · C++

    rr is a lightweight tool that records the execution of an application — entire trees of processes and threads — and lets you replay and debug that recording.

  53. 56

    ZygiskNext

    10.6KDr-TSNG/ZygiskNext · C

    Zygisk Next is a standalone, native reimplementation of the Zygisk API: it brings Magisk-style Zygisk module support to KernelSU and can also replace Magisk's own built-in Zygisk.

  54. 57

    i3

    10.6Ki3/i3 · C

    i3 is a tiling window manager for X11 — a program that controls how application windows are arranged on your screen.

  55. 58

    db_tutorial

    10.5Kcstack/db_tutorial · C

    This is a hands-on tutorial that walks through writing a SQLite clone from scratch in C, teaching how a real database works internally by building one chapter by chapter.

  56. 59

    perf-tools

    10.5Kbrendangregg/perf-tools · Shell

    A collection of command-line scripts for analyzing Linux performance using ftrace and perf_events (the 'perf' command), created by Brendan Gregg (author of the DTraceToolkit).

  57. 60

    conc

    10.4Ksourcegraph/conc · Go

    conc is a Go library — a 'toolbelt' for structured concurrency that makes common concurrent patterns in Go easier and safer than raw goroutines and sync primitives.

  58. 61

    bpftrace

    10.4Kbpftrace/bpftrace · C++

    bpftrace is a high-level tracing language and tool for Linux: it uses eBPF to trace the kernel and user applications with minimal overhead.

  59. 62

    pdfs

    10.2Ktpn/pdfs · HTML

    A large, technically-oriented collection of PDFs — papers, specs, decks and manuals — kept as a public GitHub repo, with a companion site for browsing and searching it at tpn.github.io/pdfs.

  60. 63

    redis-3.0-annotated

    10.1Khuangzworks/redis-3.0-annotated · C

    The original Redis 3.0 source code annotated with detailed Chinese comments that explain how Redis works internally — a study copy of the codebase, not a new tool.

  61. 64

    kimi-k3-in-c

    9.1KFareedKhan-dev/kimi-k3-in-c · C

    An inference engine for the 2.78-trillion-parameter Kimi K3 model, written in portable C99. It runs on a plain CPU in as little as 8 GB of RAM — no GPU, no BLAS, no framework — streaming the 1.56 TB checkpoint straight off disk.

  62. 65

    raddebugger

    8.6KEpicGames/raddebugger · C

    RAD Debugger is a native, user-mode, multi-process graphical debugger from Epic Games/RAD. It also comes with two related tools: the RAD Debug Info (RDI) format and the RAD Linker, a fast x64 PE/COFF linker.

  63. 66

    ANE

    7.3Kmaderix/ANE · Objective-C

    ANE is a research project that trains neural networks directly on Apple's Neural Engine using reverse-engineered private APIs, instead of CoreML's inference-only path.

  64. 67

    scriptc

    6.2Kvercel-labs/scriptc · TypeScript

    scriptc is an experimental compiler that turns TypeScript and JavaScript into typed IR, readable C, LLVM IR, native assembly/objects, native executables, or WebAssembly modules, producing standalone binaries that do not need Node.js to run.

  65. 68

    mquickjs

    6.2Kbellard/mquickjs · C

    MicroQuickJS (MQuickJS) is a JavaScript engine built for embedded systems, able to run JS programs using as little as 10 kB of RAM and about 100 kB of ROM, with speed comparable to full QuickJS.

  66. 69

    pgrust

    5.3Kmalisper/pgrust · Rust

    pgrust is a from-scratch reimplementation of PostgreSQL in Rust, built to be wire- and SQL-dialect compatible with Postgres while being faster than both Postgres and ClickHouse.

  67. 70

    perry

    5KPerryTS/perry · Rust

    Perry compiles the TypeScript or JavaScript you already write directly into native machine-code executables for macOS, Windows, Linux, iOS, Android, watchOS and TV, using SWC to parse and LLVM to generate code, so there is no Node.js runtime or Electron bundle to ship.

  68. 71

    zenc

    4.3Kzenc-lang/zenc · C

    Zen C is a modern systems programming language with high-level ergonomics (type inference, pattern matching, generics, traits, async/await) that compiles to human-readable GNU C/C11 while maintaining 100% C ABI compatibility.

  69. 72

    src

    3.9Kopenbsd/src · C

    A read-only git mirror of the official source tree of OpenBSD, the open-source Unix-like operating system — converted from the project's original CVS repository so the full source can be browsed and cloned on GitHub.

  70. 73

    coursebook

    3.8Kcs341-illinois/coursebook · TeX

    This is an open-source introductory systems programming textbook (the Coursebook) used by the CS 341: System Programming course at the University of Illinois Urbana-Champaign, covering low-level C programming and Linux internals.

  71. 74

    spinel

    2.3Kmatz/spinel · C

    Spinel is a Ruby ahead-of-time compiler that turns Ruby source code into standalone native executables by inferring types across the whole program and generating optimized C code.

  72. 75

    compio

    1.9Kcompio-rs/compio · Rust

    Compio is a thread-per-core async Rust runtime that uses completion-based IO backends (IOCP on Windows, io_uring on Linux, polling elsewhere) instead of the poll-based model most runtimes use.

  73. 76

    gpgpu-sim_distribution

    1.8Kgpgpu-sim/gpgpu-sim_distribution · C++

    GPGPU-Sim is a cycle-level simulator that models contemporary NVIDIA GPUs running CUDA or OpenCL workloads, letting researchers study GPU microarchitecture without real hardware. It also bundles a visualization tool (AerialVision) and a power model (AccelWattch).

  74. 77

    NoGraphicsAPI

    1.6Ksebbbi/NoGraphicsAPI · C++

    NoGraphicsAPI is an experimental Vulkan 1.4 implementation of Sebastian Aaltonen's 'No Graphics API' idea, exploring what disappears from a conventional graphics API when shaders use raw 64-bit GPU pointers instead of buffer objects and bindings.

  75. 78

    dqn-adaptive-cpu-scheduler

    1.5Kaaawangyh/dqn-adaptive-cpu-scheduler · Python

    This is a research-grade repository that implements an adaptive CPU task scheduler trained with a Deep Q-Network (DQN). It includes a simulator of multi-core CPUs with DVFS and a thermal-aware reward, plus training, evaluation, and plotting pipelines.

  76. 79

    cpu-performance-engineering

    1.2Kusamahz/cpu-performance-engineering · Python

    A curated reading path for CPU performance engineering: it walks you from what one instruction does on a modern core to serving ML inference on CPUs, ordered so each piece makes the next one legible.

  77. 80

    motor-os

    1.1Kmoturus/motor-os · Rust

    Motor OS is a simple, fast, and secure operating system built for the cloud. It targets virtualized workloads — web serving, serverless computing, and edge caching — and is written entirely in Rust, kernel to shell.

  78. 81

    csapp-zh-markdown

    1KSunnyMaria/csapp-zh-markdown · Python

    A complete Chinese Markdown edition of CSAPP (Computer Systems: A Programmer's Perspective, 3rd edition) — full chapter text, official exercise answers, Chinese write-ups for the 8 CSAPP labs, and the official self-study lab packages, readable online or offline.

  79. 82

    compiler

    937edgcpp/compiler · C

    This is the open-source EDG C/C++ compiler front end project: a parser and semantic analyzer for C and C++ that is famous for matching Clang, GCC, and MSVC's parsing behavior (including their quirks) so vendors can embed it in their own tools.

  80. 83

    Tov

    717richiemcilroy/Tov · JavaScript

    Tov is a TypeScript-shaped programming language built specifically for coding agents. It compiles to a single small native binary instead of running on a JS/Bun/Node runtime.

  81. 84

    solo

    641pg83/solo · C++

    SoLo is a C/C++ library that lets a single, fully static musl-linked Linux executable load the host's existing glibc-linked shared objects, such as GPU drivers, at runtime, instead of bundling a container, AppImage, or a second libc.

  82. 85

    goose

    610aardappel/goose · C++

    Goose is a memory-safe systems programming language with no heap allocator, garbage collector, or lifetime annotations. In its own benchmarks it runs faster than C++ and safe Rust while using less memory.

  83. 86

    hells-gate-recomp

    572florinp93/hells-gate-recomp · C++

    It is a static recompilation port that brings the Xbox 360 version of Dante's Inferno to native PC, using the ReXGlue SDK to translate the original PowerPC XEX executable directly into C++ code that runs natively on Windows (D3D12) and Linux (Vulkan).

  84. 87

    selfdb

    572fzakaria/selfdb · Python

    selfdb (SELF, Structured Executable & Linkable Format) makes a program that is literally a SQLite database instead of an ELF binary, plus the loader machinery to actually execute that database on Linux/NixOS.

  85. 88

    sort-research-rs

    546Voultapher/sort-research-rs · Rust

    A test, benchmark and fuzzing suite for sort implementations, written in Rust. It also hosts a novel sort called ipnsort, vendored Rust, C++ and C sorts for comparison, and the resulting research papers.

  86. 89

    ir

    509dstogov/ir · C

    IR is a lightweight framework for building JIT compilers in medium-size projects. It gives you an intermediate representation, an API to construct it, and passes for optimization, scheduling, register allocation and machine code generation that can be executed directly in memory.

  87. 90

    virtio-nvgpu

    431nestrilabs/virtio-nvgpu · Rust

    A virtio device that shares one NVIDIA GPU across several KVM virtual machines at near-bare-metal speed, by forwarding kernel-driver ioctls instead of translating graphics APIs. The target use case is headless streaming: the guest renders and encodes on the GPU, and only compressed video leaves.

  88. 91

    nvx

    408microsoft/nvx · Python

    NVX is an ultra-light micro-VM sandbox for running untrusted workloads with hardware-enforced isolation, built on OpenVMM and running Linux as the guest OS.

  89. 92

    PCILeechGen

    400sercanarga/PCILeechGen · Go

    PCILeechGen is a CLI tool that generates custom firmware for PCILeech FPGA boards. It reads a real donor PCI/PCIe device through VFIO, clones its identity (config space, BARs, capabilities), and produces a ready-to-flash .bin bitstream via Vivado.

  90. 93

    ftl

    303nuta/ftl · Rust

    FTL is a new operating system written in Rust that aims to be an alternative to Linux, BSD, and Illumos specifically for cloud environments.

  91. 94

    microdnf

    250rpm-software-management/microdnf · C

    microdnf is a minimal, lightweight implementation of dnf — the RPM package manager used on Fedora and RHEL — written in C and aimed mostly at Docker containers.

  92. 95

    m4-sme-exploration

    245tzakharko/m4-sme-exploration · C

    A research project that microbenchmarks the Scalable Matrix Extension (SME) of Apple's M4 chip, measuring peak compute throughput for common matrix and vector operations and memory transfer rates.

  93. 96

    PSPRecomp

    230jessicanataliagta/PSPRecomp · C++

    This is PSPRecomp, a static recompilation framework for PSP (PlayStation Portable) software. It reads an Allegrex/MIPS executable, analyzes the guest code, and emits C++ translation units that run on a native host runtime instead of using a PSP interpreter or JIT.

  94. 97

    CalcKernel

    152luxine/CalcKernel · Rust

    CalcKernel (CK) is a statically typed language for writing focused numerical computation kernels that a larger application calls into, rather than a full application-level language.

  95. 98

    GoodmansKernel

    152zer0condition/GoodmansKernel · C

    GoodmansKernel is a signed Windows kernel-mode driver that embeds the wasm3 interpreter, letting you load unsigned .wasm modules and run them inside the kernel with direct FFI access to nt/hal exports. You write kernel logic in C or Rust, compile it to wasm32, load it into the driver, and iterate without re-signing each payload.

  96. 99

    zxdesk

    140mindbox77/zxdesk · Assembly

    ZxDesk is a graphical desktop environment for the 48K ZX Spectrum, written entirely in Z80 assembly, with overlapping windows, pull-down menus, a file manager, a notepad, clock and calendar, all running natively on the machine.

  97. 100

    Singeli

    136mlochbaum/Singeli · BQN

    Singeli is a domain-specific language for building high-performance algorithms, including SIMD code. It provides flexible abstractions over code that maps to individual CPU instructions, and it compiles your programs down to C.

Showing the 100 most-starred of 101. See every one in the catalog.

Often tagged together