Page 1 of 1
Micro History
Posted: Wed Oct 12, 2005 1:32 pm
by OSMAN
Hello.
I was thinking that MINIX took very long to compile in 1980's. Is that why Andy constructed it of seperate modules( object files ) which could be compiled without depending on each other? (Of course depending, but you got it!)
Nowadays I can simply make a single binary file of the whole kernel in two seconds.
Re:Micro History
Posted: Wed Oct 12, 2005 1:46 pm
by Crazed123
Nope. MINIX was written as a microkernel because the author felt that microkernels were the best designs.
Re:Micro History
Posted: Thu Oct 13, 2005 12:30 am
by Solar
OSMAN wrote:
Nowadays I can simply make a single binary file of the whole kernel in two seconds.
Because the CPUs today are faster than those in the 80ies by a factor of 1000 and more...
Re:Micro History
Posted: Thu Oct 13, 2005 9:16 am
by OSMAN
I didn't mean that way... BTW what did I actually mean? Of course he could have constructed a micro kernel with one binary file, but I think he did it with many object files because then he could compile just what he modified; not the whole code, because of that slow CPU. I'm repeating this explanation... great.
(does anyone get what I mean?)
Re:Micro History
Posted: Thu Oct 13, 2005 9:44 am
by durand
Do you mean compiling each .c (or whatever file) into an object file (.o?) and then doing linking into a single binary later?
And that's as opposed to compiling all .c files directly into a binary?
Well... I guess that's kind of a preference. It does make more sense to compile each source code file into a compiled unit and then link later. It saves time and does not waste CPU to compile again. Plus you have more control over how everything gets compiled, processed and linked.
Maybe speed and time was his reason? It would make sense.
Re:Micro History
Posted: Thu Oct 13, 2005 12:25 pm
by gaf
Hello,
quite frankly I don't think that Tanenbaum has wasted a lot of time thinking about compilation-time when designing MINIX. After all the kernel only has to be rebuild rather seldomly which makes optimization less important. Nevertheless you're of course right that a modular code design helps to cut compilation time drastically as it reduces cross-references and keeps the code local. It's however just not the most important advantage..
regards,
gaf