All topics
๐Ÿ–ฅ๏ธ

Systems & Hardware

The layer below the OS: CPU instruction sets (RISC-V, AArch64, x86-64), OS ABIs (POSIX, ELF, calling conventions), firmware (UEFI, ACPI, TPM), and hardware buses (PCIe, USB, NVMe).

CPU Architectures & ISAsOS Interfaces & ABIsFirmware & PlatformHardware Interfaces
4
Must Know
10
Should Know
5
Niche

Must Know

4 specs
Volume IRISC-VMust Know

RISC-V ISA

RISC-V is the only fully open, royalty-free ISA gaining mainstream adoption โ€” in SiFive/StarFive SoCs, SSD controllers, RISC-V Linux, and embedded MCUs. The base spec is required reading for anyone doing hardware or firmware on RISC-V.

SystemsCPU Architectures & ISAs
Details
ArmMust Know

Arm ARM (A-profile)

AArch64 now dominates mobile (every smartphone), Apple Silicon (M-series Macs, iPad), and increasingly servers (AWS Graviton3/4, Ampere Altra, Neoverse). Cross-compilation, performance tuning, and assembly work all require knowing the ISA.

SystemsProductCPU Architectures & ISAs
Details
IntelMust Know

x86-64 SDM

x86-64 dominates server (cloud compute), desktop, and laptop computing. Understanding the SDM is required for OS development, JIT compilation, security research, and any performance-critical native code.

SystemsCPU Architectures & ISAs
Details
IEEE Std 1003.1-2017Open GroupMust Know

POSIX

POSIX defines the lingua franca of Unix/Linux systems programming. Every system call pattern, signal handler, file descriptor idiom, and shell script convention in the Linux/macOS world comes from this spec.

SystemsProductOS Interfaces & ABIs
Details

Should Know

10 specs
Volume IIRISC-VShould Know

RISC-V Privileged

Required for any OS kernel, hypervisor, or firmware work on RISC-V. Every RISC-V Linux port, OpenSBI, U-Boot, QEMU model, and Keystone security monitor implements this spec.

SystemsCPU Architectures & ISAs
Details
Linux FdnShould Know

AMD64 ABI

Every C/C++/Rust/Go/Swift program on x86-64 Linux follows this ABI. Understanding it is essential for FFI bindings, inline assembly, debugger step-over logic, and compiler backend development.

SystemsOS Interfaces & ABIs
Details
ArmShould Know

AAPCS64

Every function call on AArch64 (Apple Silicon, Android arm64, AWS Graviton) follows AAPCS64. Required for correct assembly, FFI bindings from any language, and compiler backend targeting Arm64.

SystemsOS Interfaces & ABIs
Details
Linux FdnShould Know

ELF

Every compiled binary on Linux is ELF. Understanding ELF is essential for debugging, reverse engineering, dynamic linking, build toolchains, binary patching, and tools like readelf, objdump, ldd, and patchelf.

SystemsOS Interfaces & ABIs
Details
UEFI 2.10UEFI ForumShould Know

UEFI

Every modern x86-64 and AArch64 server, workstation, and PC uses UEFI. Required for OS development, bootloader work (GRUB, systemd-boot, shim), Secure Boot policy, and firmware engineering.

SystemsFirmware & Platform
Details
ACPI 6.5UEFI ForumShould Know

ACPI

ACPI is how every OS discovers hardware topology, manages CPU power states, handles thermal throttling, and receives platform events. Required for kernel, power management, and firmware development on all modern x86/Arm platforms.

SystemsFirmware & Platform
Details
TCG TPM 2.0 LibraryTCGShould Know

TPM 2.0

TPM 2.0 is the hardware root of trust for modern Secure Boot, disk encryption, remote attestation, and zero-trust device health verification. Understanding it is essential for enterprise security architecture and cloud confidential computing.

SystemsBack OfficeFirmware & Platform
Details
PCIe 6.0PCI-SIGShould Know

PCIe

PCIe is the universal high-speed peripheral bus. Understanding lane width, bandwidth, BAR mapping, and MMIO is essential for GPU compute (CUDA/ROCm), NVMe performance tuning, SR-IOV NIC virtualization, and DPDK kernel-bypass networking.

SystemsHardware Interfaces
Details
USB4 Version 2.0USB-IFShould Know

USB4

USB is the universal connector. Understanding USB PD for 240W power delivery, USB4 tunneling for Thunderbolt docks, and USB 3.x throughput tiers is essential for hardware-connected software, embedded development, and device driver work.

SystemsProductHardware Interfaces
Details
NVMe 2.0NVMeShould Know

NVMe

NVMe is the interface for all modern SSDs. Understanding queue depth, namespace management, ZNS for log-structured workloads, and NVMe-oF for disaggregated storage is required for storage system design, cloud storage backends, and OS I/O subsystem work.

SystemsHardware Interfaces
Details

Niche / Specialized

5 specs
Version 3.1BOpenPOWERNiche

POWER ISA

POWER runs mission-critical IBM mainframe-class workloads. Required for AIX, IBM i (AS/400), and Linux-on-POWER development, and for anyone building compilers or tools targeting POWER.

SystemsCPU Architectures & ISAs
Details
RISC-VNiche

RISC-V ABI

Required for writing RISC-V assembly, setting up cross-compilation toolchains, or building compilers and OSes targeting RISC-V.

SystemsOS Interfaces & ABIs
Details
DWARF 5DWARFNiche

DWARF

Every debugger, profiler, crash reporter, and sanitizer on Linux/macOS reads DWARF. Understanding it is critical for improving build-time debug quality, diagnosing toolchain issues, and building custom binary analysis tools.

SystemsOS Interfaces & ABIs
Details
LSB 5.0Linux FdnNiche

LSB

LSB defines what 'Linux-compatible binary' means in practice. Critical for ISVs shipping pre-compiled software across distros and for understanding minimum glibc version requirements in cross-distro deployments.

SystemsOS Interfaces & ABIs
Details
SMBIOS 3.7DMTFNiche

SMBIOS

SMBIOS is how software reads hardware inventory: CPU model, RAM config, system UUID, and BIOS version. Cloud hypervisors inject SMBIOS tables to identify instance type; asset management tools harvest them for CMDB population.

SystemsFirmware & Platform
Details