[comp.os.minix] Tenants of the house

cwr@pnet01.cts.com (Will Rose) (02/07/91)

Future of Minix.
 
I use Minix to learn about OSs in general, and unix in particular.  I run
CP/M, MSDOS, Minix, and SVR2 side-by-side and the comparisons are interesting.
 
I started learning with CP/M 2.2, and having understood roughly how it worked
from the user's point of view, went on first to rebuild the system from source
(I was actually running an enhanced clone called ZCPR 3.3), and then to 
modify it.  The advantage was that the OS was simple enough and small enough
for one to keep the whole thing in mind at once; it was clear how each part
contributed to the whole.
 
By contrast, when I started using MSDOS I had a completely different attitude:
I used it (and still do) simply as a platform for application programs such
as word-processors, spreadsheets and communications.  I didn't want to know
much about the OS itself (and I still don't), tho' I've got quite expert in
the applications themselves.
 
With Minix, I'm back to the CP/M approach (and to the 64K TPA... almost!).
I ran the system out of the box, then recompiled it, then started tinkering.
The difference is that one can't keep all the code in mind at once; but one
can certainly cope with major subsystems, and it is after all a modular OS.
 
SVR2 is different again (tho' it still has no on-line manuals...). There, with
no source code, I take what the OS gives me and hope it works.  It is possible
to modify the OS, but it is by no means easy; I don't yet trust myself to do
so.  The filesystem contains hordes of obscure and largely undocumented data
files which store the settings for particular operating parameters; these
can be updated reliably only via the standard, rather slow tools.  SVR2's
advantages to me are firstly the ability to run larger programs such as the
SC spreadsheet, and secondly proprietary programs such as lint.  If I could
find a troff for the HP Laserjet, I'd run that too.
 
The bottom line is that for a learning tool, Minix probably shouldn't get
much more complicated.  Better applications would be nice; uucp and mail
are RSN, mroff might be the formatter, can we upgrade Kermit, where's the
spreadsheet?  But these don't affect the OS core which students would use;
they just make it less necessary to use another OS for some jobs.  So the 
things I would like to see are additional device drivers such as SCSI and
TCP/IP; things like the improved scheduling that's been discussed would be
nice if they can be done without major changes.  Profiling, a debugger and
a version of lint, together with adherence to standards such as POSIX and
ANSI about fills the list.  A better C compiler and a Modula II compiler
are on my personal wish list, since I'm interested in languages, but they
are of lower priority as far as Minix itself is concerned.
 
In sum, if you want a medium-sized, powerful unix your best bet is to buy
a second-hand Unix-pc or a new Amiga 3000, or build something around a
68000/386 Minix and the GNU compiler and tools.  I think the standard 
release of Minix needs to stay relatively small and simple for learning
purposes.  This does not preclude (indeed it increases) the need for
reliability, standardisation, and effectiveness within its domain.
 
Will

-----------------------------------------------------------------------
"If heaven too had passions  | Will Rose
     even heaven would       | UUCP: {nosc ucsd hplabs!hp-sdd}!crash!pnet01!cw
     grow old."  -  Li Ho.   | ARPA: crash!pnet01!cwr@nosc.mil
                             | INET: cwr@pnet01.cts.com


UUCP: {nosc ucsd hplabs!hp-sdd}!crash!pnet01!cwr
ARPA: crash!pnet01!cwr@nosc.mil
INET: cwr@pnet01.cts.com