Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Minix

From Wikipedia, the free encyclopedia
Unix-like operating system

Operating system
MINIX
The MINIX 3.3.0 login prompt
The MINIX 3.3.0login prompt
DeveloperAndrew S. Tanenbaum, et al.
Written inC
OS familyUnix-like
Working stateAbandoned
Source modelOpen-source
Initial release1987; 39 years ago (1987)
Latest release3.3.0[1] / 16 September 2014; 11 years ago (2014-09-16)
Latest preview3.4.0rc6[2] / 9 May 2017; 8 years ago (2017-05-09)
Repository
Marketing targetTeaching (v1, v2)
Embedded systems (v3)
Available inEnglish
Update methodCompile fromsource code
Package managerN/A
Supported platformsIBM PC compatibles,68000,SPARC,Atari ST,Amiga,Macintosh,SPARCstation,Intel 386,NS32532,ARM,Inmostransputer,Intel Management Engine[3]
Kernel typeMicrokernel
UserlandBSD (NetBSD)
License2005:BSD 3-Clause[a][4]
2000:BSD 3-Clause[5][6][7]
1995:Proprietary[8]
1987:Proprietary[9]
Official websitewww.minix3.org

MINIX is aUnix-likeoperating system based on amicrokernelarchitecture, first released in 1987 and written by American-Dutch computer scientistAndrew S. Tanenbaum. It was designed as a clone of theUnix operating system[10] and one that could run on affordable,Intel 8086-basedhome computers; MINIX was targeted for use in classrooms bycomputer science students at universities.[11][10]

Its name comes frommini-Unix. MINIX was initiallyproprietary source-available, but was relicensed under theBSD 3-Clause to becomefree and open-source in 2000.[6][12] MINIX was ported to various additional platforms in the 1990s, and version 2.0 was released in 1997 and was the first to bePOSIX compliant.[13][14] Starting withMINIX 3, released in 2005, the primary aim of development shifted from education to the creation of ahighly reliable andself-healing microkernel OS.

Implementation

[edit]

MINIX 1.0

[edit]

Andrew S. Tanenbaum created MINIX atVrije Universiteit inAmsterdam to exemplify the principles conveyed in histextbook,Operating Systems: Design and Implementation (1987). (Despite sharing a name, it has no relation to the older MINIX from Digital Systems House, Inc.[15] based onAT&T Unix code.)

An abridged 12,010 lines of theCsource code of thekernel,memory manager, andfile system of MINIX 1.0 are printed in the book.Prentice-Hall also released MINIX source code andexecutable binaries onfloppy disk with a reference manual. MINIX 1 was system-call compatible withSeventh Edition Unix.[16]

Tanenbaum originally developed MINIX for compatibility with theIBM PC andIBM PC/ATmicrocomputers available at the time.

MINIX 1.4

[edit]

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 PCISA 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 theMDA display adapter (noCGA,EGA orVGA). For this reason, it has not yet been ported to the PT68K-5 (aka CDS68020). There is anSD Cardimage available fromhttps://github.com/mevenson/minix-for-the-PT68K-2-4.

MINIX 1.5

[edit]

MINIX 1.5, released in 1991, included support forMicroChannelIBM PS/2 systems, and was alsoported to the68000 andSPARC architectures, supporting theAtari ST,Amiga,Macintosh,[17][18] andSunSPARCstationcomputer platforms. There were also unofficial ports toIntel 386PC compatibles (in32-bitprotected mode),National SemiconductorNS32532,ARM andInmostransputer processors.Meiko Scientific used an early version of MINIX as the basis for theMeikOS operating system for its transputer-basedComputing Surfaceparallel computers.

MINIX 2.0

[edit]
MINIX 2.0.4 system startup and login prompt
MINIX 2.0.4shell interaction

Demand for the 68k-architectures waned, however, and MINIX 2.0, released in 1997, was only available for thex86 andSolaris-hosted SPARC architectures. It was the subject of the second edition ofTanenbaum's textbook, cowritten with Albert Woodhull and was distributed on aCD-ROM included with the book. MINIX 2.0 addedPOSIX.1 compliance, support for 386 and later processors in 32-bit mode and replaced theAmoeba network protocols included in MINIX 1.5 with aTCP/IP stack. A version of MINIX running as a user process underSunOS andSolaris was also available, a simulator named SMX (operating system) or justSMX for short.[19][20]

Version 2.0.3 was released in May 2001. It was the first version after MINIX had been relicensed under theBSD-3-Clause license, which was retroactively applied to all previous versions.[21]

Minix-vmd

[edit]

Minix-vmd is a variant of MINIX 2.0 for IntelIA-32-compatible processors, created by two Vrije Universiteit researchers, which addsvirtual memory and support for theX Window System.

MINIX 3

[edit]
Main article:MINIX 3
MINIX 3 runningX11 with thetwm window manager
Architecture of MINIX 3

MINIX 3 was publicly announced on 24 October 2005 by Tanenbaum during his keynote speech at theAssociation for Computing Machinery (ACM) Symposium on Operating Systems Principles (SOSP). Although it still serves as an example for the third 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."[22]

