[comp.sys.atari.st] Minix

ast@botter.cs.vu.nl (Andy Tanenbaum) (01/11/87)

First, I would like to apologize if I over-crossposted.  I haven't posted much
to the net before, so I may have done things wrong.  I was under the impression
that if one sends to multiple groups it cross posts them in such a way that
each reader only gets the message once, even if the reader subscribes to all 
of them.  If I am wrong will somebody please tell me how to do it (by mail).
It is also possible that I messed up.  Furthermore, we were having news and
mail problems at the time, which may have contributed.    It was my intention
that a lot of people see it once, not that a few people see it many times.

As to being commercial, that's true I guess, but since I am supplying 50,000
lines of source code without copy protection  for $79, and I don't mind a 
limited amount of copying of the binary and source code, it is not in the same 
league as normal PC software in terms of the owners zealously guarding both 
binaries and sources.  In fact, it is probably somewhat closer to the Free 
Software Foundation's way of doing things (also copyrighted) than to Lotus.  
I assumed (and judging by the response, probably correctly) that there would be
a fair amount of interest.  Sorry if I offended people.  

Maybe it would be best to set up comp.os.minix now.  Will everyone who would
want to subscribe to it send me mail.  If there is a sufficient number, I
will ask the local guru how one sets up a new group and try to avoid messing 
that up too.  I will cross post this to various groups, but just stick to 
comp.sys.ibm.pc or comp.os.minix (depending on the reaction) in the future.

Several people have asked me questions whose answers may be of general interest,
so I will post them here.

Q1: Can you have multiple users on a PC?
A1: In theory yes.  The terminal driver has an array indexed by terminal
    number from 0 to some maximum.  At present that maximum is 1, so you
    have to change a constant and recompile the tty driver.  Also, there
    is no RS232 driver (the deadline had a race with RS232 and the deadline
    won).  Therefore such a driver has to be made, but it is quite simple.
    Most of the hooks and handles you need are already there, for example,
    when it is time to output a character on tty n, the driver calls a
    function pointed to by tty_struct[n].tty_devstart, so each terminal
    can have a different routine to actually output the character. In this
    way you can mix various device types.

Q2: How compatible does a machine have to be to run MINIX?
A2: It needs a NEC uD765 chip as floppy disk controller, a Motorola 6845 as
    video controller, etc.  If the hard disk controller is nonstandard, the
    hard disk won't work, but the rest will.  Machines with different I/O
    chips but try to hide this by presenting the same BIOS interface won't
    work.  About a dozen different clones have been tested.  MINIX worked
    without problems on 80% and failed on 20%.

Q3: Can you call assembler routines from the MINIX C compiler in order to
    write drivers for new devices?
A3: Yes.  The C compiler uses the standard UNIX calling convention of pushing
    the parameters onto the stack in reverse order, so there is no problem
    writing bits of a program in assembler.  The assembly language accepted
    by the MINIX assembler is identical to that of PC-IX, the "official" IBM
    UNIX system for the PC.  Assembly routines for reading and writing I/O
    ports are present in the file kernel/klib88.s (port_in and port_out).

Q4: What do you mean it will sort of run on a 512K machine?
A4: It will boot fine and run ok with 512K, but since it doesn't swap, it
    won't be possible to run a lot of background jobs without running out
    of memory.  Also, if you use make, you may discover that make + cc +
    the various passes that get forked off may not fit in core at once, which
    causes EXECs to fail and make to get an error return.  This can be solved
    by changing the amount of stack space allocated to the compiler passes
    using the chmem utility.  (chmem is functionally the same as in PC-IX,
    which works the same way.)  Reducing the stack allocated to compiler
    passes means that some very large programs may not compile.  With a 640K
    system, files > 50K characters have compiled.  With 512K, that limit may
    be lower.

Andy Tanenbaum (minix@cs.vu.nl)

harris@ecsvax.UUCP (Mark Harris) (01/14/87)

