Startup time

I'm currently reading 'The Human Interface' by Jef Raskin where he notes that users are wondering why computers / operating systems take so much time to boot up. Of course I know that before I read the book, since I'm a computer user, too. But it was a good trigger.

Since Jnode is a new operating system I think we should address the startup time issue. I think of this as a long term goal and it might therefore be useful to include it on the performance page. (When talking about startup time I mean the time it takes Jnode itself to come to a state where it accepts user input. This period of time starts when the BIOS has loaded Jnode and initialization is started and ends when a shell prompt or a login screen is displayed.)

How can startup-time be reduced? Of course I don't know much about the internals of Jnode yet, but I think there are two possible ways to reduce startup time.

1. Jnode uses an image file that contains an image of the VM. Maybe it could be possible to add as much precompiled state into that image. E.g. if an IDE plugin needs to be loaded every time, an instance of it should already be contained in the image. Furthermore the instance should have already been initialized (maybe can be done in the constructor). Of course the plugin still has to detect the actual devices or whatever during startup, but I think / hope that this can reduce startup time nonetheless.

2. Plugins should be initialized lazily. I don't really know how this is currently done in Jnode. I think all plugins are loaded at startup. Maybe in a later version this can be changed so that plugins are only loaded when someone wants to use them or so ...

The purpose of this topic is to point at the startup time issue. I think the success of Jnode heavily depends on its usability. I also don't expect the issue to be solved in the next release. (Simply because I won't have time to look at the Jnode code until then, but I have it on my agenda and in 3-6 months ... Eye-wink )

Any comments appreciated.

Sebastian

I agree - Developers needed

I agree with you that startup time is a very important figure for the perception of a user. So let's make it as short as possible.

In the mean time, we need more active developers, since there are too many open issues and too little developers.

Ewout

Open Issues

I'm planning to start working on a Look and Feel for Jnode over christmas. When I finished it I might have a look at other GUI issues. (The wanted forum still lists the font renderer and Graphics2D implementation.)

If there are any other things that you think are more important than the GUI stuff, please tell me.

Sebastian