This document discusses operating systems for Internet of Things (IoT) devices. It describes TinyOS, Contiki OS, and RIOT OS. TinyOS uses a monolithic kernel and nesC programming language but is no longer supported. Contiki OS uses a layered architecture with C/C++ support and provides networking protocols. RIOT OS uses a microkernel approach and supports C/C++ with low memory requirements. It also enables multithreading and real-time capabilities. The document compares the OSs and demonstrates Contiki and RIOT on IoT devices.