[MUSIC] Welcome to this module in the embedded systems component course. This time, we will discuss the operating system as an important software component. More than three quarters of the embedded system designs use an operating system, and since more and more multicore processors are used, this becomes a must. All sorts of operating systems are available, from very simple to the classical ones also used in business systems. A good understanding of what an operating system can do in the framework of your application is, therefore, essential. We will take a look at scheduling principles. And communication and synchronization mechanisms. These are typical for embedded, real-time operating systems. In embedded devices, we find more specific I/O devices than we do in business environments. As a consequence, writing or adapting a device that I invented, might be part of the game. To finish, we will discuss some rules for multitasking design, which is an important architectural activity. Starting from the device requirements, one first needs to make a decision about what will be done in hardware. And then the software functionality needs to be split into multiple tasks or threats. This is obvious to those having years of experience, but for the beginners, some advice maybe useful. As you see, these are all interesting topics to learn about. So do not hesitate to jump start this series of lessons.