From ast@cs.vu.nl Fri Nov 3 13:01:00 1995 Date: Wed, 1 Nov 95 0:48:13 MET From: Andy Tanenbaum To: kjb@cs.vu.nl Cc: awoodhull@hamp.hampshire.edu Subject: 1.7 FAQ I have tried to integrate your FAQ with Glen's. This is the result. I have also updated it in many places. My hope is that this can now be the main MINIX FAQ (it also points to Glen's). Please see what you think of it, fix bugs etc. There are now 2 FAQs and 2 READMEs. I think everything is reachable from this one, so we can give out its URL as the main one. Andy ----------------------------- MINIX INFORMATION SHEET
			

MINIX 1.7 INFORMATION SHEET

Maintained by Kees Bot (kjb@cs.vu.nl)


WHAT IS MINIX 1.7

MINIX is a free UNIX clone that is available with all the source code. Due to its small size, microkernel-based design, and ample documentation, it is well suited to people who want to run a UNIX-like system on their personal computer and learn about how such systems work inside. It is quite feasible for a person unfamiliar with operating system internals to understand nearly the entire system with a few months of use and study.

MINIX has been written from scratch, and therefore does not contain any AT&T code--not in the kernel, the compiler, the utilities, or the libraries. For this reason the complete source can be made available (by FTP or via the WWW).

MINIX has evolved over the years, so several versions exist. .Two of these are still current. The rest are obsolete. The current versions are:

       MINIX 1.7 (Intel CPUs from 8088 to Pentium)
       MINIX 1.5 (Intel, Macintosh, Amiga, Atari, SPARC)
This FAQ is for MINIX 1.7. There is also a MINIX 1.5 FAQ. We would like to bring the 68000 anbd SPARC versions up to date (i.e., to port MINIX 1.7 to these platforms). Volunteers should contast (ast@cs.vu.nl).

MINIX 1.7 can be compiled in either 16-bit mode or 32-mode, depending on compile time flags. For 32-bit mode, a 386, 486, or Pentium is required.


MINIX 1.7 FEATURES


HARDWARE REQUIRED

To run MINIX 1.7, you need a PC driven by an 8088, 286, 386, 486, or Pentium CPU. The system must be 100% hardware compatible with the PC-AT and its successors (i.e, EISA bus, IDE disk, etc.).

To run the 16-bit version, 640K is the minimum. To run the 32-bit version, 2MB is the minimum. To run comfortably, another 512K is needed.

A hard disk not technically required, but is strongly recommended to take full advantage of the system. To load all the sources and be able to recompile the system, 30 MB is the practical minimum but with a 20 MB disk partition, you can still run and compile parts of the system.

The system must have either a CGA, EGA, VGA, monochrome, or Hercules video card, or another card that emulates one of these. Both 5.25" and 3.5" diskettes are supported, as are printers using the parallel port and modems and terminals using the serial ports. Mitsumi CD-ROMs are also supported, as are some Ethernet cards.


PARTIAL LIST OF MINIX 1.7 UTILITIES

aal add_route advent animals ar ascii ash at atrun autil backup badblocks banner basename bawk bc bin btoa byacc cal calendar cat cawf cd cdiff cdplay cgrep chmem chmod chown ci cksum clr cmp co comic comm compress cp crc cron cut date dd de decomp16 df dhrystone diff dirname dis88 diskcheck diskusage dosread du dw echo ed eject elle elvis expand expr factor fdisk fgrep file find finger flex fold format fortune fsck fsck1 gather getty gomoku grep head host hostaddr ic id ifconfig ifdef indent inodes install irdpd isoread join kermit kill last leave life loadfont loadkeys login look lpr ls m4 mail make man men mined mixer mkdir mkfifo mkfs mknod mkproto modem mount mref mt ncheck nm nonamed od part partition passwd paste patch pathchk ping playwave postmort pr prep pretty printenv printroot proto ps pwd rarpd rcp readall readclock readfs reboot recover recwave remsync repartition rev rlogin rmdir roff rsh screendump scripts sdump sed sh shar simple size sleep sort split strings strip stty su sum swapfs sync synctree tail tar tcpd tee telnet term termcap test time touch tr traverse treecmp tset tsort ttt tty umount uname unexpand uniq unshar update users uud uue vol wc whatsnew which who whoami width write xargs yap yes zmodem


PARTIAL LIST OF MINIX 1.7 LIBRARY FUNCTIONS

