From: philip@cs.vu.nl (Philip Homburg)
Subject: Re: Is MINIX much better than LINUX?
Organization: Fac. Wiskunde & Informatica, VU, Amsterdam
Date: Sun, 13 Dec 1992 12:29:53 GMT

In article <1992Dec12.090926.28084@klaava.Helsinki.FI> torvalds@klaava.Helsinki.FI (Linus Torvalds) writes:
%In article <1992Dec12.034538.14723@netcom.com> sjs@netcom.com (Stephen Schow) writes:
%>I need some reasons for buying minix versus just getting linux for free.
%>Anyone got any concrete ones.  I won't really be doing any commercial things.
%>I just want to get through my BSCS, where all of our programming has to be 
%>on UNIX machines.  
%
%Can't pass on this one... The simple answer is a resounding NO.

No, there is no simple answer. If I had the chance, I would certainly buy
Minix (of course I got Minix for free).

%There are two circumstances when you may find minix better:
% - studies with the book: minix documentation is better, and if you are
%   reading the Tanenbaum book, minix will naturally be closer to what is
%   covered in the text. 

I agree, if you want to understand an operating system, start with Minix.

% - if linux won't run on your hardware (ie PS/2 or any non-386
%   hardware, or <2MB memory).
%
If your hardware doesn't run linux, linux simply isn't an option.

%Linux has all the features that minix has (except minix-specific things
%like amoeba support), as well as a lot of features minix doesn't have:

Amoeba support is almost removed since Amoeba moved on to a new protocol
which is not implemented under Minix and probably will not be implemented.

% - a real mm taking advantage of the 386 features.  Virtual memory,
%   demand-loading, shared pages, the works.  There seem to be patches
%   for some of this to minix as well, but I haven't heard how well they
%   work. 
% - multithreading filesystem.  'Nuff said.  Available in a limited form
%   for minix as a cludge. 
% - better buffer cache handling. The cache grows/shrinks dynamically
%   with memory consumption.
% - virtual filesystem layer: you can have several different fs's active
%   at once.  The current standard filesystems are: minix (old 1.5 type),
%   extended (255 char filenames, 4GB partitions), msdos, proc (for
%   process information), isofs (CDROM filesystem) and NFS client fs.
% - floating point support (ie you can use your coprocessor if you have
%   one - the kernel makes sure processes don't mess with each others
%   state)
% - coprocessor emulation (so that you can ignore the lack of coprocessor
%   if you don't mind the performance hit)
% - netowrking support with tcp/ip and NFS (SLIP is in the works)
% - pretty much 100% POSIX and features from both sysv and bsd worlds:
%   porting most stuff is mostly very simple. 
% - X11 and most GNU software, as well as a lot of other free software
%   out there.
% - shared libraries, so X11 binaries don't take up all your disk space..
% - Active support (me + probably several thousand activists: c.o.linux
%   has been on the top-40 lists of most active newsgroups for the last
%   couple of months).
%
%And a lot more...

Of course these features are also offered by the Unix that runs on the
computers at your university, and mostlikely, the computers there are
also faster and otherwise better equipped than your computer at home.
(At least the computers at my university are).

Now, if you only want to write programs using existing tools, you should
look for Solaris 2.1 or SVR4 (maybe your university can get a site license,
including machines at home), Linux or 386BSD (or BSDI), and finally
Minix or Coherent.

On the other hand, you are interrested in kernel hacking, Minix is a much
better choice, since it is much smaller and easier to understand. And
most important, since it lacks all the features mentioned by Linus, you
actually do something useful.

For instance, I implemented a VM, TCP/IP, and ported X11R5, other people
contributed symbolic links, longer filenames (60 characters), 386 support,
387 support.

Of course, the fun was in writing these (important) parts of an O.S., 
otherwise I would run SVR3.2.2, or SVR4. The next project would be a
rewrite of Minix into a true distributed OS like Amoeba or Mach :-) :-)

So, in short if you want a simple system you can understand try Minix,
if you want complete system try Linux.



						Philip



Philip Homburg 			   			<philip@cs.vu.nl>
Vrije Universiteit / Dept. of Math. & Comp. Sci.	+31 20 5483546
Amoeba project / De Boelelaan 1081A
1081 HV Amsterdam / The Netherlands
Newsgroups: comp.os.minix