This series explores consensus algorithms, focusing on durability at scale. Part 1 introduces the core problems consensus algorithms solve: distributed durability, availability, and automation. It emphasizes the need for flexible algorithms that can adapt to complex cloud provider topologies and pricing structures, contrasting this with rigid traditional algorithms like Paxos and Raft. The approach taken is engineering-focused, using terminology and an objective-based, top-down methodology to id This post introduces the fundamental concepts of processes and threads as operating system abstractions for executing code and managing resources. It explains how processes enable multitasking by allowing the CPU to switch between different programs, detailing context switching, process states, and the system calls fork() and execve() for process creation. The post also contrasts this with threads, highlighting their lighter weight and shared memory space, setting the stage for understanding different concurrency models.
All PlanetScale trails