贴一篇怎么样安装minix的文章 junky

来源:百度文库 编辑:神马文学网 时间:2024/04/30 13:31:20
发信人: fiasco (小义), 信区: KernelTech
标  题: 贴一篇怎么样安装minix的文章
发信站: BBS 水木清华站 (Thu May  9 16:42:36 2002)
我也在看 《操作系统:设计与实现》,希望多交流
怎样安装Minix操作系统
□ 杨希炀
看过并拥有Tanenbaum与Woodhull的名著《操作系统:设计与实现》一书的读
者,一定有一张附送的
Minix 2.0版的安装光盘。作为第一本既讲授操作系统原理,又提供Minix源代码分
析的经典书籍,阅读并
反复实践其源代码是一项非常重要的学习过程。然而非常麻烦的是,在《操作系统
:设计与实现》一书中
却没有介绍如何安装Minix操作系统。(说不定Tanenbaum认为能看懂他的书的人,
个个都是计算机专家似
的,安装Minix这样的小儿科提都没有必要提一下)当然,在这里我想提醒读者注
意的是,正因为Minix是
一个面向操作系统学习者的系统,在许多方面力求简洁清晰,安装过程使用字符平
台、全字符界面也是很
自然的事儿了。
在正式进入Minix的安装介绍之前,我想先谈一谈Minix与UNIX和Linux的关系
以及她的设计思想。
Minix是一个类UNIX操作系统,其2.0版符合POSIX 1003.1和ISO9945-1工业标准。
过去,UNIX操作系统的
起源与发展与其源代码的公开是分不开的,而UNIX操作系统设计思想的先进性与前
瞻性也是无与伦比的。
时至今日,大学中"操作系统原理"课一直使用UNIX作为应用实例,而AT&T公司注意
到了UNIX的商业价值后
,不再允许用UNIX的源代码进行教学。学习"操作系统原理"课就成了只谈理论而不
谈设计与实现。作为计
算机科学教育家的Tanenbaum开发出了Minix用于操作系统教学。与UNIX相比,
UNIX注重代码的高效率,而
Minix则强调代码的可读性与简洁性。很快,Minix在网络中流行起来。有很多人,
希望为Minix添加新的
特性。而Tanenbaum认为Minix应该作为教学使用,众多新特性只会干扰对操作系统
本质的认识。于是,人
们把注意力转向设计一个类Minix的操作系统,这最终导致了Linux的诞生。
下面正式进入Minix安装过程的学习。
第一步:制作安装介质
首先,需要9张空白的优质3寸盘,最好是Sony、3M、万胜或威宝等名牌产品。待会
儿你就会知道使用普通
或是劣质磁盘会有什么痛苦的后果。在DOS或Windows下进入Minix光盘的
\Minix\I386目录,键入如下的命
令:
fdvol 1440 A: i386\ROOT i386\USR
fdvol 1440 A: i386\USR.TAZ
fdvol 1440 A: SYS.TAZ
fdvol 1440 A: CMD.TAZ
命令的第一行表示用fdvol软件将Minix的启动映像和安装映像(ROOT+USR)逐字节
拷贝到一张1.44M的软
盘上。这一点也正说明了为什么前面说需要使用优质磁盘。系统数据会写满整张磁
盘的每一个扇区、每一
条磁道。磁盘上任何的坏道都会让以后的系统安装推倒重来。命令的其他各行分别
表示将Minix的系统软
件(USR.TAZ 三张软盘)、Minix操作系统源代码(SYS.TAZ 两张软盘)、系统软
件源代码(CMD.TAZ 三
张软盘)拷贝到软盘上。
第二步:划分Minix分区
虽然Minix操作系统在安装的过程中会启动一个名为"part"分区程序来划分Minix分
区,但是它实在是太难
用了。我建议使用Linux下的sfdisk或DOS下的spfdisk、diskman来建立Minix主分
区,分区ID为81。Minix
分区最低只需30兆的空间就足够了。其中整个系统10兆,系统源代码和联机帮助
10兆,整个系统的编译时
的临时空间10兆。当然,对于那些使用xx个G的读者来说,分上个几百兆也无所谓
。然后再将该Minix主分
区标记为活动分区。最后用刚才制作的第一张(ROOT+USR)软盘重启动计算机即可

