Minix: Difference between revisions
imported>Kvng m simplify link |
imported>Black Walnut m →Samizdat claims: ce: reduced verbiage. Added a newline to facilitate proof reading in edit mode. |
||
| Line 12: | Line 12: | ||
| kernel type = [[Microkernel]] | | kernel type = [[Microkernel]] | ||
| userland = [[BSD]] ([[NetBSD]]) | | userland = [[BSD]] ([[NetBSD]]) | ||
| supported platforms = [[IBM PC compatible]]s, [[Motorola 68000|68000]], [[SPARC]], [[Atari ST]], [[Amiga]], [[ | | supported platforms = [[IBM PC compatible]]s, [[Motorola 68000 series|68000]], [[SPARC]], [[Atari ST]], [[Amiga]], [[Macintosh]], [[SPARCstation]], [[Intel 386]], [[NS320xx|NS32532]], [[ARM architecture|ARM]], [[Inmos]] [[transputer]], [[Intel Management Engine]]<ref>{{Cite web|url=http://blog.ptsecurity.com/2017/04/intel-me-way-of-static-analysis.html|title=Intel ME: The Way of Static Analysis|access-date=2017-07-04|archive-date=2017-07-01|archive-url=https://web.archive.org/web/20170701161110/http://blog.ptsecurity.com/2017/04/intel-me-way-of-static-analysis.html|url-status=dead}}</ref> | ||
| family = [[Unix-like]] | | family = [[Unix-like]] | ||
| released = {{Start date and age|1987}} | | released = {{Start date and age|1987}} | ||
| latest release version = 3.3.0<ref>{{cite web|website=[[ | | latest release version = 3.3.0<ref>{{cite web|website=[[Phoronix]]|url=https://www.phoronix.com/scan.php?page=news_item&px=MTc4OTk|title=Minix 3.3 Released With Cortex-A8 ARM Support, NetBSD Userland Compatibility|author=Michael Larabel|date=2014-09-16|access-date=11 May 2020|archive-date=25 March 2022|archive-url=https://web.archive.org/web/20220325073122/https://www.phoronix.com/scan.php?page=news_item&px=MTc4OTk|url-status=live}}</ref> | ||
| latest release date = {{Start date and age|2014|09|16|df=yes}} | | latest release date = {{Start date and age|2014|09|16|df=yes}} | ||
| latest preview version = 3.4.0rc6<ref>{{Cite web |url=https://www.phoronix.com/scan.php?page=news_item&px=MINIX-3.4-RC6-Released |title=MINIX 3.4 RC6 Released - Phoronix |access-date=18 June 2018 |archive-date=18 March 2022 |archive-url=https://web.archive.org/web/20220318093024/https://www.phoronix.com/scan.php?page=news_item&px=MINIX-3.4-RC6-Released |url-status=live }}</ref> | | latest preview version = 3.4.0rc6<ref>{{Cite web |url=https://www.phoronix.com/scan.php?page=news_item&px=MINIX-3.4-RC6-Released |title=MINIX 3.4 RC6 Released - Phoronix |access-date=18 June 2018 |archive-date=18 March 2022 |archive-url=https://web.archive.org/web/20220318093024/https://www.phoronix.com/scan.php?page=news_item&px=MINIX-3.4-RC6-Released |url-status=live }}</ref> | ||
| Line 31: | Line 31: | ||
'''MINIX''' is a [[Unix-like]] [[operating system]] based on a [[microkernel]] [[Software architecture|architecture]], first released in 1987 and written by American-Dutch computer scientist [[Andrew S. Tanenbaum]]. It was designed as a clone of the [[Unix]] operating system<ref name=":0">{{Cite web |last=Anthes |first=Gary |title=Timeline: 40 Years Of Unix |url=https://www.computerworld.com/article/1698275/timeline-40-years-of-unix.html |access-date=2025-02-13 |website=[[Computerworld]]}}</ref> and one that could run on affordable, [[Intel 8086]]-based [[home computer]]s; MINIX was targeted for use in classrooms by [[computer science]] students at universities.<ref>{{Cite web |last1=Bentson |first1=Randolph |title=The Humble Beginnings of Linux |url=https://dl.acm.org/doi/fullHtml/10.5555/324785.324786 |access-date=2024-11-21 |website=[[Association for Computing Machinery]]}}</ref><ref name=":0" /> | '''MINIX''' is a [[Unix-like]] [[operating system]] based on a [[microkernel]] [[Software architecture|architecture]], first released in 1987 and written by American-Dutch computer scientist [[Andrew S. Tanenbaum]]. It was designed as a clone of the [[Unix]] operating system<ref name=":0">{{Cite web |last=Anthes |first=Gary |title=Timeline: 40 Years Of Unix |url=https://www.computerworld.com/article/1698275/timeline-40-years-of-unix.html |access-date=2025-02-13 |website=[[Computerworld]]}}</ref> and one that could run on affordable, [[Intel 8086]]-based [[home computer]]s; MINIX was targeted for use in classrooms by [[computer science]] students at universities.<ref>{{Cite web |last1=Bentson |first1=Randolph |title=The Humble Beginnings of Linux |url=https://dl.acm.org/doi/fullHtml/10.5555/324785.324786 |access-date=2024-11-21 |website=[[Association for Computing Machinery]]}}</ref><ref name=":0" /> | ||
Its name comes from ''mini-Unix''. MINIX was initially [[Source-available software|proprietary source-available]], but was relicensed under the [[BSD licenses|BSD 3-Clause]] to become [[ | Its name comes from ''mini-Unix''. MINIX was initially [[Source-available software|proprietary source-available]], but was relicensed under the [[BSD licenses|BSD 3-Clause]] to become [[free and open-source]] in 2000.<ref name="license-2000" /><ref>{{Cite web |last=Byfield |first=Bruce |date=August 1, 2010 |title=An Introduction to MINIX {{!}} Linux Journal |url=https://www.linuxjournal.com/article/10754 |access-date=2024-12-05 |website=www.linuxjournal.com}}</ref> MINIX was ported to various additional platforms in the 1990s, and version 2.0 was released in 1997 and was the first to be [[POSIX]] compliant.<ref name="who-wrote-linux-notes">{{cite web |last=Tanenbaum |first=Andrew S. |author-link=Andrew S. Tanenbaum |date=20 May 2004 |title=Some Notes on the "Who wrote Linux" Kerfuffle, Release 1.5 |url=http://www.cs.vu.nl/~ast/brown/ |access-date=20 August 2016 |url-status=dead |archive-url=https://web.archive.org/web/20100818183310/http://www.cs.vu.nl/~ast/brown/ |archive-date=18 August 2010}}</ref><ref name="minix3-faq">{{cite web |last1=Tanenbaum |first1=Andrew S. |author1-link=Andrew S. Tanenbaum |last2=Woodhull |first2=Albert S. |last3=Sambuc |first3=Lionel |date=11 March 2015 |url=http://wiki.minix3.org/doku.php?id=faq |title=MINIX 3 FAQ |access-date=20 August 2016 |url-status=dead |archive-url=https://web.archive.org/web/20190426190210/https://wiki.minix3.org/doku.php?id=faq |archive-date=26 April 2019}}</ref> Starting with [[MINIX 3]], released in 2005, the primary aim of development shifted from education to the creation of a [[high availability|highly reliable]] and [[Self-management (computer science)|self-healing]] microkernel OS. | ||
==Implementation== | ==Implementation== | ||
| Line 38: | Line 38: | ||
[[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.<ref>{{cite magazine |title=MINIX advertisement |url=https://archive.org/details/sim_computerworld_1979-07-30_13_31/page/n39/ |access-date=22 March 2022 |magazine=Computerworld |issue=31 |date=1979-07-30 |volume=13 |page=38}}</ref> based on [[Ancient UNIX|AT&T Unix]] code.) | [[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.<ref>{{cite magazine |title=MINIX advertisement |url=https://archive.org/details/sim_computerworld_1979-07-30_13_31/page/n39/ |access-date=22 March 2022 |magazine=Computerworld |issue=31 |date=1979-07-30 |volume=13 |page=38}}</ref> based on [[Ancient UNIX|AT&T Unix]] code.) | ||
An abridged 12,010 lines of the [[C (programming language)|C]] [[source code]] of the [[Kernel (operating system)|kernel]], [[Memory management|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]].<ref>{{cite book |last1=Tanenbaum |first1=Andrew S. |author1-link=Andrew S. Tanenbaum |last2=Woodhull |first2=Albert S. |year=1997 |url=https://archive.org/details/operatingsystems00tane |title=Operating Systems Design and Implementation |publisher=Prentice Hall |isbn=0-13-638677-6 |access-date=2 August 2011 |edition=Second |orig-year=1986 |oclc=35792209 |url-access=registration}}</ref> | An abridged 12,010 lines of the [[C (programming language)|C]] [[source code]] of the [[Kernel (operating system)|kernel]], [[Memory management|memory manager]], and [[file system]] of MINIX 1.0 are printed in the book. [[Prentice-Hall]] also released MINIX source code and [[executable binary|executable binaries]] on [[floppy disk]] with a reference manual. MINIX 1 was system-call compatible with [[Seventh Edition Unix]].<ref>{{cite book |last1=Tanenbaum |first1=Andrew S. |author1-link=Andrew S. Tanenbaum |last2=Woodhull |first2=Albert S. |year=1997 |url=https://archive.org/details/operatingsystems00tane |title=Operating Systems Design and Implementation |publisher=Prentice Hall |isbn=0-13-638677-6 |access-date=2 August 2011 |edition=Second |orig-year=1986 |oclc=35792209 |url-access=registration}}</ref> | ||
Tanenbaum originally developed MINIX for compatibility with the [[IBM PC]] and [[IBM PC/AT | Tanenbaum originally developed MINIX for compatibility with the [[IBM PC]] and [[IBM PC/AT]] [[microcomputer]]s available at the time. | ||
===MINIX 1.4=== | ===MINIX 1.4=== | ||
There is a version of MINIX floating around that supports the Peripheral Technology PT68K-2 and PT68K-4 computers. The PT68K-2 and the PT68K-4 are both 68000 based computers with a standard 8 bit IBM PC ISA bus that has 6 connectors on the main board. It was ported to the PT68K machines by Gary Mills and Sidney Thompson. The port was adapted from the Atari port since it too is a 68000 based machine. The PT68K version has added support for the PT XT-IDE card from Peripheral Technology. It currently only supports the MDA display adapter (no CGA, EGA or VGA). For this reason, it has not yet been ported to the PT68K-5 (aka CDS68020). There is an SD Card image available from https://github.com/mevenson/minix-for-the-PT68K-2-4. | There is a version of MINIX floating around that supports the Peripheral Technology PT68K-2 and PT68K-4 computers. The PT68K-2 and the PT68K-4 are both 68000 based computers with a standard 8 bit IBM PC [[ISA bus]] that has 6 connectors on the main board. It was ported to the PT68K machines by Gary Mills and Sidney Thompson. The port was adapted from the Atari port since it too is a 68000 based machine. The PT68K version has added support for the PT XT-[[integrated drive electronics|IDE]] card from Peripheral Technology. It currently only supports the [[IBM Monochrome Display Adapter|MDA]] display adapter (no [[Color Graphics Adapter|CGA]], [[Enhanced Graphics Adapter|EGA]] or [[VGA]]). For this reason, it has not yet been ported to the PT68K-5 (aka CDS68020). There is an [[SD Card]] [[disk image|image]] available from https://github.com/mevenson/minix-for-the-PT68K-2-4. | ||
===MINIX 1.5=== | ===MINIX 1.5=== | ||
MINIX 1.5, released in 1991, included support for [[MicroChannel]] [[IBM PS/2]] systems and was also [[ | MINIX 1.5, released in 1991, included support for [[MicroChannel]] [[IBM PS/2]] systems and was also [[ported]] to the [[Motorola 68000 series|68000]] and [[SPARC]] architectures, supporting the [[Atari ST]], [[Amiga]], [[Macintosh]],<ref>{{cite web|url=https://github.com/macminix|title=MacMinix|website=[[GitHub]]|access-date=8 August 2014|archive-date=26 February 2021|archive-url=https://web.archive.org/web/20210226193955/https://github.com/macminix|url-status=live}}</ref> and [[Sun Microsystems|Sun]] [[SPARCstation]] [[computer platform]]s. There were also unofficial ports to [[Intel 386]] [[PC compatible]]s (in [[32-bit]] [[protected mode]]), [[National Semiconductor]] [[NS320xx|NS32532]], [[ARM architecture|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 computer]]s. | ||
===MINIX 2.0=== | ===MINIX 2.0=== | ||
| Line 71: | Line 71: | ||
[[File:Minix3.png|upright=1.1|thumb|right|MINIX 3.1.7 running [[X Window System|X11]] with the [[Equinox Desktop Environment|EDE]]]] | [[File:Minix3.png|upright=1.1|thumb|right|MINIX 3.1.7 running [[X Window System|X11]] with the [[Equinox Desktop Environment|EDE]]]] | ||
Version 3.1.5 was released on 5 November 2009. It contains [[X11]], [[emacs]], [[Vi (text editor)|vi]], [[C compiler|cc]], [[GNU Compiler Collection|gcc]], [[perl]], [[Python (programming language)|python]], [[Almquist shell|ash]], [[Bash (Unix shell)|bash]], [[zsh]], [[ftp]], [[ | Version 3.1.5 was released on 5 November 2009. It contains [[X11]], [[emacs]], [[Vi (text editor)|vi]], [[C compiler|cc]], [[GNU Compiler Collection|gcc]], [[perl]], [[Python (programming language)|python]], [[Almquist shell|ash]], [[Bash (Unix shell)|bash]], [[zsh]], [[ftp]], [[ssh]], [[telnet]], [[Pine (e-mail client)|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.<ref>{{cite web|url=http://groups.google.com/group/minix3/msg/86c914a0c13376fe|title=New to minix|date=10 November 2010|access-date=2 August 2011|first=Ulrich|last=Schmidt|archive-date=28 May 2013|archive-url=https://web.archive.org/web/20130528083817/http://groups.google.com/group/minix3/msg/86c914a0c13376fe|url-status=live}}</ref> Desktop applications such as [[Firefox]] and [[OpenOffice.org]] are not yet available for MINIX 3 however. | ||
[[File:MINIX 3.2 Top Command.png|thumb|MINIX 3.2 running the "[[top (software)|top]]" system monitoring command]] | [[File:MINIX 3.2 Top Command.png|thumb|MINIX 3.2 running the "[[top (software)|top]]" system monitoring command]] | ||
As of version 3.2.0, the [[User space|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 [[GNU Compiler Collection|GCC]] now having to be manually compiled), and [[GDB]], the GNU | As of version 3.2.0, the [[User space|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 [[GNU Compiler Collection|GCC]] now having to be manually compiled), and [[GDB]], the [[GNU Debugger]], was [[ported]].<ref name=wiki-releases>{{cite web|title=MINIX Releases|url=http://wiki.minix3.org/en/MinixReleases|work=wiki.minix3.org|access-date=29 February 2012|url-status=dead|archive-url=https://web.archive.org/web/20120531025416/http://wiki.minix3.org/en/MinixReleases|archive-date=31 May 2012}}</ref><ref>{{Cite web |last=Vervloesem |first=Koem |date=7 March 2012 |title=MINIX 3.2: A microkernel with NetBSD applications |url=https://lwn.net/Articles/485658/ |website=[[lwn.net]] |access-date=17 June 2018 |archive-date=17 June 2018 |archive-url=https://web.archive.org/web/20180617220042/https://lwn.net/Articles/485658/ |url-status=live }}</ref> | ||
MINIX 3.3.0, released in September 2014, brought ARM support. | MINIX 3.3.0, released in September 2014, brought ARM support. | ||
| Line 94: | Line 94: | ||
===''Samizdat'' claims=== | ===''Samizdat'' claims=== | ||
In | In his 2004 book, ''[[Samizdat (book)|Samizdat]]'', Kenneth Brown of [[Alexis de Tocqueville Institution|AdTI]] claimed that much of the Linux kernel was copied from MINIX.<ref>{{cite web |url=http://adti.net/samizdat/brown.reply.june.04.html |archive-url=http://webarchive.loc.gov/all/20041022073106/http://www.adti.net/samizdat/brown.reply.june.04.html |url-status=usurped |archive-date=22 October 2004 |title=Samizdat's critics… Brown replies |date=4 June 2004 |access-date=2 August 2011 |publisher=Alexis de Tocqueville Institution |first=Kenneth |last=Brown |author-link=Kenneth Brown (author)}}</ref> | ||
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]].<ref name=who-wrote-linux-notes/><ref name=minix3-faq/> | |||
==Licensing== | ==Licensing== | ||
At the time of MINIX's original development, its [[software license|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 [[student]]s, 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. | At the time of MINIX's original development, its [[software license|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 [[student]]s, 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 [[ | When [[free and open-source]] Unix-like operating systems such as [[Linux]] and [[386BSD]] became available in the early 1990s, many [[volunteer]] [[software developer]]s abandoned MINIX in favor of these. In April 2000, MINIX became [[free and open-source software]] under the [[BSD licenses|BSD-3-Clause]] license, which was retroactively applied to all previous versions.<ref name="bsd3clause"/><ref name="retroactive-2000"/> However, by this time other operating systems had surpassed its capabilities, and it remained primarily an operating system for students and [[hobbyist]]s. In late 2005, MINIX was relicensed with a fourth clause added to the [[BSD licenses|BSD-3-Clause]] license.<ref name="bsd34clause"/> | ||
== Compared to other teaching operating systems == | |||
{{Teaching OS}} | |||
==See also== | ==See also== | ||
| Line 105: | Line 109: | ||
*[[MINIX file system]] | *[[MINIX file system]] | ||
*[[Redox (operating system)|Redox]], an operating system in Rust using a MINIX-like kernel | *[[Redox (operating system)|Redox]], an operating system in Rust using a MINIX-like kernel | ||
==Notes== | ==Notes== | ||
Latest revision as of 02:09, 7 November 2025
Template:Short description Template:Use dmy dates Script error: No such module "Unsubst".Script error: No such module "Check for unknown parameters".
MINIX is a Unix-like operating system based on a microkernel architecture, first released in 1987 and written by American-Dutch computer scientist Andrew S. Tanenbaum. It was designed as a clone of the Unix operating system[1] and one that could run on affordable, Intel 8086-based home computers; MINIX was targeted for use in classrooms by computer science students at universities.[2][1]
Its name comes from mini-Unix. MINIX was initially proprietary source-available, but was relicensed under the BSD 3-Clause to become free and open-source in 2000.[3][4] MINIX was ported to various additional platforms in the 1990s, and version 2.0 was released in 1997 and was the first to be POSIX compliant.[5][6] Starting with MINIX 3, released in 2005, the primary aim of development shifted from education to the creation of a highly reliable and self-healing microkernel OS.
Implementation
MINIX 1.0
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.[7] 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 executable binaries on floppy disk with a reference manual. MINIX 1 was system-call compatible with Seventh Edition Unix.[8]
Tanenbaum originally developed MINIX for compatibility with the IBM PC and IBM PC/AT microcomputers available at the time.
MINIX 1.4
There is a version of MINIX floating around that supports the Peripheral Technology PT68K-2 and PT68K-4 computers. The PT68K-2 and the PT68K-4 are both 68000 based computers with a standard 8 bit IBM PC ISA bus that has 6 connectors on the main board. It was ported to the PT68K machines by Gary Mills and Sidney Thompson. The port was adapted from the Atari port since it too is a 68000 based machine. The PT68K version has added support for the PT XT-IDE card from Peripheral Technology. It currently only supports the MDA display adapter (no CGA, EGA or VGA). For this reason, it has not yet been ported to the PT68K-5 (aka CDS68020). There is an SD Card image available from https://github.com/mevenson/minix-for-the-PT68K-2-4.
MINIX 1.5
MINIX 1.5, released in 1991, included support for MicroChannel IBM PS/2 systems and was also ported to the 68000 and SPARC architectures, supporting the Atari ST, Amiga, Macintosh,[9] 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
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.[10][11]
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.[12]
Minix-vmd
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
Script error: No such module "Labelled list hatnote".
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."[13]
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.[14]
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.[15] 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.[16][17]
MINIX 3.3.0, released in September 2014, brought ARM support.
MINIX 3.4.0RC, Release Candidates became available in January 2016.[18] However, a stable release of MINIX 3.4.0 is yet to be announced, and MINIX development has been dormant since 2018.[19]
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.[20]
All Intel chipsets post-2015 are running MINIX 3 internally as the software component of the Intel Management Engine.[21][22]
Relationship with Linux
Early influence
Linus Torvalds used and appreciated MINIX,[23] 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.[24]
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.[25]
Samizdat claims
In his 2004 book, Samizdat, Kenneth Brown of AdTI claimed that much of the Linux kernel was copied from MINIX.[26] 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.[5][6]
Licensing
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.[12][27] 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.[28]
Compared to other teaching operating systems
See also
Script error: No such module "Portal".
- MINIX file system
- Redox, an operating system in Rust using a MINIX-like kernel
Notes
References
External links
- Template:Official website
- Template:Github
- The Minix Operating System (Minix 2 support)
- History of MINIX from Andrew Tanenbaum
- Template:Trim Template:Replace on YouTubeScript error: No such module "Check for unknown parameters".
Template:Unix-like Template:FOSS Template:Microkernel Template:Authority control
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedlicense-2000 - ↑ Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Template:Cite magazine
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b Script error: No such module "citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedretroactive-2000 - ↑ Cite error: Invalid
<ref>tag; no text was provided for refs namedbsd34clause
- Pages with script errors
- Pages with broken file links
- Minix
- 1987 software
- Computer-related introductions in 1987
- ARM operating systems
- X86 operating systems
- Computer science in the Netherlands
- Dutch inventions
- Educational operating systems
- Free software operating systems
- Information technology in the Netherlands
- Lightweight Unix-like systems
- Microkernel-based operating systems
- Microkernels
- Operating system distributions bootable from read-only media
- Software using the BSD license
- Unix variants
- Pages with reference errors