Minix的名称取自英语Mini UNIX,是一个迷你版本的类Unix操作系统(约300MB),其它类似的系统还有Idris,Coherent,和Uniflex等。这些类Unix操作系统都是重新发展的,并没有使用任何AT&T的程序码
历史
Minix原来是荷兰阿姆斯特丹的Vrije大学计算机科学系的Andrew S. Tanenbaum教授所发展的一个类Unix操作系统。全部的程序码共约12,000行,并置于他的著作Operating Systems: Design and Implementation(ISBN 0-13-637331-3)的附录里作为范例。Minix的系统要求在当时来说非常简单,只要三片磁片就可以起动。
全套Minix除了起动的部份以汇编语言编写以外,其他大部份都是纯粹用C语言编写。分为:内核、内存管理及档案管理三部份。
Minix原始是设计给1980年代到1990年代的IBM PC和IBM PC/AT兼容电脑上执行。1.5版也有移植到已Motorola 68000系列CPU为基础的电脑上(如Atari ST,Amiga,和早期的Apple Macintosh)和以SPARC为基础的机器(如升阳sun公司的工作站)。2.0版则只有x86架构的版本。
Minix与Linux
如果想了解类Unix系统的内部工作情况,学生可以在他们自己的电脑上运行Minix。据报道,即使是毫无经验的学生也能在几个月的、对典型培训课程的学习中获得对整个系统的很好的了解。Minix最有名的学生用户是Linus Torvalds,他在芬兰的赫尔辛基大学用Minix操作平台建立了一个新的操作系统的内核,他把它叫做Linux。
Linux是其作者受到Minix的影响而作成的(Linus Torvalds不喜欢他的386电脑上的MS-DOS操作系统,安装了Minix,并以它为样本开发了原始的Linux内核)。但在设计哲学上,Linux则和Minix大相迳庭。Minix在内核设计上采用微内核的原则,但Linux则和原始的Unix相同都采用单内核的概念。在Linux发展之初,双方还于1992年在新闻组上有过一场精彩的理念争论。Minix的作者和支持者认为Linux的单内核构造是“向七十年代的大倒退”,而Linux的支持者认为Minix本身没有实用性。
授权方式
在授权方式上,Minix的版权宣告在早期被认为是相当自由的,在作者Andrew S. Tanenbaum希望拿Minix作为一个公开的教材与出版社希望保护程序码著作财产权的平衡下,它只要求一个相当低的授权费。但因为它并不是一个开放源码的授权方案,所以志愿工作者在以GPL方式散布的Linux核心出现后就多转向Linux平台。而Unix也在柏克莱系统与AT&T达成协议后,出现了以BSD 授权散布的FreeBSD开放平台。Minix虽然在2000年改用BSD 授权,但这时其它的操作系统在功能上大幅超越了它,而它失去了发展成一个广泛使用的操作系统的机会,只留下,如它的作者Andrew S. Tanenbaum,原来期望的,作为一个开放的教材的用途。
了解更多
你可以去http://www.minix3.org Minix 3 的官方网站去查看更多关于Minix的信息。也可以下载体验Minix,在Minix的安装文档中要详细的安装过程,这样你就不必为安装它而苦恼。
国内下载地址:http://download.chinaunix.net/download/0013000/12303.shtml
FAQ:
概要问题
MINIX 3是什么?
MINIX 3是一个为高可靠性应用而设计的自由且简洁的类UNIX系统。它特别适用于低端的个人电脑、资源受限制系统和嵌入式应用。你可以获得它所有的源代码,这使得它很适合于课堂教学和那些想了解操作系统怎样运行的自学者。
MINIX 3运行的硬件要求?
你需要一台有4 MB内存、100MB空闲硬盘空间和CD-ROM(IDE)的Intel386及其以上计算机。现在暂时还不支持从USB CD-ROM启动。
我如何获得MINIX 3呢?
3.1版本的MINIX 3包括在Andrew S. Tanenbaum和Albert S. Woodhull的《操作系统设计与实现,第三版》附带的光盘中。你可以在下载页中免费获得更新版本的MINIX 3。
我怎么得到关于MINIX 3的帮助呢?
你可以浏览USENET 新闻组并发帖提问。你也可以使用邮件列表。
我是菜鸟。我该怎么学习在MINIX 3下编程?
请阅读这篇指南来作为你的入门。
也许已经有人遇到过和我相同的问题。新闻组有编档保存吗?
有。请看编档保存。
我找不到以前看过内容了。有什么办法可以找回来吗?
也许吧。来试试这个时光机器。
我如何获得关于MINIX 3用于教学的信息?
这个网页会是你不错的开始。
我可以成为MINIX 3的开发人员吗?
如果你有一定的时间、兴趣和必备的知识,欢迎你加入MINIX 3社区。从这里开始吧。
法律问题
MINIX 3用的是什么许可证?
MINIX 3使用的许可证是伯克利(BSD)许可证的一个克隆版本。你可以在同意以下两个条件的前提下对系统做任何你喜欢做的事:(1)你同意在任何条件下你都不会控告我们;(2) 除非已经做了其他安排,否则你要把荣誉行保留在源码、文档和公开资料中。在上面所提及的限制下,你可以自由地修改、重发布你的源代码,并且可以将它合并到你的商业产品中。
为什么不使用GPL许可证呢?
我们感到GPL许可证限制得太多。对开源软件的进一步开发而投入大量资金的公司可不想把它送给竞争者。我们认为BSD许可证更适合MINIX 3在嵌入式系统中的应用。
MINIX和Linux之间有什么关系呢?
MINIX 是一个发行于1987年的用于操作系统教学的简单易懂的小型UNIX克隆。赫尔辛基大学的学生Linus Torvalds在操作系统课程上学习了MINIX并买了一台PC来充分地运行它。然后他将MINIX作为平台和指导开发了MINIX的克隆 ---Linux,并且在1991年发布。这是他关于Linux的声明。
Linus被指责从MINIX偷窃了Linux,这是真的吗?
不,绝对不是。在微软的部分资助下Alexis de Tocqueville Institution公司的Ken Brown写了一篇报告声称Linus从MINIX偷窃了Linux。Brown的结论是由于知识产权的所有者不清,所以公司不应该使用Linux。这完全是废话!虽然对于一个只有21岁的学生来说没有一个相似的操作系统源代码来使用、学习和修改,他几乎不可能编写出一个他自己的操作系统,但是Linus的确编写了Linux源码的最初版本。Brown的报告和MINIX创建者的回应在Slashdot上有详细的论述。
技术问题
MINIX 3声称符合POSIX标准。什么是POSIX呢?
请阅读这篇关于POSIX的文档。
我该如何在MINIX 3环境中学习编程?
请阅读这篇关于MINIX编程的文档。
我该如何建立一个大于8 MB的RAM disk?
请阅读这篇关于RAM disks的文档。
我该怎么做才能在同一台计算机上启动多个操作系统?
使用multiboot loader。请阅读这篇关于multiboot loaders的文档以获得更多的信息。
我该怎么避免vol命令和软盘的问题?
请阅读这篇关于vol的文档。
为什么elle编辑器并不像手册页中所描述的那样运行?
请阅读这篇关于elle的文档以获得更多的帮助。
我可以在不同操作系统的文件系统之间交换数据吗?
可以。请阅读这篇关于数据交换的文档。
我该怎么样做才可以浏览并没有安装的手册页草案?
请使用nroff -man man_file | more命令。
MINIX 3的性能如何?
我们对MINIX 3(用户模式)和MINIX 2(内核模式)的性能做了比较测量,MINIX 3比MINIX 2慢了5-10%。因为有太多的不同(譬如现在的磁盘驱动还不支持DMA,ACK编译器虽然比GCC快但是产生的代码不如GCC,还有文件系统的差别,等等),所以我们还没有将MINIX 3与其他的操作系统做比较。最大的差别还是MINIX 3到现在为止只用了大概1人年的工作,而其他操作系统则用了数千人年。而且我们是可靠性优先,而不是性能。
在模拟器或者虚拟机上运行MINIX 3
我该如何在VMWare上运行MINIX 3?
请阅读这篇关于MINIX和VMWare的文档。你也可以下载预先装有MINIX 3的VMWare的虚拟机。这是一个关于"装有MINIX 3的VM"的主页的链接。你可以用VMWare的自由且可下载的VMWare Player来运行虚拟机。
我可以在Windows主机和VMWare上的MINIX 3之间传输数据吗?
你可以使用这个copy-and-paste tool。如果你在安装MINIX 3时选择了LANCE以太网芯片,就可以在MINIX 3中使用FTP。
我可以在MAC中使用Bochs仿真器来运行MINIX 3吗?
可以。请阅读这篇关于MINIX和Bochs的文档。
我可以在Windows中使用Virtual PC来运行MINIX 3吗?
可以。请阅读这篇关于MINIX和Virtual PC的文档。
修改于2006年1月25日
Copyright 浙江大学 张恒 (neveria@21cn.com)