On Mon, Apr 15, 2013 at 11:21:00AM -0500, Yaro Kasear wrote: > [systemd] has a concurrent startup, meaning it brings a system up and down > *very* quickly by starting independent units at the same time. > Standard SysV init generally cannot do this, though it's hard to > account for how initscripts will work, but I've not seen many > distributions try and fashion a fully concurrent init system through > init scripts.
Both Debian and SuSE use insserv to build a dependency graph of the script relations, and startpar to run the scripts in the correct order by traversing the graph; this can (and does) enable proper parallelisation. > OpenRC allegedly also has concurrent startup, but when > using it on Gentoo I've never seen it boot as fast as systemd brings > up Arch. While OpenRC can certainly start things in parallel, its design involves local recursion to solve dependencies by iteratively invoking dependencies, and checking whether or not a given service is started. This has the virtue of simplicity, but some things are not possible (inverse dependencies such as X-Starts-Before) [or more accurately are extremely expensive since you would have to evaluate every script's deps at every point] since there isn't a "global" overview--you're traversing the graph node by node without being able to see anything except the edges at that one node. In general, the OpenRC design is nice, but being able to introspect all the dependencies once rather than repeated evaluation would be a very nice improvement. Automatic startup of dependencies is great, and one thing LSB scripts don't currently do. Regards, Roger -- .''`. Roger Leigh : :' : Debian GNU/Linux http://people.debian.org/~rleigh/ `. `' schroot and sbuild http://alioth.debian.org/projects/buildd-tools `- GPG Public Key F33D 281D 470A B443 6756 147C 07B3 C8BC 4083 E800 -- To UNSUBSCRIBE, email to debian-user-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20130416215723.gd1...@codelibre.net