MINIX 3 currently supportsIA-32 andARM architecture systems. It is available in alive 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, includingBochs,QEMU,VMware Workstation andFusion,VirtualBox, andMicrosoft Virtual PC.

Version 3.1.2 was released on 18 April 2006. It was the first version after MINIX had been relicensed under theBSD-3-Clause license with a new fourth clause.[23]

MINIX 3.1.7 runningX11 with theEDE

Version 3.1.5 was released on 5 November 2009. It containsX11,emacs,vi,cc,gcc,perl,python,ash,bash,zsh,ftp,ssh,telnet,pine, and over 400 other commonUnix 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. Since version 3.1.4 support forvirtual memory management has been added, making it suitable for desktop OS use.[24] Desktop applications such asFirefox andOpenOffice.org are not yet available for MINIX 3 however.

MINIX 3.2 running the "top" system monitoring command

As of version 3.2.0, theuserland was mostly replaced by that ofNetBSD and support frompkgsrc became possible, increasing the available software applications that MINIX can use.Clang replaced the prior compiler (withGCC now having to be manually compiled), andGDB, theGNU Debugger, wasported.[25][26]

MINIX 3.3.0, released in September 2014, brought ARM support.

MINIX 3.4.0RC, Release Candidates became available in January 2016.[27] However, a stable release of MINIX 3.4.0 is yet to be announced, and MINIX development has been dormant since 2018.[28]

MINIX supports many programming languages, includingC,C++,FORTRAN,Modula-2,Pascal,Perl,Python, andTcl.

Over 50 people attended MINIXCon 2016, a conference to discuss the history and future of MINIX.[29]

All Intel chipsets post-2015 are running MINIX 3 internally as the software component of theIntel Management Engine.[30][31]

Relationship with Linux

[edit]

Early influence

[edit]

Linus Torvalds used and appreciated MINIX,[32] but his design deviated from the MINIX architecture in significant ways, most notably by employing amonolithic kernel instead of amicrokernel. This was disapproved of by Tanenbaum in theTanenbaum–Torvalds debate. Tanenbaum explained again his rationale for using a microkernel in May 2006.[33]

EarlyLinux kernel development was done on a MINIX host system, which led toLinux inheriting various features from MINIX, such as theMINIX 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.[34]

Samizdat claims

[edit]

In his 2004 book,Samizdat, Kenneth Brown ofAdTI claimed that much of the Linux kernel was copied from MINIX.[35]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 pointing out that Brown was funded byMicrosoft.[13][14]

Licensing

[edit]

At the time of MINIX's original development, itslicense 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 tostudents, 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.

Whenfree and open-source Unix-like operating systems such asLinux and386BSD became available in the early 1990s, manyvolunteersoftware developers abandoned MINIX in favor of these. In April 2000, MINIX becamefree and open-source software under theBSD-3-Clause license, which was retroactively applied to all previous versions.[21][7] However, by this time other operating systems had surpassed its capabilities, and it remained primarily an operating system for students andhobbyists. In late 2005, MINIX was relicensed with a fourth clause added to theBSD-3-Clause license.[4]

Compared to other teaching operating systems

[edit]
SystemLines of codeKernel typeLanguageHardware environmentLacks (vs others)
Minix 1~12kMicrokernelCx86-16?
Minix 2?MicrokernelCx86-32?
Minix 3~100k+MicrokernelCx86-32N/a
Nachos~15kNo kernel. User-space OS simulatorC++MIPS simulatorSMP,paging,real hardware
Pintos~25kMonolithicCx86 (typically underQEMU/Bochs)SMP,user-space drivers
Xinu~10kMonolithicCx86 /ARMSMP, paging,virtual memory
xv6~10kMonolithicCx86 /x86-64 /RISC-Vuser-space drivers,POSIX layer

See also

[edit]

Notes

[edit]
  1. ^BSD 3-Clause with a fourth clause

References

