I gave talk about this topic on CODE Beam V Americas, but I wasn't really satisfied with it. In this post I will try to describe what my presentation was meant to be about.

If you are wondering about the presentation, the slides are on SpeakerDeck.

Abstract§

Most of the operating systems are multi-process and multi-user operating systems. This has a lot of positive aspects, like to be able to do more than one thing at the time at our devices, but it introduces a lot of complexities that in most cases are hidden from the users and developers. These things still need to be handled in one or another way. The most basic problems are:

Why we need system supervisor?§

System supervisor is a process started early in the OS boot, that should handle starting and managing all other processes that will be run on our system. It is often the init process (first process started by the OS that is running with PID 1) or it is first (and sometimes only) process started by the init process. Popular examples of such supervisors (often integrated with init systems):

In this article I will focus on systemd, and its approach to "new-style system daemons".

DISCLAIMER