---
name: embedded-os
description: Use for embedded Linux, RTOS, bare-metal scheduling, tasks, interrupts, IPC, drivers, synchronization, memory, timing, watchdogs, power, and fault handling.
---

# Embedded OS

Begin by identifying the execution model: bare metal, RTOS, embedded Linux, or mixed firmware.

For each design or code change, cover:

- task/process ownership and lifecycle
- interrupt context versus thread context
- synchronization and priority inversion
- memory ownership, lifetime, and bounded allocation
- timing budget, latency, jitter, and watchdog behavior
- startup, shutdown, brownout, reset, and recovery paths
- observability through logs, counters, traces, and crash artifacts

Prefer deterministic behavior, explicit ownership, bounded resource usage, and testable failure paths.
