Sco-Unix的核心引导过程

【Sco-Unix的核心引导过程】
Unix既可以从硬盘又可以从软盘上引导 。两者都是由BIOS装载硬盘或软盘的引导扇区,由引导扇区来装载执行核心引导程序??Boot程序 。本文简要介绍Boot程序的引导过程 。

Boot的内部命令

Boot共有“?”、“systty”、“mem”、“dir”、“link”共五个内部命令 。Sco Unix 5.0以上还有“debug”、“version”两个命令 。
1)?:在命令行上输入“?”,来显示Boot目前可以装载Unix核心的设备,例:
fd:软盘,hd:硬盘 。fd(61):对应于能引导的第一个软盘,hd(40):对应于能引导的第一个硬盘 。如果是sco-Unix 5.0以上的版本,还可以从Ramdisk.net 上启动Unix 。
2)systty=0或1:
在系统引导时,由hdboot1来确认主显示适配器和com1的有效性 。在缺省方式下,控制台位于主适配器上,如果主适配器出现故障不可用,则系统自动把com1口作为主控制台 。通过systty参数来修改位置,systty=0:控制台位于主适配器上,systty=1:控制台位于com1口上 。缺省的通讯参数为:9600波特率,8位,1停止位,无校验 。
3)mem=[range] [/flag]:
一般来说,Boot能够检测到所有的系统内存,可以用“mem=/p”来显示内存情况 。如果Boot检测内存有误,或出于特殊需要,可以用此参数来调整系统可用内存 。这是Unix系统的一大特点 。
range:为内存范围
格式为:
起始内存?终了内存
终了内存?起始内存/d
起始内存 内存大小
内存的单位用k(千字节)和m(兆字节)表示 。例:
1m?8m,或8m?1m/d,或1024k?8m:表示系统可用8m内存 。另:
1m?5m,6m?8m:表示系统8m内存中,5m?6m内存不能使用 。
flag标志,有以下几种形式:
/d: 高地址向低地址扫描 。
/n:标明该段内存为非DMA方式存取,所有16M以外的内存,系统自动标为非DMA方式 。
/r:专用内存段 。如果该段内存为Rom Shadowing,则该段内存确定为专用段,防止被Boot和Unix核心所覆盖 。除了Shadow Rom外,其它可以独立运行的程序正文段也可以放在专用段内 。
/l: Unix核心正文须放在16m内存以下 。
/p: 显示Boot初始检测到的内存情况,或经过mem参数调整后,再次验证到的内存情况 。
需要说明的是,以上参数调整必须是1M以外的内存 。如果内存中存在内存孔穴,孔穴以外的内存Boot不能检测到 。在许多机器上,Unix不能很好地处理Rom Shadowing问题,必须在机器的设置中禁止掉 。有时候,我们可能发现有些机型的机器存在Rom Shadowing,Unix仍能正常工作,是因为Boot引导时自动地把机器的Rom Shadowing禁止掉了 。
4)dir: 查看当前Boot设备上的文件系统的目录情况 。
5)link: Unix核心引导时装入有关设备的驱动程序(称为BTLD程序) 。
格式1:在Boot命令提示符下,键入“link”后回车,系统提示:
what packages do you need linked into the system,
or q to quit?:
在“:”后,可以输入BTLD名称,多个BTLD之间用空格隔开,再根据系统提示,插入相应的BTLD盘 。
格式2:在Boot命令提示符下,键入:link=“BTLD名1 BTLD名2 …”
BTLD名之间用空格隔开,并且括在引号内 。

Boot的外部可执行程序

Boot的外部可执行程序是指能够脱离Unix核心代码,能独立运行的程序 。一般来说,这些程序是用汇编编写的机器码,比如:Dos,bootos等 。
在Boot提示符下,输入dos或bootos dos就可以使系统转到dos操作系统下 。除了DOS外,可启动的系统有:各种版本的DOS系统(dos_12、dos_16、dos_32、dos_ext)、Windows、Novell、NT、OS2、OS2_hpfs、picx、xenix、ccpm及Unix等 。其格式为:

推荐阅读