Unix-like operating system
Operating system
MINIX
|
The MINIX 3.3.0
login
prompt
|
Developer
| Andrew S. Tanenbaum
, et al.
|
---|
Written in
| C
|
---|
OS family
| Unix-like
|
---|
Working state
| Abandoned
|
---|
Source model
| Open-source
|
---|
Initial release
| 1987
; 37 years ago
(
1987
)
|
---|
Latest release
| 3.3.0
[1]
/ 16 September 2014
; 9 years ago
(
2014-09-16
)
|
---|
Latest preview
| 3.4.0rc6
[2]
/ 9 May 2017
; 7 years ago
(
2017-05-09
)
|
---|
Repository
| |
---|
Marketing target
| Teaching
(v1, v2)
Embedded systems
(v3)
|
---|
Available in
| English
|
---|
Update method
| Compile from
source code
|
---|
Package manager
| N/A
|
---|
Platforms
| IBM PC compatibles
,
68000
,
SPARC
,
Atari ST
,
Amiga
,
Macintosh
,
SPARCstation
,
Intel 386
,
NS32532
,
ARM
,
Inmos
transputer
,
Intel Management Engine
[3]
|
---|
Kernel
type
| Microkernel
|
---|
Userland
| BSD
(
NetBSD
)
|
---|
License
| 2005:
BSD-3-Clause
[a]
[4]
2000:
BSD-3-Clause
[5]
[6]
[7]
1995:
Proprietary
[8]
1987:
Proprietary
[9]
|
---|
Official website
| www
.minix3
.org
|
---|
MINIX
(from
mini-
Unix
) is a
Unix-like
operating system
based on a
microkernel
architecture
. Since version 2.0, it has been
POSIX
compliant.
[10]
[11]
Early versions of MINIX were created by
Andrew S. Tanenbaum
for educational purposes. Starting with
MINIX 3
, the primary aim of development shifted from education to the creation of a
highly reliable
and
self-healing
microkernel OS. MINIX 3 was developed as
open-source software
.
MINIX was first released in 1987, with its complete source code made available to universities for study in courses and research. It has been
free and open-source software
since it was relicensed under the
BSD-3-Clause
license in April 2000.
[6]
Implementation
[
edit
]
MINIX 1.0
[
edit
]
Andrew S. Tanenbaum
created MINIX at
Vrije Universiteit
in
Amsterdam
to exemplify the principles conveyed in his
textbook
,
Operating Systems: Design and Implementation
(1987). (Despite sharing a name, it has no relation to the older MINIX from Digital Systems House, Inc.
[12]
based on
AT&T Unix
code.)
An abridged 12,010 lines of the
C
source code
of the
kernel
,
memory manager
, and
file system
of MINIX 1.0 are printed in the book.
Prentice-Hall
also released MINIX source code and binaries on
floppy disk
with a reference manual. MINIX 1 was system-call compatible with
Seventh Edition Unix
.
[13]
Tanenbaum originally developed MINIX for compatibility with the
IBM PC
and
IBM PC/AT
8088
microcomputers
available at the time.
MINIX 1.5
[
edit
]
MINIX 1.5, released in 1991, included support for
MicroChannel
IBM PS/2
systems and was also
ported
to the
Motorola 68000
and
SPARC
architectures, supporting the
Atari ST
,
Amiga
,
Macintosh
,
[14]
and
Sun
SPARCstation
computer platforms
. There were also unofficial ports to
Intel 386
PC compatibles
(in
32-bit
protected mode
),
National Semiconductor
NS32532
,
ARM
and
Inmos
transputer
processors.
Meiko Scientific
used an early version of MINIX as the basis for the
MeikOS
operating system for its transputer-based
Computing Surface
parallel computers
.
MINIX 2.0
[
edit
]
Demand for the 68k-architectures waned, however, and MINIX 2.0, released in 1997, was only available for the
x86
and
Solaris
-hosted SPARC architectures. It was the subject of the second edition of Tanenbaum's textbook, cowritten with Albert Woodhull and was distributed on a
CD-ROM
included with the book. MINIX 2.0 added
POSIX
.1 compliance, support for 386 and later processors in 32-bit mode and replaced the
Amoeba
network protocols included in MINIX 1.5 with a
TCP/IP
stack. A version of MINIX running as a user process under
SunOS
and
Solaris
was also available, a simulator named SMX (operating system) or just
SMX
for short.
[15]
[16]
Version 2.0.3 was released in May 2001. It was the first version after MINIX had been relicensed under the
BSD-3-Clause
license, which was retroactively applied to all previous versions.
[17]
Minix-vmd
[
edit
]
Minix-vmd is a variant of MINIX 2.0 for Intel
IA-32
-compatible processors, created by two Vrije Universiteit researchers, which adds
virtual memory
and support for the
X Window System
.
MINIX 3
[
edit
]
MINIX 3 was publicly announced on 24 October 2005 by Tanenbaum during his keynote speech at the
Association for Computing Machinery
(ACM) Symposium on Operating Systems Principles (SOSP). Although it still serves as an example for the new edition of Tanenbaum's textbook, coauthored by Albert S. Woodhull, it is comprehensively redesigned to be "usable as a serious system on resource-limited and embedded computers and for applications requiring high reliability."
[18]
MINIX 3 currently supports
IA-32
and
ARM architecture
systems. It is available in a
live CD
format that allows it to be used on a computer without installing it on the hard drive, and in versions compatible with hardware emulating and virtualizing systems, including
Bochs
,
QEMU
,
VMware Workstation
and
Fusion
,
VirtualBox
, and
Microsoft Virtual PC
.
Version 3.1.2 was released on 18 April 2006. It was the first version after MINIX had been relicensed under the
BSD-3-Clause
license with a new fourth clause.
[19]
Version 3.1.5 was released on 5 November 2009. It contains
X11
,
emacs
,
vi
,
cc
,
gcc
,
perl
,
python
,
ash
,
bash
,
zsh
,
ftp
,
ssh
,
telnet
,
pine
, and over 400 other common
Unix
utility programs. With the addition of X11, this version marks the transition away from a text-only system. In many cases it can automatically restart a crashed driver without affecting running processes. In this way, MINIX is self-healing and can be used in applications demanding high reliability. MINIX 3 also has support for
virtual memory
management, making it suitable for desktop OS use.
[20]
Desktop applications such as
Firefox
and
OpenOffice.org
are not yet available for MINIX 3 however.
As of version 3.2.0, the
userland
was mostly replaced by that of
NetBSD
and support from
pkgsrc
became possible, increasing the available software applications that MINIX can use.
Clang
replaced the prior compiler (with
GCC
now having to be manually compiled), and
GDB
, the GNU debugger, was ported.
[21]
[22]
MINIX 3.3.0, released in September 2014, brought ARM support.
MINIX 3.4.0RC, Release Candidates became available in January 2016.
[23]
However, a stable release of MINIX 3.4.0 is yet to be announced, and MINIX development has been dormant since 2018.
[24]
MINIX supports many programming languages, including
C
,
C++
,
FORTRAN
,
Modula-2
,
Pascal
,
Perl
,
Python
, and
Tcl
.
Over 50 people attended MINIXCon 2016, a conference to discuss the history and future of MINIX.
[25]
All Intel chipsets post-2015 are running MINIX 3 internally as the software component of the
Intel Management Engine
.
[26]
[27]
Relationship with Linux
[
edit
]
Early influence
[
edit
]
Linus Torvalds
used and appreciated MINIX,
[28]
but his design deviated from the MINIX architecture in significant ways, most notably by employing a
monolithic kernel
instead of a
microkernel
. This was disapproved of by Tanenbaum in the
Tanenbaum?Torvalds debate
. Tanenbaum explained again his rationale for using a microkernel in May 2006.
[29]
Early
Linux kernel
development was done on a MINIX host system, which led to
Linux
inheriting various features from MINIX, such as the
MINIX file system
.
Eric Raymond
claimed that Linus hasn't actually written Linux from scratch, but rather reused source code of MINIX itself to have working codebase. As the development progressed, MINIX code was gradually phased out completely.
[30]
Samizdat
claims
[
edit
]
In May 2004, Kenneth Brown of the
Alexis de Tocqueville Institution
made the accusation that major parts of the Linux kernel had been copied from the MINIX codebase, in a book named
Samizdat
.
[31]
These accusations were rebutted universally?most prominently by Tanenbaum, who strongly criticised Brown and published a long rebuttal on his own personal Web site, also claiming that Brown was funded by
Microsoft
.
[10]
[11]
Licensing
[
edit
]
At the time of MINIX's original development, its
license
was relatively liberal. Its licensing fee was very small ($69) relative to those of other operating systems. Tanenbaum wished for MINIX to be as accessible as possible to
students
, but his publisher was unwilling to offer material (such as the source code) that could be copied freely, so a restrictive license requiring a nominal fee (included in the price of Tanenbaum's book) was applied as a compromise. This prevented the use of MINIX as the basis for a freely distributed software system.
When
free and open-source
Unix-like operating systems such as
Linux
and
386BSD
became available in the early 1990s, many
volunteer
software developers
abandoned MINIX in favor of these. In April 2000, MINIX became
free and open-source software
under the
BSD-3-Clause
license, which was retroactively applied to all previous versions.
[17]
[7]
However, by this time other operating systems had surpassed its capabilities, and it remained primarily an operating system for students and
hobbyists
. In late 2005, MINIX was relicensed with a fourth clause added to the
BSD-3-Clause
license.
[4]
See also
[
edit
]
Notes
[
edit
]
- ^
BSD-3-Clause with a fourth clause.
References
[
edit
]
- ^
Michael Larabel (16 September 2014).
"Minix 3.3 Released With Cortex-A8 ARM Support, NetBSD Userland Compatibility"
.
Phoronix
.
- ^
MINIX 3.4 RC6 Released - Phoronix
- ^
"Intel ME: The Way of Static Analysis"
. Archived from
the original
on 1 July 2017
. Retrieved
4 July
2017
.
- ^
a
b
"The MINIX license"
. Archived from
the original
on 24 November 2005
. Retrieved
24 November
2005
.
- ^
"MINIX license change"
.
Archived
from the original on 6 December 2022
. Retrieved
23 December
2023
.
- ^
a
b
"MINIX is now available under the BSD license"
.
Archived
from the original on 8 May 2006
. Retrieved
14 June
2021
.
- ^
a
b
"Minix"
.
Archived
from the original on 13 October 2006
. Retrieved
15 June
2021
.
The Minix license changed in April 2000, and applies retroactively to all previous Minix distributions, even though they still carry the old, more restrictive license within.
- ^
"License (1.7.0 to 2.0.2)"
. Archived from
the original
on 26 July 1997
. Retrieved
14 June
2021
.
- ^
"Minix versions and their use in teaching"
.
Archived
from the original on 11 July 2006
. Retrieved
14 June
2021
.
- ^
a
b
Tanenbaum, Andrew S.
(20 May 2004).
"Some Notes on the "Who wrote Linux" Kerfuffle, Release 1.5"
. Archived from
the original
on 18 August 2010
. Retrieved
20 August
2016
.
- ^
a
b
Tanenbaum, Andrew S.
; Woodhull, Albert S.; Sambuc, Lionel (11 March 2015).
"MINIX 3 FAQ"
. Archived from
the original
on 26 April 2019
. Retrieved
20 August
2016
.
- ^
"MINIX advertisement"
.
Computerworld
. Vol. 13, no. 31. 30 July 1979. p. 38
. Retrieved
22 March
2022
.
- ^
Tanenbaum, Andrew S.
; Woodhull, Albert S. (1997) [1986].
Operating Systems Design and Implementation
(Second ed.).
ISBN
0-13-638677-6
.
OCLC
35792209
. Retrieved
2 August
2011
.
- ^
"MacMinix"
.
GitHub
.
- ^
Tanenbaum, Andrew S.
; Woodhull, Albert S.; Bot, Kees (22 July 2005).
"Welcome to MINIX"
(TXT)
. Retrieved
2 August
2011
.
- ^
Flouris, M.
"Installing and running MINIX for Solaris (SMX)"
. Archived from
the original
on 12 May 2016
. Retrieved
2 August
2011
.
- ^
a
b
"BSD-3-Clause"
. Archived from
the original
on 14 April 2000
. Retrieved
14 June
2021
.
- ^
Herder, J. N.; Bos, H.; Gras, B.; Homburg, P.;
Tanenbaum, A. S.
(July 2006). "MINIX 3: a highly reliable, self-repairing operating system".
ACM SIGOPS Operating Systems Review
.
40
(3): 80?89.
doi
:
10.1145/1151374.1151391
.
S2CID
30216714
.
- ^
"License"
.
GitHub
.
Archived
from the original on 15 June 2021
. Retrieved
15 June
2021
.
- ^
Schmidt, Ulrich (10 November 2010).
"New to minix"
. Retrieved
2 August
2011
.
- ^
"MINIX Releases"
.
wiki.minix3.org
. Archived from
the original
on 31 May 2012
. Retrieved
29 February
2012
.
- ^
Vervloesem, Koem (7 March 2012).
"MINIX 3.2: A microkernel with NetBSD applications"
.
lwn.net
.
- ^
"Index of /iso/snapshot/"
.
download.minix3.org
. Retrieved
14 October
2016
.
- ^
"git.minix3.org Git - minix.git/summary"
.
git.minix3.org
. Retrieved
23 September
2022
.
- ^
"MINIXCon 2016"
.
www.minix3.org
. Retrieved
14 October
2016
.
- ^
"Positive Technologies research"
.
blog.ptsecurity.com
. Archived from
the original
on 28 August 2017
. Retrieved
6 September
2017
.
- ^
Vaughan-Nichols, Steven (6 November 2017).
"MINIX: Intel's hidden in-chip operating system"
.
ZDNET
.
- ^
Moody, Glyn (25 August 2015).
"How Linux was born, as told by Linus Torvalds himself"
.
Ars Technica
. Retrieved
25 August
2015
.
- ^
Tanenbaum, Andrew S.
(12 May 2006).
"Tanenbaum-Torvalds Debate: Part II"
. Retrieved
2 August
2011
.
- ^
Raymond, Eric
(1999).
The Cathedral & the Bazaar
.
O'Reilly Media
. p. 33.
ISBN
1-56592-724-9
.
- ^
Brown, Kenneth
(4 June 2004).
"Samizdat's critics… Brown replies"
. Alexis de Tocqueville Institution. Archived from
the original
on 22 October 2004
. Retrieved
2 August
2011
.
External links
[
edit
]