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 fedora-devel-list
mailing list