September 24, 2012, 10:51 AM — More than a few Linux distributions have pulled up their stakes in the decades old System V method of booting and quietly moved to a better way of booting. Better, faster, easier to maintain, and less prone to problems. I say "quietly" not to imply that there haven't been announcements, banners waving, and proper cheers from some segments of the Linux user community, but to emphasize how little disruption has occurred and how little those of us who have been living in the slower-to-change Linux environments have had to pay attention. But the changes are nothing short of huge.
In a dramatic move toward reducing the boot time for Linux systems, two contenders for system start-up have emerged in recent years. One goes by the name "Upstart" (get it? -- "start up" with the syllables reversed). The other is called systemd (for system daemon). If you hadn't spotted a dramatic change in your Linux systems, you're probably using one of the more conservative Linux systems. The difference between RedHat and Fedora today might really surprise you.
Both contenders -- Upstart and systemd -- are very much in use today as is the older System V (say "system five") initialization process, now generally referred to as "SysVinit". So, depending on what particular "brand" of Linux system you happen to be working with, some combination of these three initialization services could be controlling your boot process.
Both Upstart and systemd (pronounced "system dee") represent attempts to address long-standing problems in the now traditional SysVinit system -- such as slow booting and dependencies between services. Slow booting in SysVinit is due, at least in part, to the fact that the entire process depends on a series of shell scripts which themselves tend to be slow (forks, after all, consume resources). In addition, the process is required to start each service in sequence before moving to the next start script. Both Upstart and systemd move way beyond these drawbacks yet are still compatible with SysVinit, so your system could be using one of the newer initialization systems while still launching some of your services using the older rc#.d scripts. If so, you should notice a dramatic improvement in boot time for any server which uses either of the new systems.
The reason that system using Upstart or systemd might continue to run SysVinit is that daemons need to be patched to work with the new initiation processes. For most services that start when you are running an Upstart or a systemd based distribution, this will be done already. The services that install with or get added to your system will already know how to work with the new boot methodology.
Of the two contenders for Linux booting, systemd appears to be in the lead. It is the later of the two to emerge. Both Upstart and systemd share some of the same advantages -- much faster boot times, and less dependency on starting processes in a particular order.


















