Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!decvax!ucbvax!cbatt!ihnp4!cuae2!usenet
From: use...@cuae2.UUCP
Newsgroups: mod.os.unix,mod.newprod
Subject: UNIX CLONE WITH SOURCE CODE AVAILABLE
Message-ID: <6326@cuae2.ATT.COM>
Date: Mon, 22-Dec-86 14:33:21 EST
Article-I.D.: cuae2.6326
Posted: Mon Dec 22 14:33:21 1986
Date-Received: Tue, 23-Dec-86 04:39:45 EST
Sender: use...@cuae2.ATT.COM
Reply-To: a...@cs.vu.nl (Andy Tanenbaum)
Organization: VU Informatica, Amsterdam
Lines: 97
Approved: use...@cuae2.UUCP

[This article was submitted to mod.os.unix.  I believe it likely to be of
interest to mod.newprod readers, too.  So, since I moderate both, I'm
cross-posting it.  RWH]

I have recently finished rewriting UNIX from scratch. This system, called MINIX,
does not contain even a single line of AT&T code, so it can be distributed with
source code.  It runs on the IBM PC, XT, and AT and those clones that are 100%
hardware compatible (not all, unfortunately).  To the average, unsophisticated
user, using MINIX is indistinguishable from using V7 UNIX.  Experts will notice
that some relatively less commonly used programs and features are missing.

MINIX FEATURES:

  - System call compatible with V7 UNIX (except for a couple of minor calls)
  - Kernighan and Ritchie compatible C compiler is included
  - Shell that is functionally identical to the Bourne shell is included
  - Full multiprogramming (fork+exec; background jobs in shell:  cc file.c & )
  - Full screen editor vaguely inspired by emacs (modeless, autoinsert, etc.)
  - Over 60 utilities (cat, cp, grep, ls, make, mount, sort, etc.)
  - Over 100 library procedures (atoi, fork, malloc, stdio, strcmp, etc.)
  - Supports a hard disk, but also works quite well with just floppies
  - Contains programs to read and write MS-DOS diskettes
  - Full operating system source code is included
  - Source code for all the utilities (except C compiler) is included
  - System will recompile itself (requires 640K and 2 floppies or 1 hard disk)
  - C compiler source is available as a separate package
  - Kernel organization radically different from UNIX and much more modular
  - Software is not copy protected

Furthermore, I have written a 719 page book telling you everything you ever
wanted to know about operating systems in general and this one in particular.
The book contains the manual pages, an appendix describing how to recompile the
system from the sources supplied, a full source code listing of the operating
system (253 pages), and a cross reference map.

The software is available in 4 packages (book is separate):
  - Box of eight 360K diskettes for 640K IBM PCs (512K is sort of ok too)
  - Box of eight 360K diskettes for 256K IBM PCs (no C compiler)
  - Box of five 1.2M diskettes for the IBM PC-AT
  - 9 track industry standard tape (1600 bpi, tar format)

All four distributions contain the full source code, about 54,000 lines,
(kernel + utilities, except the compiler), virtually all of it in C.  The 
source code for the C compiler is also available separately (as described 
in the book).  The C compiler is NOT based on pcc at all.  It is based on 
ACK (see Communications of the ACM, Sept. 1983, pp. 654-660).  The following
programs are included, among others.  Like the kernel, these have all been 
rewritten from scratch by me, my students, people I paid to write them or in 
a small number of cases, were donated by other people to whom I am grateful:

   ar basename cat cc chmod chown cmp comm cp date dd df dosread echo
   grep gres head kill ln login lpr ls make mkdir mkfs mknod mount mv 
   od passwd pr pwd rev rm rmdir roff sh shar size sleep sort split stty
   su sum sync tail tar tee time touch tr true umount uniq update wc 

     The book and software are being sold by Prentice-Hall.  They are NOT
public domain.  However, the publisher does not object to people making a
limited number of copies of the software for noncommercial use.  For example
professors may make copies of the software for their students. Universities
may exchange modified versions. You may make a few copies for your friends etc. 
If you want to port the software to other CPUs and sell it, you need permission
from Prentice-Hall, but they will not be unreasonable.  To acquire the software,
go to any bookstore and ask them to order the book for you:

Title:      Operating Systems: Design and Implementation
Author:     Andrew S. Tanenbaum
Publisher:  Prentice-Hall (Jan. 1987)
ISBN:       0-13-637406-9

In the book you will find a postcard that you can use to order the software.
Please don't ask me for the software.  I have already spent approximately 8000 
hours over the past 5 years writing it; I don't want to spend the next 5 years 
duplicating floppy disks.  The book costs about $35.  The software is $79.95 per
set, including the source code.  I hope most people will consider $79.95 for the
binaries and sources of something almost functionally equivalent to UNIX as
being reasonable.  I know of no other software package where you get 54,000 
lines of source code for this price.  As bugs are reported, I will send Prentice
Hall new disks, so that the version they sell will remain up to date.  (This
also provides some incentive to buy rather than copy.)

     For those of you going to USENIX or UNIFORUM in Washington, D.C.
January 20-23, Prentice-Hall will have a stand at the show where you can
play with the software.  You can also buy the stuff there, but since the P-H
people drive to Washington in their own cars, they have a limited carrying
capacity and they are only taking 50 copies, so get there early the first day.

     If anyone is interested, we could set up a newsgroup comp.os.minix to
discuss minix, report bug fixes, distribute updates of individual files etc.
This letter is being multiply posted to several newsgroups.  I propose that
the initial discussion take place in comp.sys.ibm.pc (subject: MINIX) to avoid 
having it spread all over the place.  Besides, the only other newsgroup I read
is mod.recipes.  I don't think the moderator will go for floppy disk with 
Hollandaise sauce.

Andy Tanenbaum, Vrije Universiteit, Amsterdam
(mail to mi...@cs.vu.nl; if your machine doesn't know where nl is 
[The Netherlands], try mi...@vu44.uucp, but that will vanish soon)