FreeBSD简介
FreeBSD 简史FreeBSD 项目开始于 1993 年早期,衍伸于由 Nate Williams, Rod Grimes 跟 Jordan K. Hubbard 三人所发表的 "Unofficial 386BSD Patchkit"。David Greenman 跟 Julian Elischer 也在幕后参与了这些计画,但是他们一直到正式发表后的一两个月后才全力参与本项目。他们原先的计画是产生 386BSD 的测试版以修正一些 patchkit 无法解决的 bug。386BSD 是 Bill Jolitz 所主导的操作系统,但是长久以来却已经被他疏忽,而没有继续维护,因此其它人决定帮忙 Bill Jolitz 继续维护 386BSD 但是 Bill Jolitz 突然决定离开 386BSD 的发展而没有继续的计画。
不过他们仍决定继续发展这套操作系统 (就算没有 Bill Jolitz 的支持),并且将其命名为 "FreeBSD" (该名称由 David Greenman 掷铜板所决定的)。在跟该系统的使用者讨论过后,决定了最初的目标,并且联络了 Walnut Creek CDROM 以提供 FreeBSD 的支持,Walnut Creek CDROM 不但提供制作 CDROM 的服务,还提供机器以及高速网络联机以供 FreeBSD 的发展,最后才有今日的 FreeBSD。第一个 CDROM 跟透过网络发行的版本是 1993 年 12 月的 FreeBSD 1.0,那是基于 U.C. Berkeley 所发行的 4.3 BSD Lite ("Net/2") 加上其它 386BSD 跟 Free Software Foundation 所发行的软件。由于此版发行的成功,很快的在 1994 年 5 月就有了 FreeBSD 1.1 release。就在这个时候,发生了无法预料的事:Novell 跟 U.C. Berkeley 争论它们的对于 Berkeley Net/2 tape 版权。Novell 声明 U.C. Berkeley 的 Net/2 里有许多 Novell 的程序代码(从前由 AT 取得的)。而 U.C. Berkeley 的 Net/2 应是出版了 4.4 Lite release 并且鼓励旧有的 Net/2 使用者更新,以免跟 Novel 发生争论。最后 FreeBSD 在 1994 年 7 月停止了基于 Net/2 的 FreeBSD-1.1 的发行, 在取得同意后,发行了最后一版基于 Net/2 的 FreeBSD 1.1.5.1。而这时的 FreeBSD 已经具有相当的稳定性以及良好的执行速度。
于是他们开始艰苦地整合 4.4 Lite,因为 Berkeley 的 CSRG 小组将 4.4 Lite 移掉了许多程序代码 (版权问题),而导致 4.4 Lite 是一个不完整,无法开机的系统。在 1995 年 1 月终于发行了 FreeBSD 2.0 release,而在 1995 年 6 月再发行了 效率更好,更容易安装的 FreeBSD 2.0.5 release。
此后,他们陆续发展更多更新的版本,也支持了越来越多的硬件,也有更多人加入了开发、维护的行列,让 FreeBSD 越来越好,让著名的 Apache 及 Yahoo! Web Server, Walnut Creek CDROM 的 FTP Server 都采用 FreeBSD 做为其操作系统,因此,其系统稳定,功能强大,深受肯定与业界的青睐,也许正当在看这篇文章的同时,又有知名的厂商悄悄的改用 FreeBSD 做为其操作系统了!
选用 FreeBSD 的理由
FreeBSD 是基于 University of California at Berkeley 的 Computer Systems Research Group (CSRG) 小组所发展的 BSD 4.4-lite 而来的,并且继续 BSD 系统的发展。由于先前 CSRG 将 4.4-lite 发展的很好,FreeBSD 项目继续投资无数的时间致力于使 FreeBSD 达到更高的水准,以及更好的效率,以符合实际应用上的需求。正当许多商业版的操作系统正挣扎的使 PC 上的操作系统具有新功能、高效能及实际应用性的时候,FreeBSD 已经具有这些条件了!!
FreeBSD 的应用超乎你的想象,从软件开发到工厂的自动化,从货物管理到卫星的远程遥控,如果那些商业版软件能做的事,FreeBSD 也能做到,甚至更多。FreeBSD 也能有效地使用那些由研究中心或大学所研发的高水平应用程序,这些应用程序通常只需要花很少的钱,甚至可以免费取得。当然商业版的应用程序也可以买到,而且也有越来越多的商业版应用程序可以使用。另外,因为 FreeBSD 的原始程序是公开的,您可以自行修改以符合您的任何需求,而这是那些商业版操作系统所做不到的。
因为 FreeBSD 的原始程序是公开的,任何人均可以自行取得并修改以符合个人的需求,而这是那些商业版操作系统所做不到的。以下提供一些使用 FreeBSD 的例子 (当然还有更多的应用):
?网际网络服务:FreeBSD 内建强劲的网络功能使它成为网际网络服务 (如下例) 的理想平台:
§档案服务器 (FTP servers)
§全球信息网服务器 (World Wide Web servers)
§地鼠信息服务器 (Gopher servers)
§电子邮件服务器 (Electronic Mail servers)
§网络新闻服务器 (USENET News)
§电子布告栏服务器 (Bulletin Board Systems)
§还有其它更多元化的功能 ....
您可以容易地先用便宜的 386 PC 来执行 FreeBSD,然后等您的公司规模变大了以后再升级您的机器。
?学术上的应用:如果你是信息领域的学生,再也没有比使用 FreeBSD 能学到更多操作系统、计算机组织、及网络的方法了。一些免费的 CAD,数易做图算器,及图形处理工具对那些在计算机应用上有兴趣的人,能学到更多。
?研究:有了完整的原始程序代码,FreeBSD 是研究操作系统及计算机科学的极佳环境。免费的 FreeBSD 也使得在远程的合作小组不必担心版权及系统开放性的问题,而能自在的交流。
?网络:你如果需要 router、Name Server (DNS) 或安全的防火墙 (Firewall),FreeBSD 可以轻易的将你没有用到的 386 或 486 PC 变身成为绝佳的服务器,甚至具有过滤封包 (packet-filter) 的功能。
?X 窗口工作站:FreeBSD 是便宜 X 终端机的良策,无论是使用免费的 XFree86 或是商业版的 X-Inside,都可以在 FreeBSD 上执行。FreeBSD 不但可以充当远程 X 程序终端机,也可以执行本地的 X 程序。如果有一台中央服务器的话,FreeBSD 甚至可以经由网络开机 (不需本地硬盘),而变成更便宜且易于管理的工作站。
?开发软件:FreeBSD 拥有完整的程序开发工具,如 GNU C/C++ 编译器及除错器,还支持其它的程序语言,如:PHP, Perl, JAVA, Python, Tcl/Tk, ... 等。
FreeBSD 的特色
FreeBSD 是 for PC 的操作系统,包含 386, 486 跟 Pentium 及 Pentium 级以上的 CPU,其它跟 Intel 兼容的 CPU 如 AMD 跟 Cyrix 也都有支持,而给 PC 用的适配卡、外围设备等当然都有很高的支持度。此外,FreeBSD 更提供许多昂贵工作站才有的先进功能,其特色如下:
?具有动态优先权的多任务 (Preemptive multitasking) 以确保平顺的执行程序以及公平地让应用程序以及使用者共享资源。
?多使用者 (Multiuser) 代表者许多人可以同时在系统上作业,而系统的硬件外围 (如:打印机、磁带机) 也可以让所有的使用者适当地分享。
?FreeBSD 继承 UNIX 的优点,完整的 TCP/IP 支持,拥有强大的网络功能,包含 SLIP, PPP, NFS, SAMBA, NAT 等功能,这表示 FreeBSD 可以容易地跟其它操作系统透过网络合作,或是做为企业上的服务器,例如:提供远程档案共享 (NFS) 及电子邮件 (E-mail) 等服务,或是让企业连上网际网络 (internet) 并提供 WWW, FTP, 路由 (routing), 及防火墙 (firewall, security) 等服务。
?内存保护 (Memory protection) 能确保每个程序 (或说 "程序" 也不为过) 互不干扰,不致产生冲突或造成系统不稳的情况。
?FreeBSD 是一个标准的纯 32 位操作系统,因为它没有 Microsoft Windows 要兼容于 DOS 的问题。
?标准的 X 窗口系统 (X Window, X11R6) 提供良好的图形使用者接口 (GUI) 以便在一般的 VGA 显示卡以及屏幕上使用, 并且提供完整的原始程序代码。
?可以直接执行在其它操作系统 (如 SCO, BSDI, NetBSD, Linux 跟 386BSD) 上编译出来的程序。
?方便的 Ports & Package 软件收集,有上千种以上可以直接执行 (ready-to-run) 的应用程序,你不用因为找不到软件而困扰。
?由于 FreeBSD 的开放特性,并继承了 UNIX 的许多特性,因此兼容性高, 容易移植 (easy-to-port) 应用程序。
?需要时才置换的虚拟内存 (Demand paged virtual memory) 以及合并的虚拟内存及档案缓冲区之快取功能 (merged VM/buffer cache) 提供令人满意又有效率的应用程序执行速度,尤其是执行那些大型的应用软件时仍能让使用者轻松的控制而不至于停摆。
?动态共享函示库 (Shared liparies) (类似 Windows 上的 DLL) 提供有效的利用硬盘空间及内存。
?完全兼容的 C、C++ 跟 Fortran 开发工具及环境。许多额外的程序语言也收集在 ports 跟 packages。
?整个 FreeBSD 系统的原始程序代码 (Source code) 让你能随心所欲的控制及修改你的系统,让你避开易做图作系统公司操控的命运。
?大量且详尽的线上文件,请善用 man page。
?还有其它更多的优点等着使用者自己去发掘!
FreeBSD 的版本命名原则
?命名原则:ex. A.B.C-VERSION
§A: 表示主要的 (Major) 操作系统版本
§B: 表示次要的 (Minor) 操作系统版本
§C: 表示些微修正 (Patch) 版本
§VERSION: 表示版本类别
?版本识别
§RELEASE - 正式发行版本
§ALPHA, BETA, GAMMA - 测试版本
§CURRENT - 以发展新功能为主的版本
§STABLE - 以维护系统稳定与安全为主的版本
§SNAP - 非正式发行版本,通常是指 CURRENT 的测试版
§RELENG - 非正式发行版本,通常是指 STABLE 的测试版