For systems programming references, the strongest matches are rust-embedded/rust-raspberrypi-os-tutorials (This repository is a comprehensive, structured educational resource that), 0xax/linux-insides (This project is a comprehensive, technical reference guide that) and cfenollosa/os-tutorial (This repository is a comprehensive educational curriculum that provides). yourtion/30daymakeos and chyyuu/os_kernel_lab round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Explore the best systems programming resources. We have curated and compared top repositories by activity and utility to help you find the best fit.
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
This repository is a comprehensive, structured educational resource that guides you through building a bare-metal operating system from scratch, covering essential systems programming topics like hardware abstraction, memory management, and kernel internals.
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
This project is a comprehensive, technical reference guide that provides deep-dive documentation into Linux kernel internals, covering memory management, hardware abstraction, and concurrency primitives through direct source code analysis.
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
This repository is a comprehensive educational curriculum that provides structured lessons and code samples for building a kernel from scratch, directly addressing the need for learning resources on operating system internals and low-level systems programming.
30dayMakeOS is an educational hobby operating system project designed for the x86 architecture. It implements a monolithic kernel and a custom bootloader that transitions the CPU from real mode to 32-bit protected mode to enable flat memory addressing. The project focuses on low-level system development, featuring a custom graphics driver for direct pixel-buffer rendering and window management without an existing operating system. It includes an x86 bootloader that loads the kernel from disk into memory. The system covers core kernel capabilities including round-robin task scheduling for pro
This is a hands-on educational project for building a monolithic kernel from scratch, providing a practical implementation of low-level memory management, hardware abstraction, and OS internals.
This project is an educational framework and toolkit designed for developing and testing operating system kernels. It provides a structured environment for implementing fundamental system primitives, including virtual memory management, preemptive process scheduling, and filesystem organization, using Rust and C. The framework is specifically oriented toward RISC-V and x86 architectures, serving as a laboratory for learning how to build core system software from the ground up. The project distinguishes itself by supporting both bare-metal deployment and hardware emulation, allowing developers
This project is a comprehensive educational framework for building operating system kernels, providing the hands-on environment and foundational components necessary to learn low-level systems programming and internals.
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
This repository is a comprehensive, curated collection of learning paths and resources specifically designed to teach systems programming, operating system internals, and low-level hardware interaction.
This project is an educational resource and technical reference for building operating systems from scratch. It provides a comprehensive guide to mastering x86 architecture and implementing core kernel components by writing code that executes directly on hardware without the support of standard libraries or operating system abstractions. The materials focus on low-level systems engineering, teaching users how to interpret technical datasheets to manage hardware resources. It covers the fundamental mechanics of bare-metal programming, including the use of assembly language to define execution
This project is a comprehensive educational resource that provides a structured guide to low-level systems programming, covering essential topics like x86 architecture, memory management, and kernel development from scratch.
This project is a comprehensive technical knowledge base designed to support developers in mastering systems programming and preparing for technical assessments. It provides a structured collection of fundamental computer science concepts, mapping high-level language constructs to low-level hardware memory layouts, runtime object lifecycles, and system-level operations. The repository distinguishes itself through a hierarchical approach that bridges the gap between theoretical principles and practical implementation. It offers detailed guidance on C++ language mechanisms, standard library usa
This repository serves as a structured knowledge base and learning resource that covers core systems programming topics like memory management, OS internals, and concurrency, making it a relevant collection for your study needs.
This project is a comprehensive, curated directory of high-quality libraries, tools, and educational resources for C and C++ development. It serves as an ecosystem discovery index, helping developers navigate the vast landscape of third-party components, frameworks, and technical documentation available for the language. The collection is distinguished by its focus on high-performance systems programming and technical mastery. It provides deep coverage of specialized domains including SIMD-accelerated data processing, compile-time template metaprogramming, and asynchronous event-driven archit
This repository is a comprehensive, curated directory of high-quality resources and libraries specifically focused on C and C++ systems programming, covering the exact technical domains and low-level topics requested.
CppGuide is a curated collection of educational resources and practical guides focused on C++ server development, Linux kernel internals, concurrent programming, network protocols, and security exploitation. It provides structured learning paths for backend developers, covering everything from interview preparation to building high-performance network servers and understanding operating system fundamentals. The guide distinguishes itself by offering in-depth, hands-on tutorials that walk through real-world implementations, including building a Redis-like server from scratch, designing custom
This repository is a comprehensive, curated collection of educational resources and practical guides that directly addresses low-level systems programming, Linux kernel internals, and high-performance concurrent server development.
This project is a collection of minimal operating systems, bootloaders, and hardware drivers used to demonstrate low-level x86 system programming and hardware interfacing. It serves as a kernel development toolkit and a system programming lab designed for testing architecture concepts and hardware behavior within a system emulator. The repository provides reference implementations for creating bootable disk images and loading kernel stages. It includes guides for implementing protected mode transitions, memory paging, interrupt descriptor tables, and symmetric multiprocessing on x86 hardware.
This repository is a comprehensive collection of minimal, functional examples for x86 systems programming, covering essential topics like bootloaders, memory management, and hardware interfacing that directly align with your interest in OS internals.
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
This project is a comprehensive, hands-on educational resource that guides you through building a bare-metal kernel from scratch, covering essential topics like memory management, interrupt handling, and hardware abstraction.
This project is a comprehensive technical interview question bank and reference library designed for software engineering roles at major technology companies. It serves as a study guide and knowledge base covering the core principles of high-performance systems programming and computer science theory. The collection focuses on deep technical domains, including C++ language mastery, distributed systems design, and database engineering. It provides detailed material on consensus protocols, cluster coordination, and the architectural differences between SQL and NoSQL implementations. The resour
This repository serves as a curated knowledge base and study guide for systems programming and computer science internals, providing the technical resources and theoretical depth required for understanding low-level architecture and performance optimization.
This project is a tutorial for developing a custom bare metal operating system specifically for the Raspberry Pi 4. It provides the guidance and resources necessary to write software that interacts directly with hardware without the use of a pre-existing kernel. The project centers on an ARM64 cross-compilation toolchain and a build pipeline that transforms source code into raw binary images. It utilizes linker scripts to define physical memory addresses and section placements, ensuring the resulting binary loads at the correct hardware entry point. The codebase covers direct hardware interf
This repository provides a comprehensive, hands-on tutorial for building a bare-metal operating system from scratch, directly addressing hardware internals and low-level memory management.
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
This project is a hands-on educational implementation of a bare-metal operating system for ARM64, providing a practical, code-based resource for learning kernel internals, memory management, and hardware abstraction.
The Rust Programming Language Book is the official technical guide and educational resource for the Rust language. It provides a comprehensive walkthrough of the language's design, focusing on its core identity as a systems programming language that enforces memory safety and high-performance execution without the need for a garbage collector. The project is distinguished by its focus on ownership, borrowing, and lifetime tracking, which allow the compiler to verify memory safety and thread safety at compile time. It covers the language's unique approach to zero-cost abstractions, including t
This is the official educational resource for Rust, which is a foundational language for systems programming, covering memory management, concurrency, and performance optimization as requested.
Comprehensive Rust is a structured educational curriculum designed to teach the Rust programming language, focusing on its core principles of memory safety, performance, and type correctness. The project provides a comprehensive learning path for software engineers, covering the language's ownership model, borrow checking, and compile-time validation mechanisms that eliminate common memory-related errors without the need for a garbage collector. The curriculum distinguishes itself by offering specialized modules that demonstrate how to apply these safety guarantees in diverse, high-performanc
This project provides a structured educational curriculum specifically designed to teach systems programming concepts like memory management and hardware-level safety using Rust, making it a highly relevant resource for learning these internals.
This repository serves as a comprehensive educational resource covering core computer science concepts, software engineering principles, and system architecture. It provides detailed explanations of fundamental data structures and algorithms, alongside in-depth analysis of database management systems, including transaction properties, storage engines, and concurrency control mechanisms. The collection also offers extensive documentation on the Java programming language, ranging from collection internals and memory management to concurrency primitives and object-oriented design patterns. Furth
This repository provides a broad collection of educational notes and foundational knowledge covering system architecture, memory management, and concurrency, making it a relevant resource for learning systems programming concepts.
This project is a tutorial and framework for building a low-level, bare-metal operating system from scratch using the Rust language. It focuses on ARMv8 kernel development specifically for the Raspberry Pi 3, providing the resources necessary to implement a monolithic kernel that runs directly on hardware without an underlying operating system. The project distinguishes itself by providing a complete embedded cross-compilation suite within a containerized environment to ensure consistent builds. It includes a dedicated kernel deployer that uses a serial interface and chainloader to load and b
This project provides a comprehensive, hands-on learning resource for building a bare-metal operating system from scratch, covering essential topics like memory management, hardware abstraction, and kernel development.
rpi4-osdev is a project for bare metal operating system development targeting the Raspberry Pi 4. It focuses on creating a custom operating system that runs directly on the hardware without an underlying kernel or abstraction layer. The project provides a codebase and instructional guide for developing a low-level system from scratch. This process involves transitioning from early boot code to kernel execution on the ARM64 architecture. The technical scope covers embedded system bootstrapping and low-level hardware interfacing. This includes managing memory-mapped I/O, physical address mappi
This project serves as a practical, hands-on learning resource for operating system internals and low-level hardware interfacing, directly addressing the core requirements for systems programming education.
This project provides educational resources and technical guides for microcontroller firmware development. It focuses on writing low-level C code that runs directly on hardware without an underlying operating system, covering the fundamentals of hardware registers, memory mapping, and system clocks. The guides detail the creation of hardware abstraction layers to wrap raw memory-mapped registers into structured interfaces and provide walkthroughs for integrating TCP/IP stacks and HTTP servers into bare-metal environments. It also outlines the implementation of embedded systems build pipelines
This repository provides a curated collection of educational guides and technical resources specifically focused on low-level systems programming and bare-metal firmware development.
The RISC-V ISA Reference Manual is the official technical specification defining the RISC-V instruction set architecture. It serves as a hardware architecture standard and a comprehensive set of rules and definitions that govern the interaction between software and RISC-V hardware. The project is maintained as markdown-based technical documentation, which is converted into a searchable, web-based reference. This specification provides the necessary reference for processor hardware design, low-level firmware development, embedded systems programming, and compiler backend engineering. It inclu
This repository provides the foundational technical specification for the RISC-V architecture, serving as an essential reference for low-level systems programming, firmware development, and compiler engineering.
This project is a centralized, open-access repository that serves as a structured directory for technical education and professional development. It functions as a community-driven knowledge base, aggregating high-quality learning materials to support global accessibility to computer science and software engineering resources. The platform distinguishes itself through a collaborative governance model that utilizes peer-reviewed workflows for all content additions and modifications. By leveraging structured text files and decentralized version control, the repository maintains a searchable, hu
This repository is a comprehensive, community-curated directory that includes extensive sections on systems programming, operating system internals, and low-level architecture, making it a central resource for the requested learning materials.
Cheat sheet for x86-64 Linux systems programming
This repository provides a concise, curated reference for x86-64 Linux systems programming, covering essential topics like memory management, system calls, and process control.
This project is a comprehensive educational resource and programming course covering C++ language semantics and features from C++03 through C++26. It provides structured tutorials and technical guides focused on modern C++ development. The material offers specialized instruction on template metaprogramming, including the use of type traits and compile-time computations. It features detailed guides on concurrency and parallelism for multi-core execution, as well as a reference for software design applying SOLID principles and RAII. Additionally, it covers build performance optimization to redu
This repository provides a comprehensive educational curriculum and technical reference for modern C++ development, covering essential systems programming topics like concurrency, memory management, and performance optimization.
The Rust Reference
This is the official technical reference for the Rust programming language, providing foundational documentation on memory safety, concurrency, and low-level language semantics essential for systems programming.
CS-Base is a comprehensive educational platform and technical repository designed to support software engineers in mastering backend architecture, artificial intelligence engineering, and career development. It functions as a centralized knowledge hub that combines illustrated theoretical tutorials with practical, project-based learning to bridge the gap between foundational computer science concepts and professional industry requirements. The project distinguishes itself by integrating a robust career mentorship framework with advanced AI engineering resources. It provides users with tools f
This repository serves as a comprehensive educational hub that covers foundational systems programming topics like Linux internals, networking, and memory management through detailed tutorials and technical guides.
This project provides a comprehensive framework for creating, managing, and executing educational programming challenges. It includes standardized systems for authoring instructional content, defining test cases, and structuring documentation to ensure consistent learning outcomes. The platform supports a wide range of programming languages through dedicated execution environments that handle compilation, dependency management, and automated testing. The infrastructure facilitates both local and remote development workflows, offering command-line utilities for testing code without requiring v
This repository serves as a curated collection of tutorials and exercises for building complex systems from scratch, directly aligning with the goal of finding learning resources for systems programming and internals.
This project is a centralized repository of technical literature that identifies and ranks essential programming books based on industry-wide developer consensus. It functions as a curator and aggregator, compiling recommendations from multiple sources to determine which titles are most frequently cited by software professionals. The platform distinguishes itself by using a data-driven methodology to transform peer recommendations into a structured, ranked list of learning materials. By aggregating consensus data, it provides a resource for developers to identify high-quality literature for m
This repository serves as a curated collection of technical literature, providing a structured list of highly-regarded books that cover foundational systems programming and operating system internals.
| Dépôt | Stars | Langage | Licence | Dernier push |
|---|---|---|---|---|
| rust-embedded/rust-raspberrypi-os-tutorials | 14.7K | Rust | Apache-2.0 | |
| 0xax/linux-insides | 32.6K | Python | NOASSERTION | |
| cfenollosa/os-tutorial | 30.6K | C | BSD-3-Clause | |
| yourtion/30daymakeos | 6.4K | C | NOASSERTION | |
| chyyuu/os_kernel_lab | 4K | Rust | GPL-3.0 | |
| gurugio/lowlevelprogramming-university | 12.6K | — | gpl-3.0 | |
| tuhdo/os01 | 13.4K | TeX | — | |
| huihut/interview | 38K | C++ | NOASSERTION | |
| fffaraz/awesome-cpp | 71.8K | — | MIT | |
| balloonwj/cppguide | 6K | — | — |