第三步:安装Minix操作系统
在下面的安装说明中,为了正确区分屏幕信息与用户的输入,我用蓝色字符标识用
户的输入,绿色的/*…
*/表示我对该行的注释。
Finish the name of device to mount as /usr: /dev/fd0c
/*将软盘挂装在/usr目录上。*/
/*再次重启后…*/
noname login: root
# setup
What type of keyboard do you have? You can choose one of:
french italian latin-am scandinavn uk us-swap
german japanese olivetti spanish us-std
Keyboard type? [us-std]
/*询问键盘的类型,默认为美国标准,这里回车即可。*/
Select device ----first---- --geom/last-- ------sectors-----
Device Cyl Head Sec Cyl Head Sec Base Size Kb
/dev/hd0 ? ? ?
Num Sort Type
Type ‘+‘ or ‘-‘ to change, ‘r‘ to read, ‘?‘ for more help, ‘!‘ for
advice
/*part分区程序,键入 ‘r‘ 读取硬盘分区信息,‘?‘ 的位置改变为具体的硬
盘分区信息。*/
/*鉴于我们在第二步中已经事先为Minix分好区,在这里只需记下Minix的分区
号(假设是hd2),键
入 ‘q‘ 退出。*/
You have created a partition named: /dev/hd2
The following subpartitions are about to be created on /dev/hd2:
Root subpartition: /dev/hd2a 1440 kb
/usr subpartition: /dev/hd2c rest of hd2
Hit return if everything looks fine, or hit DEL to bail out if you
want to
think it over. The next step will destroy /dev/hd2.
/*在hd2分区上建立hd2a、hd2c两个子分区(hd2a 1.44M、hd2c 剩余空间)。
注意:hd2a与hd2c是
Minix操作系统对硬盘的内部划分,并不修改硬盘分区表,用分区软件当然也看不
见。hd2a存放Minix操作
系统内核,这正体现了Minix的微内核结构。同时,Tanenbaum倡导Minix的内核不
应超过1.44M,用一张软
盘就可以装下。这样当系统出现重大故障时,仅需一张备份系统盘就可以恢复了。
接下来则是准备格式化
hd2分区,由系统自动完成。*/
What is the memory size of this system in kilobytes? [4096 or
more]
Second level file system block cache set to 1024 kb.
/*询问计算机系统的内存容量,回车即可。*/
# halt /*当机*/
System Halted
fd0>boot hd2 /*启动Minix*/
noname login: root
# setup /usr /*安装Minix系统软件*/
What is the size of the images on the diskettes? [all]
What floppy drive to use? [0]
Please insert input volume 1 and hit return
/*根据提示插入‘USR.TAZ‘三张软盘*/
/*用完全相同的方法(setup /usr)将Minix操作系统源代码‘SYS.TAZ‘ 两张
软盘、系统软件源代码
‘CMD.TAZ‘ 三张软盘装入系统。这里八张软盘中有任何一张出错,又得回DOS下重
新制作安装介质。用正
品磁盘的好处这下显示出来了吧 ^-^ 。*/
至此,Minix操作系统的安装就告一段落了。在这里我觉得还需要补充说明一
点的是Minix的启动环境
。与Linux操作系统的系统引导器Lilo(我在Emook第36期《Lilo使用详解》一文中
有详细介绍)相比,
Lilo是启动程序,而Minix为启动环境。Lilo通过lilo.conf配置文件的设置,将启
动方式直接写入MBR或
Linux主分区。而Minix的启动环境则是与用户进行交互式操作,其功能强大得多,
源代码的编写自然也复
杂得多。通过在Minix启动之前按ESC键或以root身份输入halt指令可进入Minix启
动环境。Minix启动环境
最为常用的是boot命令:boot hdx /*启动hdx分区上的操作系统,x指1、2、…、
N。*/。其他还有ls、
menu、echo、name等多种环境操作命令,非常值得研究研究。
另外,我在学习Kernighan的《UNIX编程环境》时,分别采用了Minix和Linux
操作系统作为练习环境
。很快发现了一件有意思的事情。面对Kernighan非常精心而刁钻的输入测试时,
Minix很轻松的达到了预
定的目标,然而Linux却在好几处出错。仅仅通过这样的黑盒测试法,就可以看出
Linux的程序设计水平还
不能与Minix相比。毕竟,黑客与计算机科学家是有差距的。
Minix操作系统的设计精巧,代码清晰,实现也并不过于复杂,非常适合计算
机科学系的大学生或研
究生学习。同时也可作为计算机科技工作者研究的实例。让我们更加努力去学习吧
,终有一天我们会开发
出我们自己的操作系统来!
--
QTerm -- Quick Terminal
BBS client based on Qt library in linux
http://qterm.gnuchina.org