The document discusses a configurable operating system (COS) for embedded systems on system-on-a-chip (SoC) devices. COS allows customization at compile-time by removing unnecessary functionality. It has a hardware abstraction layer (HAL) that maps operations to specific hardware. The COS kernel provides core functionality like threading and scheduling. Developers can implement interrupt handling, timers, scheduling algorithms, and memory management through COS interfaces. A case study modified the Linux kernel to include COS interfaces and components. Evaluations showed the performance impact of memory management configurations and cache usage. The main advantages of COS are its configurability, which avoids unwanted code, and its portability across architectures.