[1] MINIX是一种基于微内核架构的类UNIX
计算机操作系统,由Andrew S. Tanenbaum发明。MINIX最初发布于1987年,开放全部
源代码给大学教学和研究工作。2000年重新改为BSD授权,成为自由和开放源码软件。MINIX为全球注册商标。
- 中文名
- Minix
- 性 质
- 计算机操作系统
- 研 发
- Andrew S. Tanenbaum
- 最初发布
- 1987年
ablimit007 Minix的名称取自英语Mini UNIX,是一个迷你版本的类Unix操作系统(约300MB),其它类似的系统还有Idris,Coherent和Uniflex等。这些类Unix操 作系统都是重新发展的,并没有使用任何AT&T的程序码。
目前的Minix版本为Minix 3,是一个免费、开源的操作系统,设计目标是实现高可靠性、灵活性及安全性。其系统主要包括在核心模式下运作的微核心和在用户模式下作为一系列独立、受保护的进程运行的其余所有操作系统组件。[2]
Minix原来是荷兰阿姆斯特丹的Vrije大学计算机科学系的 Andrew S. Tanenbaum教授所发展的一个类Unix操作系统。全部的程序码共约12,000行,并置于他的著作Operating Systems: Design and Implementation(ISBN 0-13-637331-3)的附录里作为范例。Minix的系统要求在当时来说非常简单,只要三片磁片就可以启动。Minix原始是设计给1980年代 到1990年代的IBM PC和IBM PC/AT兼容电脑上执行。1.5版也有移植到以Motorola 68000系列CPU为基础的电脑上(如Atari ST,Amiga,和早期的Apple Macintosh)和以SPARC为基础的机器(如升阳sun公司的工作站)。2.0版则只有x86架构的版本。
因为AT&T的政策改变,在Version 7 Unix推出之后,发布新的使用条款,将UNIX源代码私有化,在大学中不再能使用UNIX源代码。塔能鲍姆教授为了能在课堂上教授学生操作系统运作的实 务细节,决定在不使用任何AT&T的源代码前提下,自行开发与UNIX兼容的操作系统,以避免版权上的争议。他以小型UNIX(mini- UNIX)之意,将它称为MINIX。
全套Minix除了起动的部份以
汇编语言编写以外,其他大部份都是纯粹用C语言编写。分为:内核、
内存管理及档案管理三部份。
[1]
如果想了解类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本身没有实用性。
[1]
在授权方式上,Minix的版权宣告在早期被认为是相当自由的,在作者 Andrew S. Tanenbaum希望拿Minix作为一个公开的教材与出版社希望保护程序码著作财产权的平衡下,它只要求一个相当低的授权费。但因为它并不是一个开放 源码的授权方案,所以志愿工作者在以GPL方式散布的Linux核心出现后就多转向Linux平台。而Unix也在柏克莱系统与AT&T达成协议 后,出现了以BSD 授权散布的FreeBSD开放平台。Minix虽然在2000年改用BSD 授权,但这时其它的操作系统在功能上大幅超越了它,而它失去了发展成一个广泛使用的操作系统的机会,只留下,如它的作者Andrew S. Tanenbaum,原来期望的,作为一个开放的教材的用途。
概要问题
MINIX 3是什么?
MINIX 3是一个为高可靠性应用而设计的自由且简洁的
类UNIX系统。它特别适用于低端的个人电脑、资源受限制系统和嵌入式应用。你可以获得它所有的
源代码,这使得它很适合于课堂教学和那些想了解操作系统怎样运行的自学者。
MINIX 3运行的硬件要求?
你需要一台有4 MB内存、100MB空闲硬盘空间和CD-ROM(IDE)的Intel386及其以上计算机。现暂时还不支持从USB启动。
我如何获得MINIX 3呢?
请访问Minix3官网[2]
我怎么得到关于MINIX 3的帮助呢?
你可以浏览USENET 新闻组并发帖提问。你也可以使用邮件列表。
我可以成为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的性能如何?
我们对MINIX 3(用户模式)和MINIX 2(内核模式)的性能做了比较测量,MINIX 3比MINIX 2慢了5-10%。因为有太多的不同(譬如
磁盘驱动还不支持DMA,ACK
编译器虽然比GCC快但是产生的代码不如GCC,还有文件系统的差别,等等),所以我们还没有将MINIX 3与其他的操作系统做比较。最大的差别还是MINIX 3到现在为止只用了1人年左右的工作,而其他操作系统则用了数千人年。而且我们是可靠性优先,而不是性能。
我该如何在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吗?
可以。
我可以在Windows中使用Virtual PC来运行MINIX 3吗?
- vue中的minix
minix 是个什么东西, 就是混合,把你混合给我 浅显表述就是 你说 : ‘我叫李四’, 我说 : ‘我叫张三’, 然后把你 混合给我, 就成了 我说 : ‘我叫张三我叫李四’, 所有解说都在例子里 ...
- minix中二分查找bsearch的实现
在看minix中bsearch实现的源代码之前,先学习一下C 语言中void类型以及void*类型的使用方法与技巧. void的含义: void的字面意思是“无类型”,void *则为“无类型指针”, ...
- Minix中的字符判定ctype.c
minix中关于如何判定一个字符的类型,如大写.小写.数字…… 如果采用传统的方法,如判断一个字母大写的方法: if(c>='A' && c<'Z') return tru ...
- implement a system call in minix
http://www.papervisions.com/implementing-system-call-in-minix-os/
- 调试minix内核
调试的时候,要把电脑当作单片机来使用,故先需要添加串口,方便进行打印调试 http://wiki.minix3.org/doku.php?id=developersguide:serialout 1. ...
- minix中atoi、atol、atof的实现
在minix2.0源代码中,有将字符串类型转换为int.long.double类型的函数实现,相关的实现函数分别在atoi.c.atol.c.atof.c文件中,我们来逐一学习其中的源码: 1.int ...
- minix中时间转换的实现(asctime.c)
在minix2.0源代码中,有相当经典的时间转换函数实现(src\ src\ lib\ ansi\ asctime.c),今天我们就来分析一下asctime.c中的源码 首先引入几个相关的头文件: 1 ...
- 用sass的minix定义一些代码片段,且可传参数
/** *@module功能 *@description生成全屏方法 *@method fullscreen *@version 1.7.0 *@param{Integer}$z-index 指定层叠 ...
- Linux基础介绍【第九篇】
服务器添加3块磁盘的体系结构 [root@oldboylinux test]# free -m total used free shared buffers cached M ...
随机推荐
- 如何启用Oracle EBS Form监控【Z】
前言: 有时候,因某些需要,必须知道Oracle的Form被使用的情况,以方面我们做出决策: 例如,如果某个Form被使用的次数非常多,那么,这个Form的相关SQL代码就应该优先处理,以减少服务器负 ...
- PHP性能如何实现全面优化?
性能是网站运行是否良好的关键因素, 网站的性能与效率影响着公司的运营成本及长远发展,编写出高质高效的代码是我们每个开发人员必备的素质,也是我们良好的职业素养. 如何优化PHP性能呢? 一.变量(重要) ...
- 航频之声APP截图
上传github的APP截图......
- uvalive 6888 Ricochet Robots bfs
题目链接 给一个n*m的图, 图上有n个标号, n<=4, 然后有墙, 还有一个终点x. 每一步, 只能走某一个标号, 可以向四个方向走, 然后必须要碰到墙或者图的边界或者另一个标号才能停下来. ...
- MySql: Column 'XXXX' in field list is ambiguous 错误
[Err] 1052 - Column 'XXXX' in field list is ambiguous 例如: SELECT id, a.name, price, `describe`, scho ...
- 添加EF上下文对象,添加接口、实现类以及无处不在的依赖注入(DI)
添加EF上下文对象,添加接口.实现类以及无处不在的依赖注入(DI) 目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 上一章,我们介绍了安装和新建控制器.视图,这一章我们来创建 ...
- MMC卡是什么
MMC卡(Multimedia Card) 翻译成中文为“多媒体卡”.是一种快闪存储器卡标准.在1997年由西门子及SanDisk共同开发,技术基于东芝的NAND快闪记忆技术,因此较早期基于Intel ...
- delphi 编码速度提升技能
效率,是一个永恒的主题. 本文重点强调 delphi ide 中的编码速度技能 一.TForm 窗口重用 当您在写一个管理类软件的时候,有大量的操作窗口,这些窗口会有大量共性.窗口重用就会发挥很大的作 ...
- 关于httpservletrequest的获取真实的ip
via 值为: 下面是一些DemoWTP/1.1 GDSZ-PS-GW010-WAP05.gd.chinamobile.com (Nokia WAP Gateway 4.0 CD3/ECD13_C/N ...
- [置顶] C# WINCE调节屏幕亮度
在wince里面保存屏幕亮度的值保存在注册表HKEY_CURRENT_USER\ControlPanel\\Backlight\Brightness里面,值的范围是0-100,所以要改变屏幕的亮度,只 ...