September 12, 2005

The Micro-kernel Approach to Developing Standards

Mark Little asks an interesting question:

What is more productive? The micro-kernel or macro-kernel approach to developing working standards.
Posted by Jorgen Thelin at September 12, 2005 03:38 PM - [PermaLink]
Hi, In my opinion, the best answer to such questions is "it depends!". Definitly, the granularity you choose (micro or macro) depends on your objective and what definition of productive you have ... If you consider the completion time of the development of a standard, the macro-kernel approach may fit well because developing micro-kernels and extensions from scratch requires a lot of energy. A micro-kernel requires also more architectural considerations in order to be extensible... that means a lot of work. But if you are not starting from scratch, I think that micro-kernels could quickly become interesting because of the reuse of legacy components. We are investigating the development of standards (and software at large) with a micro-kernel approach. This approach allows us to builds implementations of various standards (e.g. transaction standards) and tools for these standards (e.g. administration console) by reusing a majority of the code independently of the considered standard. That means we just have to tune the micro-kernel to the specific needs of the standard. The tuning task reduces the completion time of developments if your micro-kernel fits to the standards need and if your are familiar with the micro-kernel ... these are 2 conditions that motivate people to to choose the macro-kernel approach. Regarding the performance of the resulting implementation, a macro-kernel would provide better performances than a micro-kernel in the majority. But the micro-kernel would provide adaptability, modularity, extensibility as added values... Here are my 2 (academic) cents ... Best Regards Posted by: Romain Rouvoy on September 14, 2005 12:52 AM