From owner-freebsd-chat Sun Oct 12 18:42:13 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id SAA05668 for chat-outgoing; Sun, 12 Oct 1997 18:42:13 -0700 (PDT) (envelope-from owner-freebsd-chat) Received: from obie.softweyr.ml.org ([199.104.124.49]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id SAA05662 for ; Sun, 12 Oct 1997 18:42:04 -0700 (PDT) (envelope-from wes@xmission.com) Received: (from wes@localhost) by obie.softweyr.ml.org (8.7.5/8.6.12) id TAA08173; Sun, 12 Oct 1997 19:46:02 -0600 (MDT) Date: Sun, 12 Oct 1997 19:46:02 -0600 (MDT) Message-Id: <199710130146.TAA08173@obie.softweyr.ml.org> From: Wes Peters To: sfuqua@pulsar.cs.wku.edu (Stephen Fuqua) CC: chat@freebsd.org Subject: FreeBSD for Operating Systems Course In-Reply-To: <199710120351.WAA09609@pulsar.cs.wku.edu> References: <199710120351.WAA09609@pulsar.cs.wku.edu> Sender: owner-freebsd-chat@freebsd.org X-Loop: FreeBSD.org Precedence: bulk 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