This document discusses real-time operating systems (RTOs) and their use in embedded systems. It begins by defining an RTOS as an operating system designed to support real-time applications where the timeliness of result delivery is critical. It notes that RTOs have predictable behavior under unpredictable external events. The document then discusses characteristics of RTOs such as small memory footprint, determinism, and guaranteed worst-case interrupt latency and context switch times. It also covers the files generated during cross-compilation of code for an embedded system, such as listing files, hex files, map files, and object files.