ELI5: The SystemD vs. init/upstart controversy : linux
Systemd is a replacement for the old script-based init, it's written in C, and has a very different design. So I'll try to compare it to the old init systems.
Pros:
- Uses parallelization, a lot of it
- That means that some daemons are started simultaneously, which means boot time should be faster.
- Has a convenient API
- systemd supports DBus and sockets, so you can easily control it and talk to it from your own code
- The unit syntax is way simpler
- For most cases, all you need to do is start a daemon on boot and kill it on shutdown. Old bash-based init systems need a large piece of boilerplate code to do that, but systemd doesn't. A common unit syntax is also easier to work with for developers, because you only need to support one init system, and not tons of <something> init derivatives, OpenRC and whatnot.
- Integrated logging
- As an init binary, systemd knows more about other processes than, e.g. syslog, so it can log data in a more convenient way. For example, you can get logs for a specific process, unit or target. You can also add additional information to the log if your code uses systemd's library.
Read full article from ELI5: The SystemD vs. init/upstart controversy : linux
No comments:
Post a Comment