Minix,是一个迷你版本的类Unix操作系统,由塔能鲍姆教授为了教学之用而创作,采用微核心设计。它启发了Linux核心的创作。
它的名称取自英语:Mini UNIX的缩写。与Xinu、Idris、Coherent和Uniflex等类Unix操作系统类似,派生自Version 7 Unix,但并没有使用任何AT&T的代码。第一版于1987年发布,只需要购买它的磁片,就提供完整的源代码给大学系所与学生,做为授课及学习之用。2000年4月,重新以BSD许可协议发布,成为开放源代码软件。
Minix原来是荷兰阿姆斯特丹自由大学计算机科学系的塔能鲍姆教授(Prof. Andrew S. Tanenbaum)所发展的一个类Unix操作系统。
因为AT&T的政策改变,在Version 7 Unix推出之后,发布新的使用许可协议,将UNIX源代码私有化,在大学中不再能使用UNIX源代码。塔能鲍姆教授为了能在课堂上教授学生操作系统运作的实务细节,决定在不使用任何AT&T的源代码前提下,自行开发与UNIX兼容的操作系统,以避免著作权上的争议。他以小型UNIX(mini-UNIX)之意,将它称为MINIX。
Minix以C语言写成,与Version 7 Unix兼容,全部的代码共约12,000行,并置于他的著作《操作系统:设计与实现》(,ISBN 0-13-637331-3)的附录里作为示例。Minix的系统要求在当时来说非常简单,只要三片磁片就可以起动。
Minix原始是设计给1980年代到1990年代的IBM PC和IBM PC/AT兼容电脑上运行,主要运作于16-bits的Intel 8080平台,以软盘起动。
1.5版也有移植到已Motorola 68000系列CPU为基础的电脑上(如Atari ST,Amiga,和早期的Apple Macintosh)和以SPARC为基础的机器(如昇阳(Sun)公司的工作站)。
1997年,随着教科书改版,塔能鲍姆发布Minix 2,在这版中,它改成可以在Intel 80386等x86平台上运作,从硬盘上引导。
2004年,塔能鲍姆重新架构与设计了整个系统,更进一步的将程序模块化,推出Minix 3。
所有2015年之后发布的英特尔芯片都在内部运行着MINIX 3,作为Intel管理引擎(Intel Management Engine)的组件。
全套Minix除了启动的部分以汇编语言编写以外,其他大部分都是纯粹用C语言编写。分为:核心、存储器管理及文件系统三部分。
Minix在设计之初,为了使程序简化,它将程序模块化,如文件系统与存储器管理,都不是在操作系统核心中运作,而是在用户空间运作。至Minix 3时,连IO设备都被移到用户空间运作。
另一个特点,则是Minix主要目的是用于教学,因此代码撰写上极力重视简洁与可读性。
Linux是其作者受到Minix的影响而作成的(林纳斯·托瓦兹不喜欢他的386电脑上的MS-DOS操作系统,而安装了Minix,并以它为样本开发了原始的Linux核心)。但是这种影响更多在于非技术层面,确切地说是一种精神上的“鼓舞”。在设计上,Linux则和Minix相差很大,在Linux系统还没有自己的原生文件系统之前,曾采用Minix的文件系统。Minix在核心设计上采用微核心,即将操作系统分成微核心和其上的提供文件系统、存储器管理、驱动程序等服务的服务程序;而Linux则和原始的Unix都采用宏内核。在Linux发展之初,双方还于1992年在新闻组上有过一场精彩的争论,被称为塔能鲍姆-林纳斯辩论。Minix的作者和支持者认为使用宏内核是技术上的退步,而Linux的支持者认为Minix本身没有实用性。
在许可方式上,Minix的著作权宣告在早期被认为是相当自由的:塔能鲍姆教授在希望拿Minix作为一个公开的教材与出版社希望保护代码著作权的平衡下,它只要求一个相当低的许可费。但因为它并不是一个开放源代码的许可方案,所以志愿工作者在以GPL方式散布的Linux核心出现后就多转向Linux平台。而Unix也在BSD与AT&T达成协议后,出现了以BSD许可证许可散布的FreeBSD开放平台。Minix虽然在2000年改用BSD许可协议,但这时其它的操作系统在功能上大幅超越了它,而它失去了发展成一个广泛使用的操作系统的机会,只留下,如塔能鲍姆教授原来期望的,作为一个开放的教材的用途。直到Minix 3出现后,Minix才又改头换面,现在它是一个朝向小型系统的可靠操作系统。