Mobile Computing · Cluster
Background Execution
Scheduling limits and wakeups.
- 01 Process Suspension and the Background Execution Grant Why a backgrounded process keeps its memory but loses its CPU, what suspension does to timers and sockets, and how the two clock sources diverge across device sleep.
- 02 Durable Deferred Work and the Persistence Boundary How a work item survives process death, what must be written before an acknowledgement is sent, and why the durable record is the only scheduler that cannot be lost.
- 03 Timer Coalescing and the Deferrable Work Budget How a kernel batches timer expiries, how slack and tolerance let a deadline drift, and why a wakeup that can wait is worth more than one that cannot.
- 04 Push as a Wakeup Path from APNs to the App Execution Window How a silent notification becomes a bounded execution window, why the push service collapses and throttles deliveries, and what the app can still be trusted to do.
- 05 Handing a Transfer to a System Daemon So It Outlives the App Why background uploads and downloads are owned by a system process rather than the app, what the delegate relaunch guarantees, and where the handoff loses data.
- 06 Declaring Long-Running Tasks Without Being Killed How an app asks for continued execution after it leaves the screen, what each declaration actually grants, and why the grant is audited rather than trusted.
- 07 Exact Alarms, Doze, and the Maintenance Window How the platform suspends background work when the device is idle, what an exact alarm buys against that suspension, and why the delivery window widens with time.
- 08 Wake Locks, Reference Counting, and the Cost of a Held CPU Why a wake lock is a counted system resource rather than a flag, what a partial lock actually keeps powered, and how an unbalanced acquire turns into a battery complaint.
- 09 Retry Accounting When the Scheduler Chooses the Moment How attempt counts, backoff, and jitter interact with deferral, why a retry that waits for a maintenance window needs different arithmetic, and where budgets go wrong.
- 10 Diagnosing a Wakeup That Never Arrived A method for distinguishing a scheduler that declined from a request that was never made, using the platform logs and the app own durable records as two independent witnesses.