[edit]
  1. ^Michael Larabel (16 September 2014)."Minix 3.3 Released With Cortex-A8 ARM Support, NetBSD Userland Compatibility".Phoronix.Archived from the original on 25 March 2022. Retrieved11 May 2020.
  2. ^"MINIX 3.4 RC6 Released - Phoronix".Archived from the original on 18 March 2022. Retrieved18 June 2018.
  3. ^"Intel ME: The Way of Static Analysis". Archived fromthe original on 1 July 2017. Retrieved4 July 2017.
  4. ^ab"The MINIX license". Archived fromthe original on 24 November 2005. Retrieved24 November 2005.
  5. ^"MINIX license change".Archived from the original on 6 December 2022. Retrieved23 December 2023.
  6. ^ab"MINIX is now available under the BSD license".Archived from the original on 8 May 2006. Retrieved14 June 2021.
  7. ^ab"Minix".Archived from the original on 13 October 2006. Retrieved15 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.
  8. ^"License (1.7.0 to 2.0.2)". Archived fromthe original on 26 July 1997. Retrieved14 June 2021.
  9. ^"Minix versions and their use in teaching".Archived from the original on 11 July 2006. Retrieved14 June 2021.
  10. ^abAnthes, Gary."Timeline: 40 Years Of Unix".Computerworld. Retrieved13 February 2025.
  11. ^Bentson, Randolph."The Humble Beginnings of Linux".Association for Computing Machinery. Retrieved21 November 2024.
  12. ^Byfield, Bruce (1 August 2010)."An Introduction to MINIX | Linux Journal".www.linuxjournal.com. Retrieved5 December 2024.
  13. ^abTanenbaum, Andrew S. (20 May 2004)."Some Notes on the "Who wrote Linux" Kerfuffle, Release 1.5". Archived fromthe original on 18 August 2010. Retrieved20 August 2016.
  14. ^abTanenbaum, Andrew S.; Woodhull, Albert S.; Sambuc, Lionel (11 March 2015)."MINIX 3 FAQ". Archived fromthe original on 26 April 2019. Retrieved20 August 2016.
  15. ^"MINIX advertisement".Computerworld. Vol. 13, no. 31. 30 July 1979. p. 38. Retrieved22 March 2022.
  16. ^Tanenbaum, Andrew S.; Woodhull, Albert S. (1997) [1986].Operating Systems Design and Implementation (Second ed.). Prentice Hall.ISBN 0-13-638677-6.OCLC 35792209. Retrieved2 August 2011.
  17. ^Yager, Tom (December 1990)."Unix with a microscope".BYTE. Vol. 15, no. 13. pp. 345–346.ISSN 0360-5280. Retrieved6 January 2026.
  18. ^"MacMinix".GitHub.Archived from the original on 26 February 2021. Retrieved8 August 2014.
  19. ^Tanenbaum, Andrew S.; Woodhull, Albert S.; Bot, Kees (22 July 2005)."Welcome to MINIX"(TXT).Archived from the original on 17 April 2016. Retrieved2 August 2011.
  20. ^Flouris, M."Installing and running MINIX for Solaris (SMX)". Archived fromthe original on 12 May 2016. Retrieved2 August 2011.
  21. ^ab"BSD-3-Clause". Archived fromthe original on 14 April 2000. Retrieved14 June 2021.
  22. ^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.
  23. ^"License".GitHub.Archived from the original on 15 June 2021. Retrieved15 June 2021.
  24. ^Schmidt, Ulrich (10 November 2010)."New to minix".Archived from the original on 28 May 2013. Retrieved2 August 2011.
  25. ^"MINIX Releases".wiki.minix3.org. Archived fromthe original on 31 May 2012. Retrieved29 February 2012.
  26. ^Vervloesem, Koem (7 March 2012)."MINIX 3.2: A microkernel with NetBSD applications".lwn.net.Archived from the original on 17 June 2018. Retrieved17 June 2018.
  27. ^"Index of /iso/snapshot/".download.minix3.org.Archived from the original on 25 February 2013. Retrieved14 October 2016.
  28. ^"git.minix3.org Git - minix.git/shortlog".git.minix3.org.Archived from the original on 16 January 2016. Retrieved23 September 2022.
  29. ^"MINIXCon 2016".www.minix3.org.Archived from the original on 3 June 2018. Retrieved14 October 2016.
  30. ^"Positive Technologies research".blog.ptsecurity.com. Archived fromthe original on 28 August 2017. Retrieved6 September 2017.
  31. ^Vaughan-Nichols, Steven (6 November 2017)."MINIX: Intel's hidden in-chip operating system".ZDNET.Archived from the original on 3 August 2023. Retrieved19 April 2019.
  32. ^Moody, Glyn (25 August 2015)."How Linux was born, as told by Linus Torvalds himself".Ars Technica.Archived from the original on 25 August 2015. Retrieved25 August 2015.
  33. ^Tanenbaum, Andrew S. (12 May 2006)."Tanenbaum-Torvalds Debate: Part II". Retrieved2 August 2011.
  34. ^Raymond, Eric (1999).The Cathedral & the Bazaar.O'Reilly Media. p. 33.ISBN 1-56592-724-9.
  35. ^Brown, Kenneth (4 June 2004)."Samizdat's critics… Brown replies". Alexis de Tocqueville Institution. Archived from the original on 22 October 2004. Retrieved2 August 2011.

External links

[edit]
Minix at Wikipedia'ssister projects
Operating
systems
BSD
Linux
System V
Other
Compatibility
layers
General
Software
packages
Community
Organisations
Licenses
Types and
standards
Challenges
Related
topics
Kernels
L4 family
Macintosh hosted
Psion
Amiga-type
Operating
systems
POSIX support
Unix-like
Partial
Capability-based
L4 kernel
Java virtual machine
Macintosh hosted
Unix-like
Psion
  • EPOCSymbian OS
  • Amiga-type
    Microsoft
    AIM alliance
    Frameworks,kits
    Developers
    International
    National
    Other
    Retrieved from "https://en.wikipedia.org/w/index.php?title=Minix&oldid=1333190014"
    Categories:
    Hidden categories:

    [8]ページ先頭

    ©2009-2026 Movatter.jp