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.
Micro History
Re:Micro History
Nope. MINIX was written as a microkernel because the author felt that microkernels were the best designs.
Re:Micro History
Because the CPUs today are faster than those in the 80ies by a factor of 1000 and more...OSMAN wrote: Nowadays I can simply make a single binary file of the whole kernel in two seconds.
Every good solution is obvious once you've found it.
Re:Micro History
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?)
(does anyone get what I mean?)
Re:Micro History
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.
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
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
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