MINIX
此条目需要精通或熟悉计算机科学的编者参与及协助编辑。 |
Minix,是一个迷你版本的类Unix作业系统,由塔能鲍姆教授为了教学之用而创作,采用微核心设计。它启发了Linux核心的创作。
开发者 | 塔能鲍姆 |
---|---|
编程语言 | C |
作业系统家族 | 类Unix |
运作状态 | 开发中 |
源码模式 | 开放原始码 |
当前版本 | |
市场取向 | 教育(v1, v2)、嵌入式系统(v3) |
支持的语言 | 英文 |
支援平台 | PC, PC/AT, PS/2, Motorola 68000, SPARC, 雅达利ST电脑, Amiga, Macintosh, SPARCstation, Intel 80386, IBM PC兼容机, NS32532, ARM and INMOS transputer |
内核类别 | 微核心 |
默认用户界面 | 命令列介面(ash) |
许可证 | BSD授权条款 |
官方网站 | www.minix3.org |
仓库 |
它的名称取自英语:Mini UNIX的缩写。与Xinu、Idris、Coherent和Uniflex等类Unix作业系统类似,衍生自Version 7 Unix,但并没有使用任何AT&T的程式码。第一版于1987年释出,只需要购买它的磁片,就提供完整的原始码给大学系所与学生,作为授课及学习之用。2000年4月,重新以BSD授权条款释出,成为开放原始码软体。
历史与版本
MINIX 1.0
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行,并置于他的著作《作业系统:设计与实作》(Operating Systems: Design and Implementation,ISBN 0-13-637331-3)的附录里作为范例。Minix的系统要求在当时来说非常简单,只要三片磁片就可以起动。
Minix原始是设计给1980年代到1990年代的IBM PC和IBM PC/AT相容电脑上执行,主要运作于16-bits的Intel 8080平台,以软碟起动。
MINIX 1.5
1.5版也有移植到以Motorola 68000系列CPU为基础的电脑上(如Atari ST,Amiga,和早期的Apple Macintosh)和以SPARC为基础的机器(如昇阳(Sun)公司的工作站)。
MINIX 2.0
1997年,随著教科书改版,塔能鲍姆释出Minix 2,在这版中,它改成可以在Intel 80386等x86平台上运作,从硬碟上开机。
Minix-vmd
MINIX 3
2004年,塔能鲍姆重新架构与设计了整个系统,更进一步的将程式模组化,推出Minix 3。桌面环境的EDE在MINIX 3中作为可选包。
技术内容
全套Minix除了启动的部份以汇编语言编写以外,其他大部份都是纯粹用C语言编写。分为:核心、记忆体管理及文件系统三部份。
Minix在设计之初,为了使程式简化,它将程式模组化,如档案系统与记忆体管理,都不是在作业系统核心中运作,而是在使用者空间运作。至Minix 3时,连IO装置都被移到使用者空间运作。
另一个特点,则是Minix主要目的是用于教学,因此程式码撰写上极力重视简洁与可读性。
Minix与Linux
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才又改头换面,现在它是一个朝向小型系统的可靠作业系统。
参考资料
- ^ MINIX 3.3.0 is Available Now.
- ^ Release v3.3.0 · Stichting-MINIX-Research-Foundation/minix. [2024年11月3日] (英语).
相关网站
- Minix3官方网站 (页面存档备份,存于互联网档案馆)