前段时间,在显示在自己的博客的google adsense 广告上,看到了Minix3操作系统打的广告,碰巧自己的486电脑需要安装一个支持X Windows的类unix操作系统,于是,就尝试了一下Minix3。
在 The MINIX 3 Operating System的网站下载了cdrom的iso的压缩文件:IDE-3.1.2a.bz2(296 MB) ,解压后把其中的iso光盘镜像文件刻录到光盘上。打印了一份Minix3中文的安装文档,照着一步一步的把Minix3安装到了硬盘上。
安装后,运行了一下,Minix3除了在系统设计理念上与linux不同(微内核和巨内核),单从使用方面感到有下面几点明显的不同。
1、Minix使用一种boot monitor的启动程序,启动完成后可以输入 boot c0d0p0或 boot c0d1p1这样的形式来进入Minux或启动到其它操作系统。前者表示启动控制器0,驱动器0,分区0的操作系统。一般情况下,这个参数跟系统BIOS的参数是一致的。然后,进入Minix后,输入shutdown命令,会返回到boot monitor界面,而不是像linux那样直接关机。
2、Minix3现在没有磁盘虚拟内存功能,如果您的内存不能满足某个程序的要求,可能就不能正常运行。如,我的486机器24M内存和1M的集成显存,在linux下借助它的swap磁盘虚拟内存技术,可以在X Windows下把opera9运行起来,虽然极慢,但可以用来看电子书。但在Minix3下面,启动X服务都报告“No enough core”之类的信息。我按照Minix 3.1.2 and X - comp.os.minix | Google Groups上的方法用“chmem +100000000 /usr/X11R6/bin/Xorg”之类的命令来调整X使用的内存,但终于没能成功。而且在另一台256M内存、16M显卡的机器上也没能把X启动起来。这导致我实验几天后放弃了在486上用Minix3搭一个可以在X Windows上使用的环境。
3、Minix由于一直是作为教学系统使用的,这导致它的硬件支持极其有限,如网卡就支持8139,ne等少数几种。我在486上的D-Link的ISA网卡在linux下认成ne可以使用。Minix3下好像也认出来了,但是它的网络设置我没有搞懂,虽然按照Minix Tips上这篇文章的说法可以在dhcp不工作的时候用静态IP来解决(Minix with a static IP address)http://www.minixtips.com/2006_06_01_archive.html ,但是我按照上面的方法配置好后,运行时却报告一个大概叫着“daemonize”的命令找不到。这时,我对我用Minix3搭一个可用的X Windows系统已经有点疲倦了,就没有继续尝试了。而Linux经过这么多年的大力发展,可以说对硬件的支持已经相当完善了。设置也比较容易了,资料也多。
所以,最后我放弃了在486下用Minix3下搭一个可用的X Windows的环境的努力。感觉,Minix仍然不是一个实用的系统,虽然,它在从教学系统的基础上开始向实用起步(可以从它的网站的应用领域上知道),但是要能普遍实用,还有太长的路要走。
对了,它的网站说的Minix3的应用领域为:
- Applications where very high reliability is required
- Single-chip, small-RAM, low-power, $100 laptops for Third-World children
- Embedded systems (e.g., cameras, DVD recorders, cell phones)
- Applications where the GPL is too restrictive (MINIX 3 uses a BSD-type license)
- Education (e.g., operating systems courses at universities)
虽然,我这个半壶水最终没有能用上Minix3,但还是有人用Minix3用得很欢,如Minix3网站的使用截图,文字编辑、网页浏览、图片等等,还有Minix Tips上的那个家伙,他曾在自己的机器上的虚拟机里安装的Minix3来运行他的网站,上面还有各种在Minix上的使用技巧。有志于在操作系统设计或在Minix下钻研的朋友可以参考一下。