In article <1028@botter.cs.vu.nl>, ast@botter.cs.vu.nl (Andy Tanenbaum) writes:
> Q2: How compatible does a machine have to be to run MINIX?
> A2: It needs a NEC uD765 chip as floppy disk controller, a Motorola 6845 as
>     video controller, etc. 

Will MINIX run with an Enhanced Graphics Adapter?  My system has an
EGA/monochrome monitor.

- Mark Harris, Appalachian State University

JEMCCABE@MTUS5.BITNET (12/09/87)

Date:    8 December 1987, 23:28:09 EST
From:    Jim McCabe                                JEMCCABE at MTUS5
To:      INFO-ATARI16 at SCORE.STANFORD.EDU
Subject: Minix

[ ]

Minix will be in the public domain, won't it?

                                       Jim

+-----------------------+------------------------------------+
|  Jim McCabe           |  BITNET:  jemccabe @ mtus5.bitnet  |
|  G31 ECH MTU          |  UUCP:    mccabe2  @ mtuvaxb.uucp  |
|  Houghton, MI  49931  |           mccabe   @ m-net.uucp    |
+-----------------------+------------------------------------+

wolenty@inuxj.UUCP (R Wolenty) (01/07/88)

Could anyone tell me what is the status of the MINIX port to
the ST?

						Ron Wolenty
						ATT Consumer Products
						Indianapolis, IN
						inuxj!wolenty
						

johan@nlgvax.UUCP (Johan Stevenson) (01/08/88)

In article <317@inuxj.UUCP> wolenty@inuxj.UUCP (R Wolenty) writes:
>
>Could anyone tell me what is the status of the MINIX port to
>the ST?

It will be available from Prentice Hall around June 88.
I am wrapping it up right now into a set of diskettes for
reproduction.
A more extensive announcement will follow.

				Johan W. Stevenson,
				Philips Research Laboratories,
				Project Centre Geldrop,
				Building XR, Room 15,
				Willem Alexanderlaan 7B,
				5664 AN Geldrop, The Netherlands.
				phone: +31 40 892205
				uucp: mcvax!nlgvax!johan

hase@cosmo.UUCP (Juergen Seeger) (06/22/88)

I'v installed Tanenbaum's MINIX on an Atari ST. Who has
programs (f.e.: rs232-support), knowledge, experience and so on?
please send to
Juergen Seeger
 ...!unido!uucp!cosmo!hase

jsp@sp7040.UUCP (John Peters) (06/25/88)

In article <1737@cosmo.UUCP>, hase@cosmo.UUCP (Juergen Seeger) writes:
> I'v installed Tanenbaum's MINIX on an Atari ST. 

How did you get it??????  Has Prentis Hall released it??????
Better yet how can I get it???????

					--  Johnnie  --

ast@cs.vu.nl (Andy Tanenbaum) (10/27/88)

MINIX is a new operating system that is system call compatible with V7 UNIX.
Unlike real UNIX, it is available with all the source code, both the kernel
and all the utilities.  The purpose of this message is to announce its
availability on the 68000 CPU, specifically the Atari-ST.  However, since
it should not be too hard to port it to other 68000-based computers (e.g.,
Amiga, Macintosh), this message is being crossposted to a number of newsgroups.
This will be the only announcement outside comp.os.minix.

When MINIX is run on the Atari ST (or MegaST) it replaces the native
operating system (TOS) and turns the computer into a normal UNIX machine.
MINIX has been running on the IBM PC, XT, AT, and many clones, including 386s
for almost two years.  The IBM version is in widespread use all over the world.
The original (IBM) version was written by Andrew S. Tanenbaum.  The Atari port
was done by Johan Stevenson and Jost Muller.  MINIX does not contain even a
single line of AT&T code.  Thus both the operating system and the utilities are
all brand new code.


