[haiku-development] What currently sucks about the boot CD

  • From: Stephan Assmus <superstippi@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Wed, 22 Apr 2009 22:47:11 +0200

Hi guys,

1) We are not doing any pre-fetching when reading from disk.
2) We map executables lazily.

The second point is obviously a feature and should increase launch speed 
for larger apps a lot. However, in combination with the first point, the 
disk access patterns result in something really bad when booting from CD. 
Most likely it's even true when booting from a harddisk, just not so much 
noticable. I think what happens is that the Bootscript launches a lot of 
servers "single threaded", ie it waits for certain threads to be there 
before it continues with the next server. But as soon as the execution of 
some code in a previously launched server requires additional disk access, 
because it is loaded lazily, the disk access becomes heavily 
multi-threaded, and the CD drive really doesn't like it. This should 
explain why one can hear the head going forth and back like crazy, even 
though our executables should not be fragmented at all.

3) The MIME database is not initialized by the build system.

We currently work around this with the post-install scripts and this works 
fine for harddrives and building Haiku from source onto a partition. 
However, especially for the Live-CD experience, this sucks badly. It should 
also result in the write-overlay having to hold much more data than it 
would have to otherwise. Not to speak of the additional delay.


All of this should not stop us releasing the alpha, IMHO, but maybe it's 
interesting to discuss this anyways (I may have come to wrong conclusions), 
and maybe someone feels motivated to implement pre-fetching at least.

Best regards,
-Stephan

Other related posts:

  • » [haiku-development] What currently sucks about the boot CD - Stephan Assmus