Skip to content

Glossary

Plain-language definitions of SEO terms used across the blog.

Boot ROM
The first code that runs on power-on. Mask-programmed at silicon manufacture, immutable, and the cryptographic root of the entire boot chain.
Gatekeeper
The macOS feature that gates first-launch of downloaded apps based on signature, notarization, and quarantine. Implemented by syspolicyd.
IOUSBHost
The IOKit framework for USB device drivers on macOS. Replaces the older IOUSBFamily; the modern path for both in-kernel and DriverKit USB drivers.
kqueue
BSD's I/O event notification mechanism — register interest in events from file descriptors, sockets, timers, processes, signals, and get woken when they fire.
Time Machine
macOS's backup system. Local hourly snapshots via APFS plus optional external backups to USB or network destinations.
XPC
Apple's IPC framework for talking between processes. Built on Mach messages with a structured codec, queue-aware dispatch, and tight launchd integration.
AOP (Always-On Processor)
A low-power ARM core on every Apple SoC that runs continuously, handling sensors and wake-event coordination while the main CPU sleeps.
LaunchServices
The macOS framework that answers 'which app handles this?' — bundle ID lookups, URL scheme handlers, file-type associations. The first stop on every app launch.
lck_mtx (kernel mutex)
XNU's default kernel-side mutex. Block-and-wait under contention, adaptive-spin on short waits, priority-inheriting to prevent inversion.
lck_spin (kernel spinlock)
Busy-wait kernel lock for very short critical sections in interrupt or scheduler context where blocking isn't an option.
mbuf
The 4.4 BSD memory buffer type. The atomic unit of networking memory in XNU — small inline payloads or pointers to clusters, chained to form a packet.
Skywalk
Apple's modern replacement for the BSD network data plane. Shared-memory rings, per-channel queues, QoS-aware throughout. Closed source, but increasingly the default.
IOSurface
The IOKit object that represents a chunk of memory mappable by both CPU and GPU. Zero-copy on Apple Silicon's unified memory.
kalloc
XNU's general-purpose kernel heap. A facade over the zone allocator using power-of-two-sized buckets; what kernel code calls when it needs malloc-like variable-size allocation.
Mach-O
Apple's executable file format. Holds load commands, segments, the code signature, and the dyld handoff metadata. Every binary on macOS, iOS, watchOS, tvOS is Mach-O.
Notarization
Apple's automated malware scan + signature for Developer ID binaries distributed outside the App Store. Required for Gatekeeper to run them on user Macs.
Slab allocator
An allocation strategy where memory is divided into per-type caches of fixed-size elements. XNU's zone allocator is a slab allocator.
Zone allocator (zalloc)
XNU's per-type slab allocator. Each zone holds elements of one fixed size; allocation is a free-list pop. Foundation of nearly every kernel data structure.
AIC (Apple Interrupt Controller)
The SoC's interrupt aggregator on Apple Silicon. Routes interrupts from devices to specific CPU clusters with per-source priority and masking.
FileVault
The macOS feature that gates the volume encryption key behind a user password. Disk is always encrypted; FileVault decides whether unwrap requires a user secret.
IOInterruptDispatchSource
IOKit's abstraction for an interrupt source. Registers a top-half filter with the kernel and dispatches the bottom-half action onto the driver's workloop.
IOWorkLoop
A single-threaded event queue an IOKit driver uses to serialize all its event handling — interrupts, timers, IO completions. Implicit per-driver locking comes for free.
IOPMrootDomain
The singleton IOService at the root of the power graph. Owns system-wide decisions: full sleep, display sleep, wake on packet, wake on alarm.
IOPM (IOKit Power Management)
The framework IOKit drivers use to declare their power states and coordinate sleep/wake with the rest of the system.
ASID (Address Space Identifier)
An 8-bit tag on every TLB entry that lets the ARM MMU cache translations for multiple address spaces simultaneously. Why context switch on Apple Silicon is so cheap.
Buffer cache (unified buffer cache)
The shared store of file-backed pages in kernel memory. read(2) and mmap(2) hit the same cache; pages are kept until evicted under pressure.
mmap
The POSIX syscall that maps a file (or anonymous memory) into a process's virtual address space. Backbone of malloc, dyld, and zero-copy file access on macOS.
Pageout daemon (vm_pageout)
The kernel thread that walks the page queues, demotes inactive pages, and feeds the compressor / swap when free memory runs low.
SBPL (Sandbox Profile Language)
A Scheme-derived DSL Apple uses to write sandbox profiles. Compiled to bytecode by libsandbox; evaluated by Sandbox.kext on every controlled syscall.
Translation regime (TTBR)
The ARM concept of a region of virtual addresses that translate through a specific page-table base register. XNU uses two: TTBR0 for userspace, TTBR1 for kernel.
Working set
The set of pages a process has touched in a recent window. XNU's pageout daemon tries to keep every process's working set resident; when it can't, memory pressure escalates.
AST (Asynchronous System Trap)
The per-thread polling-point mechanism XNU uses to deliver preemption, signals, and other asynchronous work without breaking into running code mid-instruction.
iBoot
Apple's bootloader — BIOS + GRUB compressed into a single signed binary. Loads, verifies, and jumps into the macOS kernelcache.
ipc_mqueue
The per-port message queue and wait set. Receives appended kmsgs, blocks threads in mach_msg_receive, wakes them when a message arrives.
kernelcache
A prelinked image bundling XNU plus every kext required for boot into a single signed file iBoot can load in one read.
kmsg (ipc_kmsg)
The kernel-side representation of a Mach message while it's in flight. Owns the port references, the inline payload, and any out-of-line VM copies.
Voucher (Mach voucher)
An immutable kernel object carried in Mach messages that propagates QoS, resource accounting, importance, and persona across IPC boundaries.
AMFI (Apple Mobile File Integrity)
The kernel extension that enforces what signed code is allowed to load and run on a Mac (or iPhone). Despite the name, it's not iOS-only — every macOS exec goes through it.
AMX (Apple Matrix Extensions)
Apple Silicon's undocumented matrix coprocessor. Used heavily by Accelerate and Core ML; programmed via opaque MSR writes to undocumented system registers.
APRR / SPRR
Apple Silicon's hardware mechanism for changing a page's effective permissions per-thread by writing a register — no TLB shootdown required. Foundation of fast JIT on Macs.
Chained fixups
The modern Mach-O relocation format. Pointers in the binary encode the next fixup's offset in-line; dyld walks the chain in O(fixups), not O(opcode stream).
Code signing
The cryptographic signature embedded in every Mach-O binary on a modern Mac. Validates the binary is unmodified and identifies its author.
Dispatch queue
libdispatch's basic unit of serialization. Submit blocks; they run in submission order on worker threads from the kernel-managed pool.
dlopen
The runtime API for loading a dylib into a process's address space. The basis of plugin architectures and conditional framework loading.
DriverKit
Apple's framework for writing drivers as userspace processes. Same IOKit object model as kernel kexts; crashes can't take down the system.
DVFS (Dynamic Voltage and Frequency Scaling)
The technique of choosing per-cluster voltage and frequency at runtime to balance performance and power. The foundation of Apple Silicon's power efficiency.
dyld shared cache
A pre-linked image bundling every Apple-supplied dylib, mapped into every process at the same address. The reason process startup is fast and resident memory is small.
Entitlement
A signed key-value pair inside a binary's code signature that grants a specific kernel- or daemon-checked privilege.
KDP (Kernel Debugger Protocol)
XNU's wire protocol for remote kernel debugging — how lldb talks to a panicked Mac over the network.
Page-replacement clock
XNU's two-handed clock algorithm for aging pages from active to inactive, identifying reclaim candidates under memory pressure.
Panic (kernel panic)
XNU's emergency stop. Triggered by unhandled exceptions, failed assertions, or explicit panic() calls. Writes a panic.log to disk; reboots.
pmgr (power manager)
The IOKit driver that owns Apple Silicon's power-control registers. Implements DVFS, idle gating, and per-island power decisions.
PrebuiltLoader
dyld's data structure for a dylib in the shared cache. All dependency resolution and fixup info is pre-computed at cache build time; per-process loading is O(1).
QoS class
Quality-of-Service: the userspace-facing scheduling priority. USER_INTERACTIVE down through BACKGROUND, mapped onto Mach's scheduling classes by libdispatch.
Rosetta 2
Apple's binary translator that runs x86_64 code on Apple Silicon. AOT-translates most binaries on first launch; JIT-translates the rest at runtime.
Secure Enclave (SEP)
A separate ARM core on every modern Apple device, running its own OS, holding cryptographic keys the main CPU never sees.
SIP (System Integrity Protection)
A kernel-enforced runtime restriction that forbids even root from modifying system files, loading unsigned kexts, or attaching debuggers to Apple-signed processes.
TCC (Transparency, Consent, Control)
The daemon and database that records user grants for sensitive data — camera, microphone, contacts, full disk access, screen recording, and dozens more.
TCP state (tcpcb)
The kernel's per-connection state structure — sequence numbers, RTT estimates, congestion window, retransmit timers, and the protocol state machine.
Workqueue (pthread workqueue)
The kernel-managed thread pool that backs libdispatch and direct pthread_workqueue clients. Threads bucketed by QoS, created and destroyed dynamically.
APFS
Apple File System. Copy-on-write, snapshots, clones, sealed system volumes — the default filesystem on every modern Apple device.
BSD (in XNU)
The FreeBSD-derived upper half of XNU that implements processes, file descriptors, VFS, sockets, and POSIX system calls.
Darwin
The open-source Unix-like core under macOS, iOS, watchOS, tvOS, and visionOS. XNU kernel + BSD userland + Apple's frameworks-free base system.
dyld
macOS's dynamic linker and loader. Maps Mach-O binaries into a process's address space, resolves dependencies, runs initializers.
IOKit
XNU's C++ driver framework. Drivers are objects in a runtime-traversable tree, matched to hardware by dictionary.
Jetsam
XNU's memory-pressure killer. Terminates the lowest-priority process in a memory band when free RAM falls under threshold.
kext
A kernel extension bundle. Mach-O binary + plist + dependencies, loaded into the kernel address space to extend it at runtime. Being phased out in favor of DriverKit.
launchd
The first userland process on macOS. PID 1, the init system, the service manager, and the only thing that can spawn daemons and agents.
Mach message
The unit of data and capability transfer between tasks on macOS. A header plus optional typed body that can move ports and memory pages atomically.
Mach port
A kernel-owned message queue addressed by capability. The IPC primitive every higher layer on macOS — XPC, launchd, signals — is built on.
Mach
The microkernel core of XNU. Originated at CMU in the 1980s; provides tasks, threads, ports, messages, and virtual memory.
pmap
The machine-dependent half of XNU virtual memory. Translates a vm_map into the page tables a particular CPU architecture actually walks.
Sandbox
The kernel-enforced policy layer that restricts what a process can do. Foundation of App Store apps, helper isolation, and a lot of XPC service security.
Sealed System Volume (SSV)
The cryptographically sealed read-only volume holding `/System` on macOS 11+. Apple signs a Merkle root of every file; modifying anything breaks the seal.
Task (Mach)
The Mach object that owns a process's address space, threads, and port rights. Paired with a BSD `proc` to form what userspace calls a process.
Thread (Mach)
The Mach unit of execution. Schedulable, has CPU registers, runs inside a task's address space. POSIX threads are a layer on top.
VM compressor
macOS's in-RAM 'soft swap'. Compresses cold pages with WKdm/LZ4 to free physical frames before writing actual swap to disk.
vm_map
The machine-independent description of a task's virtual address space. A sorted list of entries, each pointing at a vm_object.
XNU
The kernel that runs macOS, iOS, watchOS, tvOS, and visionOS — Mach core, BSD personality, IOKit drivers, all in one binary.