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)
ucscb.bitbug@ucbvax.Berkeley.EDU (01/12/87)
Can MINIX work or be tweaked to work with the Intel Above Board? This would be great for multiple processes or users. You might also use an Above Board bank for each user, to simulate some sort of protected memory environment. Any comments, flames, etc? James Buster ucbvax!ucscc!ucscb!bitbug
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
termin@killer.UUCP (09/30/87)
This discussion that is spilling over from comp.arch and comp.unix.wizards into the newgroup minix is getting to be a duplicity of effort. I do read the discussion but I am reading it in 3 newsgroups now . IT DOES NOT NEED TO BE PUT IN THE COMP.OS.MINIX NEWSGROUP. IF YOU CAN FIND SOMEONE TO HELP YOU FIGURE OUT HOW TO PUT IT IN THE APPROPIATE NEWSGROUP IT WOULD BE APPRECIATED. Thanks Jim
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.