Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Oct 1997 19:46:02 -0600 (MDT)
From:      Wes Peters <softweyr@xmission.com>
To:        sfuqua@pulsar.cs.wku.edu (Stephen Fuqua)
Cc:        chat@freebsd.org
Subject:   FreeBSD for Operating Systems Course
Message-ID:  <199710130146.TAA08173@obie.softweyr.ml.org>
In-Reply-To: <199710120351.WAA09609@pulsar.cs.wku.edu>
References:  <199710120351.WAA09609@pulsar.cs.wku.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
Stephen Fuqua writes:
 > I'm writing a short paper as part of my MS comparing BSD with Linux and
 > Minix for use in an undergraduate operating systems course.  The idea
 > would be to compare these systems in terms of using them for a class some
 > C programming and some simple kernel programming exercises like adding a
 > pseudo device or a "do-nothing"  system call, and some code reading. 
 > 
 > At this point I see one big difference between Minix and the other two
 > systems, Minix's source code is tiny compared to BSD or Linux. The author
 > has intentionally kept it simple. Minix also differs in that it is a
 > microkernel.  While minix is less intimidating in terms of size, finding
 > ones way around the Linux and BSD source is pretty easy too.  Other than
 > size, I've run some different complexity measures on the code in all three
 > systems, and it doesn't look like I'm going to find any significant
 > differences in the amount of comments, length of functions, cyclomatic
 > complexity, etc between the three, despite what one might expect based on
 > their backgrounds.  All three are easy to install on supported hardware
 > for people who read directions; Linux(Redhat) and BSD(Freebsd) are have
 > colorful, easy to follow menu based install programs.  While people have
 > ported some of software to Minix -- both Linux and BSD come with huge
 > selections of easily installed, ported software.  There is no great
 > difference in performance between BSD and Linux.  Minix is the only choice
 > for people stuck with 286's, both BSD and Linux run on a huge variety of
 > pc hardware for 386's on up.  While it is difficult to find hard numbers
 > -- it appears that clear Linux has the largest user base, BSD is second,
 > and Minix last.  Minix comes with an excellent textbook.  Linux has a
 > wealth of documentation for beginners, but this documentation is uneven in
 > quality. BSD has the best in depth, advanced documentation, the system
 > manuals from O'Reilly, the _Source Code Secrets_ series, and the _Design
 > and Implementation_ book.  Both BSD and Linux are full fledged varieties
 > of Unix, capable of holding their own against commercial versions of Unix.
 > Users who have experience with System V may feel slightly more at home
 > with Linux, while FreeBSD *is* BSD unix.
 > 
 > Have I missed anything, or been unfair anywhere? 
 > steve fuqua

At first blush, your summation seems fair.  Lets lay it out in table
form and see how they stack up.  I'll add any I think of at the end of
the table.  You can then apply weighting as you see fit; I'll suggest
some, based on various criteria.


Feature				FreeBSD		Linux		Minix

Small code size							  *

Easy install			  *		  *

Software selection		  *		  *

Performance			  *		  *

Textbooks			  ***				  *


So far, we've got Minix with small code size and a textbook available.
Linux gets points for easy installation, software selection, and
performance, all attributes it shares with FreeBSD.  FreeBSD I gave
three stars for textbooks because of the number and quality of the
textbooks available.  I did not give Linux a star in the category
because I am not aware of a textbook quality treatise on the design of
the Linux kernel, suitable for an advanced undergrad OS course.  FreeBSD
gets three due to the "Design..." book, the Stevens TCP/IP series, and
the O'Reilly and Dr. Dobbs series.  I could probably come up with more
if you want, but I think you see my point:  FreeBSD is more suitable for
study than Linux because more textbooks have been developed around it
(and its parents, of course).

And, for my contribution:

Programming languages		  ***		  **

Linux gets two stars because it supports most of the "important"
languages, including (of course) C and C++, Lisp, Perl, Tk/Tcl, etc.
FreeBSD gets three stars because it supports most languages of any type,
including Modula-3, Fortran, Ada, Sather, Eiffel, etc.  I realize that
many of these can perhaps be made for Linux without too much effort, but
this effort has already been done on FreeBSD, which seems to be the UNIX
of choice for language people these days.  Or at least the FREE UNIX of
choice.  Minix, last I checked, has C and as.  (Bleh!)

As you can see, Linux would be a good choice from an operational
standpoint, and Minix from a class textbook standpoint, but FreeBSD
excels at both.

I welcome contrasting viewpoints, not that I'm likely to find any here.

-- 
          "Where am I, and what am I doing in this handbasket?"

Wes Peters                                                       Softweyr LLC
http://www.xmission.com/~softweyr                       softweyr@xmission.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199710130146.TAA08173>