Minux

MINIX是一种基于微内核架构的类UNIX计算机操作系统,由Andrew S. Tanenbaum发明。MINIX最初发布于1987年,开放全部源代码给大学教学和研究工作。2000年重新改为BSD授权,成为自由和开放源码软件。MINIX为全球注册商标。

简介

Minix的名称取自英语Mini UNIX,是一个迷你版本的类Unix操作系统(约300MB),其它类似的系统还有Idris,Coherent和Uniflex等。这些类Unix操作系统都是重新发展的,并没有使用任何AT&T的程序码。
目前的Minix版本为Minix 3,是一个免费、开源的操作系统,设计目标是实现高可靠性、灵活性及安全性。其系统主要包括在核心模式下运作的微核心和在用户模式下作为一系列独立、受保护的进程运行的其余所有操作系统组件。

发展

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语言编写。分为:内核、内存管理及档案管理三部份。

与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,原来期望的,作为一个开放的教材的用途。
概要问题

MINIX 3是什么?
    MINIX 3是一个为高可靠性应用而设计的自由且简洁的类UNIX系统。它特别适用于低端的个人电脑、资源受限制系统和嵌入式应用。你可以获得它所有的源代码,这使得它很适合于课堂教学和那些想了解操作系统怎样运行的自学者。
MINIX 3运行的硬件要求?
    你需要一台有4 MB内存、100MB空闲硬盘空间和CD-ROM(IDE)的Intel386及其以上计算机。现暂时还不支持从USB CD-ROM启动。
我如何获得MINIX 3呢?
    请访问Minix3官网[2]
我怎么得到关于MINIX 3的帮助呢?
    你可以浏览USENET 新闻组并发帖提问。你也可以使用邮件列表。
我可以成为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的性能如何?
    我们对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吗?
    可以。
我可以在Windows中使用Virtual PC来运行MINIX 3吗?
    可以。

时间: 2024-10-04 04:24:15

Minux的相关文章

我和linux的第四天

慢慢感觉linux很有乐趣,Linux的诞生是必然的,很传奇的一段历史. Linux 计算机主要以二进制为单位,目前常用的磁盘容量单位未B,其单位换算为1B=8bit,其他的以1024为倍数,eg:1G=1024MB:1MB=1024B. 操作系统(Operating System)主要用于管理与驱动硬件,因此必须能够管理内存.管理设备.负责进程管理以及系统调用等.因此,只要能够让硬件准备妥当(Ready)的情况,就是一个很棒的操作系统了. 操作系统重点仅在与驱动和管理硬件,而要使用硬件时,就需

Linux操作系统基础

1.Linux概述        Linux是一种自由和开放源代码的类UNIX操作系统.该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布,在加上用户空间的应用程序之后,成为Linux操作系统.Linux也是自由软件和开放源代码软件发展中最著名的例子.只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布.Linux操作系统的诞生.发展和成长过程始终依赖几个重要的支柱,即unix操作系统.minix操作系统.GNU计划.POS

Linux 的安装与简介

之前在大学学过linux,出来工作发现linux不只是一个系统而已,KALI也是封装在Linux上,磨刀不误砍柴工,于是,又撸起了linux 一:LIUNIX发展历史 1.1969年,肯·汤普森在DEC PDP-7机器上开发了unics系统,(即Unix的原型) 2.1971,肯汤普森的同事丹尼斯·里奇发明c语言,1973,unix系统的绝大部分源码用c语言重写.这为提高unix系统的可移植性打下基础. 3.1984,Tanenbaum教授为了教学需要,参照unix编写Minux linux诞生

模板化的七种排序算法,适用于T* vector<T>以及list<T>

最近在写一些数据结构以及算法相关的代码,比如常用排序算法以及具有启发能力的智能算法.为了能够让写下的代码下次还能够被复用,直接将代码编写成类模板成员函数的方式,之所以没有将这种方式改成更方便的函数模板纯属于偷懒,更方便于测试代码的有效性,等代码写完也懒得去改了.下面开始介绍这段代码,有什么不对的地方欢迎前来指正. 一共写了七种排序,插入排序InsertSort.堆排序HeapSort.快速排序QuickSort.合并排序MergeSort,计数排序CountingSort,基数排序RadixSo

Linux学习笔记之(1)~Linux有趣的历史概览

献给知道mono,了解Jexus,对.net混搭技术感兴趣的朋友. 1965年,Bell.MIT和GE公司发起Multics计划,目标是实现一个操作系统可以让大型主机实现连接三百个终端的目标.(那个时候的分时操作系统可不像现在...) 1969年,Multics计划滞后,资金紧缺,Bell实验室退出该计划,但原本参与Multics计划的人员,却从中得到了一些启发. Ken Thompson就是其中一位. 据说 Ken Thompson为了移植一套"太空旅游"的游戏,希望研发一套操作系统

[笔记] Golang Template

1.header.tmpl 1 {{define "header"}} 2 <html> 3 <head> 4 <title>演示信息</title> 5 </head> 6 <body> 7 {{end}} 2. content.tmpl 1 {{define "content"}} 2 {{template "header"}} 3 <h1>演示嵌套</

使用go语言编写IOS和Android程序

go语言目前已可以用来开发android和ios手机app.相关资料: 1.IOS https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!topic/golang-china/zEh_pdSLHDs 需要能访问google 源码:https://bitbucket.org/minux/goios 其它文档: https://medium.com/using-go-in-mobile-apps 2.Android

如何删除表中的重复记录只保留其中一条?

1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select  peopleId  from  people  group  by  peopleId  having  count(peopleId) > 1) 2.删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录 delete from people  where peopleId  

2、Unix及Linux起源及发展介绍

一.什么是操作系统 人机交互的软件 PC端 Windows  :XP.7.8.10  Server:2003.2008/2008 R2.2012/2012 R2 Linux:RedHat.CenterOS.红旗.麒麟 MAC:OSX 移动端 Android IOS 二.什么是Liunx Linux是一套开放源代码的,可以自由传播的类Unix操作系统软件 基于Intel X86系统CPU的计算机 基于POSIX(中文可以移植操作系统接口)和Unix的多用户.多任务.支持多线程和多CPU的操作系统