Understanding Mach Tasks, Threads, Processes and Exception Handling on iOS/macOS
The article explains how iOS/macOS uses the XNU kernel's Mach micro‑kernel to represent processes, tasks and threads, describes the relationship between them, classifies hardware and software exceptions, shows how Mach exceptions are translated into Unix signals, and provides practical code examples for capturing both Mach exceptions and signals in a crash‑reporting framework.