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.
Hot right now
Most stars gained in a day · Oct 17
+138linux
torvalds/linux · ★ 252.3KThis 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.
+96scriptc
vercel-labs/scriptc · ★ 6.2Kscriptc 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.
+53rust
rust-lang/rust · ★ 120.5KThis is the main source repository for the Rust programming language — it contains the compiler (rustc), the standard library, and documentation.
+36ripgrep
BurntSushi/ripgrep · ★ 69.2Kripgrep (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.
The all-time top
Top 100 of 101 · by stars
- 252.3K
#1 · torvalds/linuxlinux
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.
- 120.5K
#2 · rust-lang/rustrust
This is the main source repository for the Rust programming language — it contains the compiler (rustc), the standard library, and documentation.
- 77.7K
#3 · python/cpythoncpython
This is the official source code repository for CPython, the reference implementation of the Python programming language, written mainly in C.
- 4
swift
70.5Kswiftlang/swift · SwiftThe 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.
- 5

ripgrep
69.2KBurntSushi/ripgrep · Rustripgrep (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.
- 6

awesome-rust
59.9Krust-unofficial/awesome-rust · RustIt 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.
- 7

fuels-rs
43KFuelLabs/fuels-rs · Rustfuels-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.
- 8
v
38Kvlang/v · VV 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.
- 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.
- 10

linux-insides
33.7K0xAX/linux-insides · PythonThis 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.
- 11

tokio
33.4Ktokio-rs/tokio · RustTokio 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.
- 12

MS-DOS
32.3Kmicrosoft/MS-DOS · AssemblyThe 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.
- 13

os-tutorial
30.8Kcfenollosa/os-tutorial · CA 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.
- 14

libuv
27.3Klibuv/libuv · Clibuv 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.
- 15

elixir
26.7Kelixir-lang/elixir · ElixirElixir is a programming language designed for building scalable and maintainable applications, running on the Erlang VM (BEAM).
- 16

bcc
22.7Kiovisor/bcc · CBCC (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.
- 17

flash-linux0.11-talk
22.7Kdibingfa/flash-linux0.11-talk · HTMLThis 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.
- 18

How-to-Make-a-Computer-Operating-System
22.4KSamyPesse/How-to-Make-a-Computer-Operating-System · CThis is a free online book that walks you through writing a simple UNIX-based operating system in C++ from scratch.
- 19

ish
20.6Kish-app/ish · CiSH 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.
- 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.
- 21

gvisor
19.7Kgoogle/gvisor · GoAn 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.
- 22
swoole-src
18.9Kswoole/swoole-src · C++Swoole is an event-driven, asynchronous, coroutine-based concurrency library for PHP, built for high performance.
- 23

book
18.4Krust-lang/book · RustThe 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.
- 24

Nim
18.3Knim-lang/Nim · NimNim 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.
- 25

reactos
18.2Kreactos/reactos · CA 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.
- 26

blog_os
17.8Kphil-opp/blog_os · HTMLSource 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.
- 27

mold
17.7Krui314/mold · Rustmold 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.
- 28

open-gpu-kernel-modules
17.5KNVIDIA/open-gpu-kernel-modules · CThis 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.
- 29

sway
17.4Kswaywm/sway · CSway is an i3-compatible Wayland compositor: the program that draws and arranges your windows on Linux, tiling them automatically like the i3 window manager.
- 30
kcp
16.9Kskywind3000/kcp · CKCP 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.
- 31
systemd
16.8Ksystemd/systemd · Csystemd is the system and service manager for Linux — the init system that brings the OS up at boot and supervises services while it runs.
- 32

redox
16.6Kredox-os/redox · RustRedox 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.
- 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.
- 34

RustTraining
14.9Kmicrosoft/RustTraining · RustSeven free Rust training books from Microsoft that take you from another programming language up to async, advanced patterns, and engineering practices.
- 35

memcached
14.3Kmemcached/memcached · CMemcached is a high-performance, multithreaded, event-based key/value cache store designed for use in distributed systems.
- 36

raspberry-pi-os
14Ks-matyukevich/raspberry-pi-os · CA 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.
- 37

mimalloc
13.5Kmicrosoft/mimalloc · Cmimalloc (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.
- 38

acwj
13.5KDoctorWkt/acwj · CA 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.
- 39

rayon
13.4Krayon-rs/rayon · RustRayon 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.
- 40

linux
13.3Kraspberrypi/linux · CThis 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.
- 41

tiny-gpu
13.1Kadam-maj/tiny-gpu · SystemVerilogtiny-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.
- 42

concurrentqueue
12.5Kcameron314/concurrentqueue · C++moodycamel::ConcurrentQueue is an industrial-strength, lock-free multi-producer multi-consumer queue for C++11.
- 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.
- 44

Tinyhttpd
12.2KEZLippi/Tinyhttpd · CTinyhttpd 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.
- 45

asm-lessons
12.2KFFmpeg/asm-lessonsThis 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.
- 46

Odin
12.2Kodin-lang/Odin · OdinOdin is a general-purpose, data-oriented programming language built for high performance and modern systems programming, positioned as an alternative to C.
- 47

klipper
12KKlipper3d/klipper · CKlipper 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.
- 48

libevent
12Klibevent/libevent · CLibevent 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.
- 49

chibicc
11.9Krui314/chibicc · Cchibicc is a small C compiler that implements most C11 features — created as a readable, teaching-oriented implementation of a real compiler.
- 50

h2o
11.5Kh2o/h2o · CH2O 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.
- 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.
- 52

darwin-xnu
11.3Kapple/darwin-xnu · CThis 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.
- 53

jemalloc
11.2Kjemalloc/jemalloc · Cjemalloc is a general purpose malloc(3) implementation — a memory allocator for C programs — emphasizing fragmentation avoidance and scalable concurrency support.
- 54

talent-plan
11Kpingcap/talent-plan · RustAn open source training program initiated by PingCAP: a set of courses on open source collaboration, Rust programming, distributed systems and distributed databases.
- 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.
- 56

ZygiskNext
10.6KDr-TSNG/ZygiskNext · CZygisk 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.
- 57

i3
10.6Ki3/i3 · Ci3 is a tiling window manager for X11 — a program that controls how application windows are arranged on your screen.
- 58

db_tutorial
10.5Kcstack/db_tutorial · CThis 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.
- 59

perf-tools
10.5Kbrendangregg/perf-tools · ShellA 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).
- 60
conc
10.4Ksourcegraph/conc · Goconc 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.
- 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.
- 62

pdfs
10.2Ktpn/pdfs · HTMLA 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.
- 63

redis-3.0-annotated
10.1Khuangzworks/redis-3.0-annotated · CThe 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.
- 64

kimi-k3-in-c
9.1KFareedKhan-dev/kimi-k3-in-c · CAn 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.
- 65
raddebugger
8.6KEpicGames/raddebugger · CRAD 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.
- 66

ANE
7.3Kmaderix/ANE · Objective-CANE 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.
- 67

scriptc
6.2Kvercel-labs/scriptc · TypeScriptscriptc 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.
- 68

mquickjs
6.2Kbellard/mquickjs · CMicroQuickJS (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.
- 69

pgrust
5.3Kmalisper/pgrust · Rustpgrust 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.
- 70

perry
5KPerryTS/perry · RustPerry 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.
- 71

zenc
4.3Kzenc-lang/zenc · CZen 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.
- 72

src
3.9Kopenbsd/src · CA 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.
- 73

coursebook
3.8Kcs341-illinois/coursebook · TeXThis 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.
- 74

spinel
2.3Kmatz/spinel · CSpinel 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.
- 75
compio
1.9Kcompio-rs/compio · RustCompio 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.
- 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).
- 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.
- 78

dqn-adaptive-cpu-scheduler
1.5Kaaawangyh/dqn-adaptive-cpu-scheduler · PythonThis 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.
- 79

cpu-performance-engineering
1.2Kusamahz/cpu-performance-engineering · PythonA 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.
- 80

motor-os
1.1Kmoturus/motor-os · RustMotor 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.
- 81

csapp-zh-markdown
1KSunnyMaria/csapp-zh-markdown · PythonA 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.
- 82

compiler
937edgcpp/compiler · CThis 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.
- 83

Tov
717richiemcilroy/Tov · JavaScriptTov 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.
- 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.
- 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.
- 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).
- 87

selfdb
572fzakaria/selfdb · Pythonselfdb (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.
- 88

sort-research-rs
546Voultapher/sort-research-rs · RustA 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.
- 89
ir
509dstogov/ir · CIR 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.
- 90

virtio-nvgpu
431nestrilabs/virtio-nvgpu · RustA 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.
- 91

nvx
408microsoft/nvx · PythonNVX 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.
- 92

PCILeechGen
400sercanarga/PCILeechGen · GoPCILeechGen 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.
- 93

ftl
303nuta/ftl · RustFTL is a new operating system written in Rust that aims to be an alternative to Linux, BSD, and Illumos specifically for cloud environments.
- 94

microdnf
250rpm-software-management/microdnf · Cmicrodnf 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.
- 95

m4-sme-exploration
245tzakharko/m4-sme-exploration · CA 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.
- 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.
- 97

CalcKernel
152luxine/CalcKernel · RustCalcKernel (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.
- 98

GoodmansKernel
152zer0condition/GoodmansKernel · CGoodmansKernel 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.
- 99

zxdesk
140mindbox77/zxdesk · AssemblyZxDesk 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.
- 100

Singeli
136mlochbaum/Singeli · BQNSingeli 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.
Related topics
Often tagged together