----FreeBSD是美国加州大学伯克利分校开发的一种类Unix操作系统,它建立在为i386平
台设计的U.C.Berkeley4.4BSD基础之上。FreeBSD的用户群包括公司、ISP、研究人员、计算机
专家、学生以及家庭用户,目前主要用于教育和娱乐领域。FreeBSD之所以叫FreeBSD,是因为:----1.即使被应用于商业目的,亦可免费使用。
----2.操作系统所有源程序代码都可免费得到,而不仅仅是核心的源代码,其最小限度
的限制仅仅针对它的分发。
----3.任何人都可对其进行改进及bug修正。其名称中的"free"一词有两个含义:
----(1)可以无偿使用。
----(2)除一两件不允许做的事之外,用户可根据自己的需求对它做任何喜欢做的事。
----用户可以从http://www.freebsd.org/或其镜像站点下载得到FreeBSD的最新版本或最近的清
除错误的版本;亦可从一些公司得到。与现在流行的其他免费的操作系统相比较,FreeBSD
的最大优点是:系统的运行效率极高,在多任务处理中,后加进来的一两个任务几乎不
影响其整体处理速度。虽然FreeBSD不如Linux那么流行。但至少,她被其发烧友们誉为"学院
公主"。
----笔者作为一名高校教师,根据教学计划需开设新课程"Unix系统选讲",而实验室仅能
提供一套物理层标准为10Base-2的Ethernet系统和一台LEO486微机。该系统中有文件服务器一
台,运行250个用户的NetWare3.12,一台配备硬盘、软驱的管理用机和64台学生用无盘工作站。
所有机器均以80x86系列或其兼容芯片为CPU,加装NE2000兼容网卡(其端口号均设为300,中断
数均设为3)。关于该实验系统的构建方案有兴趣者可和笔者联系(有关该方案的文章已
在某IT媒体上发表),这里只指出在实验系统中以FreeBSD2.2.5为主机用操作系统,系统在
工作时学生用无盘工作站仿真终端通过电缆和网卡,使用Telnet协议与主机,请求主机的
服务。由于笔者使用的FreeBSD2.2.5光盘中配置的FreeBSD的核心至多只允许同时建立16个Telnet
连接,而笔者至少需40个Telnet接连为学生服务,故需重新定制核心,以增加核心同时支持
的Telnet连接数。
----为重新定制核心,在FreeBSD启动完成后,以账号root(或其他uid为0的用户的账号)从控
制台注册成功后进行如下操作:
----1.将/usr/src/sys/i386/conf转换为当前目录
----为实现该操作,可键入如下命令:
----#cd/usr/src/sys/i386/conf
----"#"为系统回显的用户的提示符,下同。
----2.准备核心配置文件的工作拷贝
----在这个目录中存储有名为GENERIC的核心配置文件,可用它定制新的核心。为保持文件
以便以后配置系统时作为参照,可在定制新核心时使用其工作拷贝。假定使用的工作拷
贝的名称为zzy,则文件zzy可用cp命令得到:
----#cpGENERICzzy
----此时用如下命令查看当前目录的内容:
----#ls-l
----上一命令回显信息如下(其中有文件zzy的信息):
total 83
drwxr-xr-x 2 root wheel 512 May 10 00:15 CVS
-rw-r--r-- 1 root wheel 5843 Oct 18 1997 GENERIC
-rw-r--r-- 1 root wheel 43363 Oct 18 1997 LINT
-rw-r--r-- 1 root wheel 5490 Jun 30 1997 Makefile.i386
-rw-r--r-- 1 root wheel 213 Aug 19 1995 devices.i386
-rw-r--r-- 1 root wheel 12627 Sep 15 1997 files.i386
-rw-r--r-- 1 root wheel 3882 Aug 17 1997 majors.i386
-rw-r--r-- 1 root wheel 2322 Oct 18 1997 options.i386
-rw-r--r-- 1 root wheel 5843 May 9 16:32 zzy
----3.修改核心配置文件的工作拷贝
----文件zzy中有"pseudo-devicepty16"一行,该行中的数字16指定了核心至多允许的同时建立
的Telnet连接数,可将其按要求修改,笔者根据教学的最大需求将其改为80。
----4.根据修改后的核心配置文件的工作拷贝准备生成核心的源代码
----为准备生成核心的源代码,可键入如下命令:
----#configzzy
----上一命令中zzy作为工作拷贝的文件名。该命令执行结束后,名为zzy的目录(与作为工
作拷贝的文件名一致)将在目录/usr/src/sys/compile中被创建,且在该目录中保存有部分生成
核心的源代码和make文件。
----5.使用命令"cd/usr/src/sys/compile/zzy"将目录/usr/src/sys/compile/zzy转换为当前目录
----6.生成定制的新核心
----为生成新核心,可在控制台进行如下操作:
----#make
----命令make执行结束后,在目录/usr/src/sys/compile/zzy中一名为kernel的文件被创建,该文件
即为新核心的二进制代码文件。
----7.将文件kernel拷贝到根目录作为系统启动时用的核心
----拷贝操作可通过如下操作完成:
----#cpkernel/
----重新启动机器后,则FreeBSD使用的核心是定制的新核心,它允许同时可有多达80个的
Telnet连接(或其他定制核心时指定的数值)。
----还有几点应指出:
----1.这里规定的Telnet最大连接数不是最大用户数,最大用户数由配置文件中的maxuser行
中的数值指定。
----2.一般情况下,最多指定核心同时接受256个Telnet连接请求。
----3.随着指定的最大Telnet连接数的增大,系统的swap空间应相应增加。在笔者的应用环境
中,每增加1个实际的Telnet连接,需将swap空间增加7~8MB。
----(作者地址:安徽省芜湖市安徽师范大学数学计算机科学学院数学系,241000;收稿日期:1999年10月)