Sunday, May 22, 2005

Graduation

This wednesday was my graduation ceremony. Royal Albert Hall was full of graduates in London. It was an interesting afternoon. After the ceremony I went on a vacation for 3 days with my mother. On the way through the Portsmouth - Brighton - London triangle, I had occasional breaks to do some reading.

Maintanence of OS configurability is fairly important, especially in an embedded system where high configurabiity is necessary. This further reflects into performance/size and correctness. The way L4 source base handles this is that, it is divided into several conceptual dimensions, such as the architecture, the api used etc. L4 source base is seperated into various files depending on these differentiating dimensions, and the build system can pick appropriate member functions of objects depending on these dimensional variables. However this produces duplicates in these seperated files if there are common functions/fields for all architectures. Another approach to this is to use preoprocessor help as in eCos. But this makes the code significantly harder to follow, and also one must take care of 2^hundreds of compiled combinations of code. I think this will be the biggest trouble eCos developers will face as the time goes by. So what they experiment in L4 is MI + class flattening to get rid of virtual function overheads. By MI all these dimensions are represented in class-level, and thus the job is left to the compiler rather than makefiles. In my opinion MI would solve lots of issues in the code complexity, because the compiler works much more succinctly and precisely compared to a build script, but I'm not sure if class flattening would be the ultimate solution for vtables. There must be a solution though, as noone would want maintainable but slow code (well, I wouldn't at least). I'll look into that later. Configurability interests me a big deal, and I think one must see the eCos build process to see the point. The post I meant to make quite short has in fact become one of the longest.

0 Comments:

Post a Comment

<< Home