[comp.os.minix] minix good and bad

dan@sun.UUCP (01/29/87)

Last night I attended a talk that Andy Tanenbaum gave here in Silicon
Valley about Minix, and I bought the book.  It is an impressive effort
and I can hardly wait to get the system.  Unfortunately the floppies
won't be ready until March.

The other unfortunate thing is that minix is not quite what you might
think.  You can't really remake it from itself because of three problems
with the compiler.

1.  The compiler source is not included.  The compiler source is owned
by Unipress which charges lots of money for it.  Andy said that they
are considering a low-priced deal for individual use, but they would
only ship the compiler-compiler output.  Sort of like getting a un*x
compiler with YACC output, but not YACC or the YACC input.

2.  The compiler was not used to build minix.  Andy used the PC-IX
compiler which produces code that is 15% smaller and faster than the
minix C compiler, so if you recompile anything it will be bigger and
slower.

3.  The minix compiler can't do split I and D space.  Actually, I 
think the problem is in the minix assembler.  Whatever, this is a
problem since some of the programs need it.  For example, the minix
editor is like emacs but has lots of idiosyncratic key bindings that
long-time emacs users will find impossible to live with.  However,
if you change the code (there is no bind-to-key) and recompile, the
result will not be split I and D, so you will be constrained to edit
much smaller files. 

The bottom line is that minix is still an impressive system, but to
really remake it you have to get PC-IX.

brian@prism.UUCP (02/02/87)

Re:Compiling MINIX Operating system:

Microsoft has version 4.0 of their C compiler, which among other things
professes to support ROMable code (i.e. no requirement for MSDOS - you
rewrite the startup environment (crt0...) which is not that hard), and 
the compiler also promises 99 44/100 % pure separation of code and data.
I bet the compiler could be useful for Compiling the MINIX source, but 
then you'd need to SYSGEN (gosh, remember those days?) disks in the MINIX
format.  Anyone care to comment?

Oh, and if MINIX takes off, can you imagine having a front end that
emulates MSDOS for MINIX, so we can run "all the important applications" 
(look what Microport did with SVR3 and msdos hybrid)? 1/2 :-)

Of course, Assembly language hackers can come up with macros (for say,
MASM 4.0 under MSDOS) that would support the minix environment, but then
again, there is the bootstrap issue.

I would imagine that the best way to proceed would be to Get minix, make sure
it runs on your machine, then write a MINIX application using the MSDOS
facilities (C, MASM), bring your code over to MINIX with the Readdos (or 
whatever Andy calls it -- I heard him mention it at the Usenix BOF), and 
try it out.  If you can get the calling conventions right with an application,
then it would be reasonable to try some lower level stuff.

Of course, you could buy two pyramids, and do MINIX development :-).

 
----
Brian K. Moran  brian@mirror.TMC.COM	
               {mit-eddie, ihnp4!inmet, wjh12, cca, datacube}!mirror!brian
Mirror Systems	2067 Massachusetts Avenue  Cambridge, MA, 02140
Telephone:	617-661-0777 extension 141

"Won't somebody tell me, just who and what I did...
 Why's this ring on my finger, and who's that screaming kid? " 
   From "Lost Weekend" by the Beat Farmers
---