abort abs access alarm alloca asctime asin assert asynchio atan atan2 atexit atof atoi atol bcmp bcopy brk brksize bsearch bzero calloc ceil cfgetispeed cfgetospeed cfsetispeed cfsetospeed chartab chdir chmod chown chroot clearerr clock close closedir creat crypt ctermid ctime cuserid data difftime div doprnt doscan dup dup2 ecvt environ errlist errno ether_line ethera2n ethere2a etherh2n ethern2h exec execl execle execlp execn execv execve exit exp ext_comp fabs fclose fcntl fdopen feof ferror fflush ffs fgetc fgetpos fgets fileno fillbuf floor fltpr flushbuf fmod fopen fork fpathconf fprintf fputc fputs fread freopen frexp fscanf fseek fsetpos fslib fstat fsversion ftell fwrite getc getchar getcwd getdomain getegid getenv geteuid getgid getgrent getgroups gethnmadr gethostent gethostname getlogin getopt getpass getpid getppid getprocessor getproto getprotoent getpw getpwent gets getservent getsrvbyname getsrvbyport getuid getw gmtime gtty hton hugeval hypot icompute index inet_addr inet_ntoa ioctl iolib isalnum isalpha isascii isatty iscntrl isdigit isgraph islower isnan isprint ispunct isspace isupper isxdigit itoa kill labs ldexp ldiv link loadname localeconv localtime lock log log10 longjerr lrand lsearch lseek malloc mblen mbstowcs mbtowc memccpy memchr memcmp memcpy memcspn memmove memset misc mkdir mkfifo mknod mktemp mktime modf mount mtab nlist oneC_sum open opendir pathconf pause peekpoke perror pipe popen pow printf printk ptrace putc putchar putenv puts putw qsort raise rand rcmd read readdir reboot regexp regsub remove rename res_comp res_init res_mkquery res_query res_send rewind rewinddir rindex rmdir sbrk scanf seekdir sendrec setbuf setgid setjmp setlocale setuid setvbuf sigaction sigaddset sigdelset sigemptyset sigfillset sigismember sigmisc signal sigpending sigprocmask sigreturn sigset sigsetjmp sigsuspend sin sinh sleep sprintf sqrt sscanf stat stderr stime strcasecmp strcat strchr strcmp strcoll strcpy strcspn strerror strftime strlen strncat strncmp strncpy strnlen strpbrk strrchr strspn strstr strtod strtok strtol strxfrm stty swab sync syscall sysconf system tan tanh taskcall tcdrain tcflow tcflush tcsendbreak telldir termcap termios time times tmpfile tmpnam tolower toupper ttyname tzset umask umount uname ungetc unlink utime vfprintf vprintf vsprintf wait waitpid wcstombs wctomb write


MINIX BOOK

The author of MINIX, Andrew S. Tanenbaum, has written a book describing how operating systems in general and MINIX in particular work internally. The book describes an earlier version (and includes a source listing), but it is still useful for understanding how MINIX works inside, even if some details are now different. The bibliographic information is:
     Title:      Operating Systems: Design and Implementation
     Author:     Andrew S. Tanenbaum
     Publisher:  Prentice-Hall
     ISBN:       0-13-637406-9
Paperback versions are also available in English (outside North America only), Dutch, French, German, Italian, Japanese, and Spanish. The books can be ordered from any bookstore.


GETTING MINIX

To get instructions for obtaining MINIX by WWW, click here.

To get related software (DOS utilities, third-party software, old MINIX versions) click here .


LEGAL STATUS OF MINIX

Although MINIX is supplied with the complete source code, it is copyrighted software. It is not public domain. It is also not like GNU. However, the copyright owner, Prentice-Hall has granted permission for anyone to download MINIX and use it for educational or research purposes. Companies that wish to embed MINIX in commercial systems or sell MINIX-based products need permission from Prentice Hall.

For a copy of the complete MINIX license, written in Middle English, click here.


NEWS ABOUT MINIX

Since its introduction in January 1987, there has been a large an active USENET newsgroup about MINIX, comp.os.minix. Tens of thousands of messages have been posted to this group so far. These messages have contained questions, bug reports, bug fixes, and new software. MINIX users on Bitnet can be put on a mailing list by sending mail to: info-minix-request@udel.edu. Various archives store newsgroup traffic for newcomers to the newsgroup.


FUTURE PLANS

Two major MINIX projects are underway. Kees Bot (kjb@cs.vu.nl) is working on bringing MINIX into full POSIX conformance. The main piece missing now is the termios interface. The new version will be called Version 2.0.

Andy Tanenbaum (ast@cs.vu.nl) and Al Woodhull (awoodhull@hamp.hampshire.edu) are rewriting the book to make it agree with Kees' Version 2.0. The book will contain a CD-ROM in the back for the benefit of readers who are not on the Internet or who do not wish to download the 10 MB MINIX distribution over their 2400 bps modem. The CD-ROM will contain the full code, which will also continue to be available for free by FTP and WWW.


PASCAL, AND MODULA 2 COMPILERS

A package containing the following compilers is available commercially:
Modula-2
conforming to "Report on The Programming Language Modula-2", in "Programming in Modula-2, 3rd ed." by Niklaus Wirth, Springer-verlag, 1983
Pascal
confrming to level 1 of BSI standard BS 6192: 1982 (ISO 7185), with a few small exceptions
Also, a Modula-2 makefile generator and some utilities for handling relocatable object files are included (aal, nm, size, strip, etc). Complete libraries for Pascal, and Modula 2 are provided. The package also contains the ANSI C compiler which was previously not part of the standard MINIX distribution.

The package is available from two companies:

Transmediair Products & Support B.V.    Unipress Software
Melkweg 3                               2025 Lincoln Highway
3721 RG  Bilthoven                      Edison, NJ 08817
The Netherlands                         U.S.A.
Tel: +31 30 281820                      Tel: +1 908 287 2100
FAX: +31 30 292294                      FAX: +1 908 287 4929
					Email: msk@unipress.com
For a free Pascal compiler written by Henrik Quintel, click here


WHERE CAN I GET PAST POSTINGS?

Many sites keep archives of MINIX-related material, ranging from archives of articles posted to more organized repositories of programs posted to the net.

These sites are listed in the MINIX 1.5 FAQ.

MINIX itself is only on ftp.cs.vu.nl.