lowlevel.console/bare-metal-atlas/x86-64

Low-Level Atlas

From “I can program” to “I understand the machine”

A dense, personal atlas for going under the runtime: the machine model, C and manual memory, pointers, assembly, the toolchain, systems programming, concurrency and performance — with an OS built from scratch as the spine project.

SourceC / C++ sourcetypes · ownership · intent
Toolchain
Toolchaincompiler → linkerassembly · ELF · symbols
ABI · loader · syscalls
Runtimeprocess → CPUstack · heap · registers · cache
x86-64ELFSysV ABIinspectableOS from scratch
102Notes
10Branches
1Playbooks
1Registries
Learning route

Read it as a map, not as a course catalog.

Start with the machine model, descend through C and pointers to assembly and the toolchain, climb back up into systems and performance, and let the OS-from-scratch project pull it all together.

Open Start Here
00
Phase 00 · Map the terrain

Orientation

Where to start, what to ignore for now, and how the atlas is organized.

Phase page
01
Phase 01 · Reset the model

Foundations

How the machine really works under the runtime — CPU, memory hierarchy, data representation, and the reset of “now you are the runtime.”

Phase page
02
Phase 02 · Own the memory

The C Layer

C as a thin layer over the machine, undefined behavior, and manual memory: pointers, the heap, allocators, and the classic bugs.

Phase page
03
Phase 03 · See the instructions

Down to the Metal

Reading the assembly your compiler emits, calling conventions, and the full preprocess→compile→assemble→link toolchain with its debuggers.

Phase page
04
Phase 04 · Optional layer

C++ (optional)

The jump from C to C++ — RAII, smart pointers, move semantics, templates, and the STL. Optional: the OS is C-first.

Phase page
05
Phase 05 · Talk to the OS

Systems

Talking to the kernel via syscalls and POSIX, then where low-level pays off: concurrency, memory ordering, and performance.

Phase page
06
Phase 06 · Build the machine

The Project

The spine project that consumes everything else: a small operating system, bootloader to shell, on x86-64 under QEMU.

Phase page
Phase ★ · Keep the discipline

Always Active

TDD, clean code, and XP carried into C/C++: testing, fuzzing, contracts, and reviewing memory-unsafe code.

Phase page
Reference layer

Registries and operating memory

Registries keep external references, specs, tools, and source material normalized behind short atomic notes.