Fedora 14 was set to be the first major distribution shipping SystemD to replace SysVinit
, but that ended up getting pushed back to the Fedora 15
release that will now come in May of 2011. Fortunately, for the developers behind Fedora and SystemD, this means the init replacement daemon will be in much better shape for its premiere. Lennart Poettering, the original developer of SystemD, has written about some of the recent improvements.
With the latest SystemD code, there is now fully C coded shutdown logic for handling the processes, a minimalistic readahead implementation (including support for Btrfs defragmentation on SSD/HDDs), SystemD now controls fsck and quota during the early boot process to ensure maximum parallelization, a kill argument for the systemctl
command, support for activating encrypted LUKS/dm-crypt disks at boot-up and run-time, automatic clean-up of directories, safe destruction of all user sessions before going down, and many other changes.
With this new SystemD code, every service, every user, and every user session now gets its own cgroup (control group) in the CPU hierarchy. This is good news for that ~200 line kernel patch that does wonders
as well as Lennart's own alternative to this kernel patch, but regardless it's an improvement in being more fair with accessing the CPU.
More details regarding these new SystemD features plus the rest can be found in Lennart's blog post
. As far as the code is concerned, version 13 was just tagged in its Git code-base
earlier today that sports all of this new work.
Besides Red Hat (who Lennart works for) pushing this new daemon into Fedora 15, it's also being looked at to use SystemD in openSUSE 11.4, Canonical is looking at it for Ubuntu, and there is progress on SystemD support for Debian too. This system and service manager for Linux is designed to be compatible with existing init scripts but to provide for greater parallelization of services at start-up, supports snapshotting and restoring of system states, and does a whole lot more than existing daemons.