Systems Programming: Why An (Embedded) Operating System? ======================================================== Conceived as a series of demos, live-programmed by the :doc:`trainer `, this course gives an understanding of what an embedded operating system is and what it can do for you. The course begins with an introduction to operating system fundamentals, then explores interrupt handling and the transition to threading concepts, examines the synchronization and communication tools available to developers (including semaphores, mutexes, message queues). It finishes with advanced I/O techniques such as polling and event-driven programming. The operating system that is used for the demos, :doc:`WhyOS `, is a didactic mockup for something that looks much like Zephyr. .. topic:: See also * :doc:`why-os/index` Course Structure ---------------- .. toctree:: :maxdepth: 1 overview/index time/index interrupt/index spinlocks/index threads/index messagequeue/index semaphore/index polling/index todo WhyOS ----- .. toctree:: :maxdepth: 1 why-os/index AI -- .. toctree:: :maxdepth: 1 ai/index