Friday, November 30, 2007

mod-boot

Recently I had an interesting idea to improve boot speed on FOSS operating systems. I'll give some basics here, and then sometime maybe I'll add some more details on my website.


It started some time ago when I was reading all the Fedora stuff that was being planned and/or thought about, and something struck me as very interesting: Early GDM. Basically, the idea was that, instead of starting all the services needed for a runlevel during boot, you only run what's absolutely needed for GDM, and then once GDM and X.org is up finish with the other stuff.


I thought that was a brilliant idea, since it could lead to really short boot times. So I thought about it, and my idea is to have init start a C program with different command line options depending on the runlevel init wants, and then the C program would be in charge of running various daemons and configuration scripts asynchronously with a dependency system so that the user can configure with a configuration file what the goal daemon is. What I'm thinking of then is a directory for each runlevel, and all the scripts in each runlevel are analyzed for dependencies and a viable parallel execution order is run using forks and pipes. I'm not sure how backward compatibility will work (since every vendor has their own system... *groan*...), but I think something could be gimmicked with links since I'm not replacing init itself.


I've already designed a simple algorithm to determine the execution order, but I'm still attempting to optimize it so that it will work in parallel for performance reasons (especially now that all the major vendors have 4-core processors).


Tell me what you think.

1 comment:

Voyagerfan5761 said...

I like this idea! So much so, I even blogged about it. :) Congratulations on being post #300!