60 FreeBSD连载:缺省内核配置选项( 六 )


较老的ISA网卡还需要配置参数和硬件设置相一致,就要调整网卡使用的端口地址,irq和iomem等参数与网卡使用的真实资源相一致 。这是由于生产兼容网卡的厂商太多,因此各种兼容网卡的缺省设置却并不相同,而较老的驱动程序不能自动探测设备使用的资源 。新的PCI网卡就不存在这个问题,驱动程序支持PNP,可以自动探测硬件资源 。
pseudo-device looppseudo-device etherpseudo-device sl 1pseudo-device ppp 1pseudo-device tun 1pseudo-device pty 16pseudo-device gzip# Exec gzipped a.out"s【60 FreeBSD连载:缺省内核配置选项】伪设备并不与具体的物理设备有关,但外在表现为一种设备 。通常伪设备用于支持系统中与某类操作相关的基本代码 。
loop定义TCP/IP使用的loopback网络设备,这将使计算机能够通过TCP/IP堆栈内部,以127.0.0.1(通常名字定义为localhost)的IP地址访问自身 。由于FreeBSD为网络操作系统,这个选项是必须的 。不管计算机上有没有网络设备,FreeBSD都提供了这个loopback的伪网络设备,以提供最基本的网络功能 。网络功能是FreeBSD系统的基本功能,FreeBSD上的很多程序需要网络支持才能正常运行 。很多程序能使用这种网络支持,进行本机内部进程间的连接 。
ether伪设备定义了支持Ethernet协议的基本代码,Ethernet是最流行的局域网标准,如果计算机通过Ethernet网卡互相连接,就需要这个选项的支持 。
sl为支持SLIP协议的伪设备,其后的数值参数为支持的sl伪设备的数目 。SLIP协议已经逐渐被PPP协议取代 。因此一般可以删除这个选项 。
ppp是在内核中实现PPP协议的驱动程序,之后的数字指定了可同时使用的PPP会话的数量 。用户使用这个伪设备便能使用pppd,使用PPP协议通过modem与另一台计算机相连接 。
tun为tunnel伪设备,用于建立直接的通道 。它也被常用来支持PPP协议,不同在于它在内部没有实现PPP协议,而支持PPP协议的代码是在应用软件ppp中实现的 。这是用户模式的PPP支持,与伪设备ppp相比,它较容易配置和使用 。
pty是伪终端设备,在远程登录等需要以终端方式进行连接,但又并非真实终端的应用程序中必须使用这种设备,如telnet或xterm等程序 。这里定义的限制是内核允许同时创建的伪终端数,缺省设置对于个人使用还能基本满足,但如果将系统用于提供远程登录服务,例如用做BBS服务器,16个伪设备就远远不够 。此外,X Window用户也会占用大量的pty设备 。
伪设备gzip是FreeBSD的另一种特性,它使FreeBSD能够运行用gzip压缩过的a.out格式执行文件,因此能节约磁盘空间 。但是这种特性只支持传统的a.out格式执行文件,而FreeBSD自3.0以后,虽然仍然支持a.out格式,但标准执行程序的格式转为ELF格式 。因此这个特性带来的好处就大大降低了 。为了利用这个特性,可以将应用程序编译为a.out格式(使用-aout编译连接选项) 。
# KTRACE enables the system-call tracing facility ktrace(2).# This adds 4 KB bloat to your kernel, and slightly increases# the costs of each syscall.optionsKTRACE#kernel tracing# This provides support for System V shared memory and message queues.#optionsSYSVSHMoptionsSYSVMSG配置KTRACE选项使内核允许系统调用跟踪程序ktrace能正常运行 。
SYSVSHM、SYSVMSG这个选项提供FreeBSD与System V的兼容性,其中第一个选项SYSVSHM提供了进程间共享内存的机制,X Window系统就需要这种共享内存机制,以提高管理图形的性能 。SYSVMSG用于支持System V的消息队列,只在特定的程序中用到,如Windows 9x的模拟器wine 。
#The `bpfilter" pseudo-device enables the Berkeley Packet Filter.Be#aware of the legal and administrative consequences of enabling this#option.The number of devices determines the maximum number of#simultaneous BPF clients programs runnable.#pseudo-device bpfilter 4 #Berkeley packet filterbpfilter即Berkeley Packet Filter,通常计算机只接收与本机有关的数据包或广播包 。在网上传播的数据包,如果与本机无关,计算机将不予理会,这样的好处是减轻了处理器负担 。如果要让计算机能够捕获经过网卡的所有数据包,就要让网卡工作在混杂模式,此时就需要使用这个伪设备 。后面的数字指定能同时使用这个功能的程序的数目 。

推荐阅读