Lexicon Entry
Linux
Linux is a widely-used, open-source operating system kernel that forms the foundation of numerous distributions. It provides core OS functionalities including memory management, process scheduling, and hardware interfacing.
Related Knowledge & Cross-References
How a C Program Becomes Machine Code: The C Compilation Process Explained
Trace the complete C compilation process from source code to executable binary. See each stage — preprocessing, compilation, assembly, and linking — with real GCC and Clang output across x86-64 and ARM64.
Build a Debugger from Scratch: Ultimate 3 OS Guide (Part 8)
Understanding the bridge between your code and the kernel is the final key to demystifying how software works. Up to this point in my Assembly Series, you've mastered how to load a process, how calling conventions manage functions, how memory is laid out, and finally, how to talk directly to the hardware via system calls.
System Calls Demystified: 4 Essential Facts About the User-Kernel Bridge
How does your program actually *do* anything? We dive deep into the `syscall` instruction, kernel mode transitions, and the differences between Linux, macOS, and Windows system calls.
Dynamic Linking & Relocations: How the GOT and PLT Work
How does code call functions that aren't there yet? We dive deep into the Global Offset Table (GOT), Procedure Linkage Table (PLT), and the lazy binding dance.
Process Loading & Creation: The Life of a Binary
Curious about process loading? We trace the journey from disk to execution, covering the OS loader, ASLR, and dynamic linking on Linux, macOS, and Windows.
Stack Frames & Function Prologues Demystified: x86-64 & ARM64 Guide
Master stack frame prologue and epilogue patterns across x86-64 and ARM64 architectures. Learn how function calls work at the assembly level on Linux, macOS, and Windows.