MINIX FEATURES:
  - System call compatible with V7 UNIX (except for a few very 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 inspired by emacs (modeless, autoinsert, etc.) included
  - Ability to read and write TOS disks
  - Over 90 popular utilities provided (cat, grep, ls, make, mount, sort, etc.)
  - Over 100 library procedures provided (atoi, fork, malloc, stdio, etc.)
  - Works with floppy-only systems or with hard disk systems
  - Full operating system source code (in C) is included
  - Source code for all the utilities (except C compiler) is included


PARTIAL LIST OF THE MINIX COMMANDS:
ar as badblocks basename cal cat cc cem cg chmem chmod chown clr cmp comm  
compress cp cpdir cpp cv date dd df diff diskcheck du echo expr factor 
false find fix fsck getlf grep gres head kill ld ln 
login lpr ls make megartc mined mkdir mkfs mknod more 
mount mv od opt passwd pr printenv pwd readall readfs rev rm 
rmdir roff sh shar size sleep sort split stty su sum 
sync tail tar tee test time tos touch tr treecmp true 
umount uniq update uudecode uuencode wc 


PARTIAL LIST OF THE MINIX LIBRARY:
abort abs access alarm atoi atol bcopy brk call chdir chmod chown chroot 
cleanup close creat crypt ctime ctype doprintf dup dup2 exec exit fclose 
fflush fgets fopen fork fprintf fputs fread freopen fseek fstat ftell 
fwrite getc getegid getenv geteuid getgid getgrent getpass getpid getpwent 
gets getuid gtty index ioctl isatty itoa kill link lseek malloc mknod
mktemp mount open pause perror pipe popen putc puts qsort rand read 
regexp regsub rindex scanf setbuf setgid setuid signal sleep sprintf stat 
stime strcat strcmp strcpy strlen strncat strncmp strncpy stty sync 
system termcap time times umask umount ungetc unlink utime wait write 


NEWSGROUP
There is a USENET newsgroup, comp.os.minix, concerned with MINIX.  This group
is gatewayed to the ARPANET, BITNET, etc.  If you cannot read USENET newsgroups
directly, you can get on the mailing list by sending a request to
    info-minix-request@udel.edu
The group is very active, and well worth reading if you are interested in MINIX.
It is used for reporting bugs, fixing bugs, posting new software, asking and
answering questions, and so on.  At some point it may be necessary to split
the group (IBM vs. Atari; source code vs discussion; ...) but for the time
being, there are no plans to split it.  Time will tell.  There are archives
of the messages that have been posted to comp.os.minix.  For an information
sheet telling about MINIX and the archives, send email to ast@cs.vu.nl or
watch the newsgroup.  Although this message is being crossposted to several
groups, this will be the only announcement.  Please post all subsequent 
discussion to comp.os.minix ONLY.  The group is unmoderated.  Please do
not discuss the PDP-11 memory management unit or other irrelevant topics.


DOCUMENTATION
There is a book describing MINIX is great detail, both how to use it and how
it works inside.  The book contains a highly annotated copy of the O/S code
as an appendix (250 pages).  This version is slightly out-of-date, but it is
still quite usable.  The bibliographic data on the book are as follows:

	Title: Operating Systems: Design and Implementation
	Author: Andrew S. Tanenbaum
	Publisher: Prentice-Hall, Englewood Cliffs, NJ 07632
	Date: 1987
	ISBN: 0-13-637406-9  (hardback version, U.S and Canada only)
	      0-13-637331-3  (paperback version, outside of U.S. and Canada)
	Price: about $40 although bookstores may charge whatever they want

The book is currently in the process of being translated into German.
There is also a paperback MINIX Reference Manual that is a subset of the book.  
It contains only the MINIX specific information, not the general background
stuff on operating systems that the book contains.  The reference manual is
about $35.  There is also a package containing the disks and the reference
manual combined going for about $110.  I think there may soon be a package
containing the reference manual and the Atari disks.

The Atari disks come with a little booklet telling how to boot the system
and how it differs from MINIX-PC (IBM version).  Effectively it is a diff
listing between MINIX-ST and MINIX-PC.  It makes no attempt to repeat the
500 or so pages on MINIX from the book or manual.


AVAILABILITY
MINIX is something of an intermediate form between AT&T UNIX and GNU.
Unlike GNU, MINIX is not public domain.  It is copyrighted by Prentice-Hall
and is being sold by them.  The price for the Atari disks in the U.S. is $80
+ shipping (somewhat higher abroad)  and includes all the source code.  On
the other hand, unlike AT&T UNIX, the source code is readily available, and
may be copied for bona fide educational and research use.  For example, a
professor teaching a course on operating systems could legally buy the disks
and then make copies for all his students.  A very limited amount of private
copying (say, no more than 3 copies per original) for personal friends is
ok.  If this gets out of hand, and Prentice-Hall decides that not enough have
been sold, they will just drop the Atari and have future versions be for the
IBM only. It is the intention that future versions be compatible with POSIX.

In the U.S. you can order the software and books from most bookstores or
directly from Prentice-Hall in NJ.  The ISBN number for the Atari software
is 0-13-584392-8.  Prentice-Hall's phone number is (201) 767-5937.

In the U.K. there are two dealers as listed below.
The price in the U.K. is 88.50 pounds sterling + VAT

	Prentice-Hall International		SDL Ltd
	Attention: Mark McDonagh		Unit 10
	66 Wood Lane End			Ruxley Corner Industrial Estate
	Hemel Hempstead				Sidcup Bypass
	England					Kent DA14 5SS
	Telephone: +44 442 231555


The distributors for Europe are listed below.  The European price is $110.40.

In Germany: 	Steve Steinkrauf
		Feldtorweg 24
		D3406 Bovenden 1
		FRG

In Holland:	Jos de Jong
		Postbus 184
		2100AD Heemstede
		Holland

In Scandinavia:	Frank O'Donell
		P.O. Box 88
		1371 Asker
		Norway

In Spain	Deborah Worth
and Portugal:	Appartado Numero 50672
		Madrid
		Spain

In Italy:	Jim Blaho
		Via Manzani 50
		50018 Scandicci
		Florence
		Italy

In Greece:	Vassilis Zahos
		Kriconas 57
		GR11634 Athens
		Greece

In Turkey:	Attilla Gullu
		Millinudafaa Cad 14/7
		Kizilay Ankara	
		Turkey


If you have questions whose answers are likely to be of interest to many people,
post them to comp.os.minix.  If you have questions that are very specific and
you don't want to broadcast to 10,000 machines in several dozen countries, send
mail to one of us.  PC-specific questions should go to ast; Atari specific
questions should go to Johan.

Andy Tanenbaum (ast@cs.vu.nl)
Johan Stevenson (johan@nlgvax.nl)

P.S. domain nl is The Netherlands, where both of us are located.
If your mailer does not know where this is, buy a good world atlas, digitize
it, and feed it to the mailer.

"Martin_Cooper.osbunorth"@XEROX.COM (03/31/89)

Minix is a Unix-equivalent operating system written by Andy Tanenbaum. It
was written entirely from scratch, so contains no AT&T code, and hence
there are no licensing problems. The definitive text on it is Andy's book,
"Operating Systems: Design and Implementation", published by Prentice Hall.
The Minix software itself is available from Prentice Hall for a mere $99.
The personal order number is (201) 767-5937.

The whole purpose of Minix was for people to learn about operating systems,
and there are a LOT of people out there working with it, extending it,
customising it, and writing software based on it. The Minix distribution
list has, I believe, over 10,000 members. So there's no shortage of
information and help available!

	Martin.

------------------------------------------
-- Martin Cooper, Xerox Corporation     --
-- Internet: Cooper.osbuNorth@Xerox.com --
------------------------------------------