On to better booting

By  

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.

Follow Sandra on Google+

Sandra Henry-Stocker has been administering Unix systems for more than 25 years. She describes herself as "USL" (Unix as a second language) but remembers enough English to write books and buy groceries. She currently works for TeleCommunication Systems -- a company that builds innovative technologies to make critical connections happen -- where no one else necessarily shares any of her opinions. Send comments and suggestions to bugfarm@gmail.com.

Join us:
Facebook

Twitter

Pinterest

Tumblr

LinkedIn

Google+

Answers - Powered by ITworld

Ask a Question