Paralell startup

Michael Favia michael at insitesinc.com
Thu Oct 21 05:39:00 UTC 2004


My quick 2 cents:

The goal of a parallel startup is to plunge the user into the graphical 
login as quickly as possible while the remaining daemons continue 
starting in the background. This gives the feel of a faster startup and 
in reality does just that with limited functionality as remaining 
services come to life.

To this end i would create a tree style dependency graph (gantt like) of 
services as they are installed on the system. Services can specify that 
they "require" a particular service to be started or simply "request" 
that a previous daemon be started before it is started (in the first 
case the current service wouldnt be executed if the dependent failed in 
the second it would with supposed partial functionality). Every daemon 
on the tree should be started eventually but particular ones could be 
fast forwarded by adding them to a specialized queue. The queue is 
sorted FIFO style and its dependents are added to an independent FILO 
stack that starts only those services required to get you to the point 
at which the queued service can run (utilizing parallel startups where 
possible of course).

In the event a service fails the user should be notified and any service 
that "requires" it shouldnt be started but any service that "requests" 
it should be with partial functionality. Am i making any sense to other 
people or am i way off base? This allows you to get into a "working" 
environment as quickly as possible while also starting the remaining 
services as efficiently as possible. Feedback always welcome.

--mf




More information about the devel mailing list