Systems Programming: Why An (Embedded) Operating System?#

Conceived as a series of demos, live-programmed by the 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, WhyOS, is a didactic mockup for something that looks much like Zephyr.

Course Structure#

WhyOS#

AI#