Server boot time matters too.
With sysvinit you lose packets when restarting services, not so with systemd.
]]>“Modular C coded early boot services included.” Did you not read this.
Systemd main source codes include the features todo Mount handling down. But big but these are independent modules. So can be replaced or removed.
Merging in of inetd kinda came a requirement due to how systemd operates.
xinetd/inetd was the first Socket-based Activation system. systemd is the next generation with many improvements so every service can take advantage of xinetd/inetd activation on demand idea even if they are not designed to be xinetd/inetd compatible with systemd. This is why xinetd/inetd cannot mix with systemd. They both will want to be monitoring the same things.
mount handling also falls into mount based Activation. Service has started up it goes to use a partition that is not mounted yet. So systemd suspends it until that is mounted.
The deeper you dig systemd is an Activation based system. Something completely different in a lot of ways to sys v init system. It is basically impossible todo a full activation based system inside the system v model. Also none of the YAIS (Yet Another Init System) ever has been a fully activation based system. Systemd closest living relation is launchd from OS X. Launchd is only partly in the direction of Activation based system.
Activation based system is not an Init system really either. Activation based systems keep on working away after the system has started up.
Encrypted hard disk handling (LUKS) is a good example of this in systemd it handles encrypted harddrives on startup also if you plug them in while the system is running. If harddrive requires password drive may wait until have the machine is booted and dbus sends a message asking for password.
Also due to it being an activation based system not a init based system. It does house keeping on temp directories and the like.
Biggest change is cgroup wrapping of every service so you know what started what. Doing this also would have required a complete rewrite of the shell scripts.
Of course I am not going to say for one moment there are not areas in systemd that cannot be refined. Like possibly making units for mount handling and so on run as independent processes so more tolerant to failures.
Systemd is the first of its kind of system on Linux other than xinetd and inetd. This is important to remember every other init system that has ever been on linux is a rework of the sys v design one way or another. So perfectly fair to call the others YAIS. If systemd is yet another something. Its Yet Another Inetd. Just inetd on serious booster drugs so it can boot the complete system just compatible services. Yes systemd behavior is more like a inetd than a system v init.
A revamp of this size is a chance to fix a lot of historic mistakes and make a few new ones.
]]>As is the case with hal, systemd uses all best stuff linux has, there is no point in being generic and crappy but work everywhere. Systemd might ease a lot of administration leaving more for proper coding
]]>Maybe systemd do too much. But I think there is a logical reason to unify the boot process like systemd does.
]]>