UGU: Unix Guru Universe - Minix F.A.Q
- Home : Unix Flavors
: Minix Menu
WHAT IS MINIX 2.0
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
MINIX has evolved over the years, so several versions exist.
Two of these are still current. The rest are obsolete. The current
MINIX 2.0 (Intel CPUs from 8088 to Pentium)
MINIX 1.5 (Intel, Macintosh, Amiga, Atari, SPARC)
This FAQ is for MINIX 2.0. There is also a
MINIX 1.5 FAQ
and a MacMINIX FAQ.
We would like to bring the 68000 anbd SPARC versions up to date (i.e., to
port MINIX 2.0 to these platforms).
Volunteers should contact me (email@example.com).
MINIX 2.0 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 2.0 FEATURES
- Full multiprogramming (multiple programs can run at once)
- Runs in protected mode on 286, 386, 486, Pentium
- Support for extended memory up to 16M on 286; 4 GB on 386, 486, and Pentium
- RS-232 serial line support with terminal emulation, kermit, zmodem, etc.
- Up to 3 simultaneous users on one machine
- System call compatible with POSIX (well, almost)
- Full C source code (OS, utilities, libraries, etc.) supplied
- ANSI C compiler
- Shell that is functionally identical to the Bourne shell
- Networking with TCP/IP
- Five editors (emacs subset, vi clone, ex, ed, and simple screen editor)
- Over 200 utilities (cat, cp, ed, grep, kermit, ls, make, sort, etc.)
- Over 300 library procedures (atoi, fork, malloc, read, stdio, etc.)
- Spelling checker with 40,000 word English dictionary
- Online manual pages
To run MINIX 2.0, you need a PC driven by an 8088, 286, 386, 486, or Pentium
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 is 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
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 2.0 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 ftp 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 2.0 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 has been designed as a teaching system. It is easy to learn and
maintain. A book describing operating systems in general and how MINIX
works in particular is available. It can be used as a textbook or for
independent study. The bibliographic information is:
Title: Operating Systems: Design and Implementation, 2/e
Authors: Andrew S. Tanenbaum, Albert S. Woodhull
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
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
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: firstname.lastname@example.org. Various
archives store newsgroup traffic for newcomers to the newsgroup. These
are described in the
MINIX 1.5 FAQ.
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 in pub/minix/CD-ROM-2.0
To get instructions for obtaining MINIX by WWW, click
That page also tells how to get the manuals and related software
(DOS utilities for installing MINIX, third-party software, and old MINIX versions).
RUNNING MINIX ON A SIMULATOR
In addition to running MINIX on a bare Intel CPU, it is also possible to
run it on a simulator (i.e., a 386 interpreter) called
A version of Bochs is on the MINIX CD-ROM.
A second alternative is to run MINIX as a user program on a SPARC.
To find out more about that option, click
Maintained (badly) by
Andy Tanenbaum (email@example.com) .
Last change: 15 Nov 1996