BSD历史

在UNIX问世之后(关于UNIX来历史这里不详述),UNIX拥有者AT&T公司以低廉甚至免费的许可将Unix源码授权给学术机构做研究或教学之用。

加州大学伯克利分校就是其中之一。在得到源码后,CSRG就开始欢天喜地的研究UNIX。(CSRG是伯克利的计算机研究小组,就是在大学里对计算机有兴趣的同学啊,指导员啊,教授啊一起搞豉计算机的一群人)。

你还别说,CSRG还真不简单,没过多久就在原有UNIX上添加了许多新功能、新软件之类。发布了CSRG改进后的UNIX,叫做BSD(Berkeley Software Distributions,伯克利软件发布)。

BSD在发布之后就大受欢迎,各个公司都开始使用BSD。因为的版权关系,要使用UNIX的公司,需要购买AT&T的许可证,当时的BSD也是UNIX,所以很多公司、机构还是一边购买AT&T的许可证,一边又从伯克利订购BSD。可以说只要提及UNIX,人们就会想到BSD。此时正是BSD的巅峰时代,各个版本相继问世,如3BSD、4.0BSD、4.1BSD、4.2BSD、4.3BSD。

用于linux发行版的网友,应该知道ubuntu发行版是基于debian发行版来的,但在ubuntu社区的努力下,增加了自身的一些功能、软件,优化了界面之类。成为了一个更流行的发行版。BSD和UNIX在当时就像是这种关系,但BSD做的优化啊,添加的新功能这些显然要更多一些。(但图形界面优化是没有的,当时的UNIX还只是用的字符)

但好境不长,BSD其不断增大的影响力终于引起了AT&T的关注。AT&T意识到了Unix的商业价值,不再将Unix源码授权给学术机构,并对之前的Unix及其变种声明了版权权利。而且还就伯克利分校的BSD开始了一场旷日持久的版权官司。

这场官司打得是如何天晕地暗,日月无光,打得AT&T将自己的Unix系统实验室卖掉等等我们就不多谈了。只说下最后的结果是:允许伯克利自由发布自己的BSD,但是前提是必须将来自于AT&T的代码完全删除。
这下BSD就头痛了,虽说CSRG添加了许许多多的功能,但内核中还是有不少UNIX内核代码啊。这一删除,不就成了一个残缺的内核啊,这还怎么运行呢。CSRG吓尿了,马上通过Internet向外恳求程序员帮他们补全内核。说法有些夸张,但我现在还不明白,为什么当时伯克利分校的精英们(CSRG)不自己重写残缺的那部份内核?是认为写内核这种工作太麻烦?还是技术上的什么原因?我们不得而知,反正最后CSRG把除去AT&T代码的不完整的系统在网上发布了。

在这个不完整的系统出布不到6个月时间,嘿!还真有一个人为BSD补写了内核。当时一个名叫Bill Jolitz的PC386玩家(或者说黑客什么的)力挽狂澜,补写了基于386的内核,以386/BSD的名称发布在网上。

在很短的时间内,386/BSD就流行起来,因为当时只有386/BSD,是一个完整的BSD系统。

伯克利分校的神圣目标-- 一个与AT&T公司UNIX无关的操作系统实现了。虽然这个系统的内核不是伯克利大学完成的,而是靠着外部程序员的帮忙。但总的来说BSD可以在全球作为开放源代码软件自由发行了。

在386/BSD流行以后,Bill Jolitz收到了潮水般涌来的针对386/BSD的缺陷报告和改进需要。但Jolitz有一份全职工作,也并没有打算做386/BSD的内核维护与开发工作。所以有一群热情的386/BSD用户开始组成了NetBSD小组,来维护并改进这个系统(后来NetBSD又分出了个OpenBSD小组)。当然没过多久又有另一群同样热情的很的386/BSD用户组成了FreeBSD小组, 为着同一个目的。从此BSD有了三个主流的发行版:NetBSD,OpenBSD,FreeBSD

和linux发行版不一样的是,Linus Torvalds现在依旧在为linux内核的发展做着努力,而Bill Jolitz除了发布了386/BSD之外,就没有再维护BSD内核,而是由BSD的发行版各自去维护开发。这样这三个BSD发行版除了做系统工具,系统安全等,还要自己为自己的内核打补丁或是升级。在人员有限的情况下这样发展就比较缓慢,内核的各自变动也是挺大的(NetBSD极力做跨平台,FreeBSD立志于PC机上的发展,OpenBSD在打造安全系统)。所以内核不像linux那样以Linux Torvalds为首的linux内核小组就专门从事内核的开发那样快。各linux发行版在内核有什么新的技术也反馈给linux内核维护人员,经仔细测式后,考虑是否要加入到linux内核之中。在稳定性、运算效率、多构架、各硬件的支持上linux内核有着长足发展。
linux的发展是专术专攻式的,内核由专门的内核人员来维护开发。各发行版只专心做好对自身的特点优化,GNU维护升级着GNU的软件。每个人专心做一件事,然后做到最好,就可以组成一个十分完整,又可以自由组合的系统。

BSD的发行版,就只有笼统全做,从内核到上层的应用。这样可能就会造成人员不足的情况,要成为完整系统发布,有时也得被迫拿点GNU/linux的东西来用,像一些硬件驱动用到了linux兼容层,还有freebsd的编译器,就是用的gcc,虽然有点混乱,不过现在苹果的clang/LLVM发布,可算是扬眉吐气了,以后的freebsd不再安装gcc。FreeBSD也是发展越来越好了。

最后再说一下伯克利的精英计算机小组CSRG,这群精英人物不应该这么快就被人遗忘掉。在386/BSD发布之后,CSRG终于发了4.4BSD-Lite,一个没有一丁点AT&T代码的BSD系统,允许使用者以源代码和二进制的形式自由地重新发布,只要声明使用了BSD技术。这就是BSD协议的大概内容,如果你想知道BSD协议更详细的内容,可以在网上查阅。然后CSRG…………解散了!

题外话:在那场官司之后,BSD把UNIX的内核代码剔除,开始使用BSD的商业公司锐减,虽说后来Jolitz补写了内核代码,BSD各发行版接手了BSD系统的开发维护,依然难蹬当前巅峰时代。不过我们也期待现在的NetBSD,FreeBSD,OpenBSD或是基于FreeBSD的PC-BSD,能重返兴盛

posted @ 2015-07-22 14:06  WFApple  阅读(1005)  评论(0编辑  收藏  举报