在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,能重返兴盛

BSD历史的更多相关文章

  1. BSD介绍

    BSD许可证模板  * Copyright (c) 1998, Regents of the University of California  * All rights reserved.    * ...

  2. BSD学习(BSD系统的历史和目标)

    UNIX系统的历史 unix系统的发展历程大概经历以下几个阶段: 贝尔实验室(Bell Laboratories)阶段,该实验室发明了UNIX 加州大学伯克利分校(University of Cali ...

  3. 【历史】- UNIX发展史(BSD,GNU,linux)

    先前的一個理想 UNIX 系统自 1969 年 Ken Thompson 与 Dennis Ritchie 在美国贝尔电话实验室(Bell Telephone Laboratories)发展出雏形至今 ...

  4. 【转载】Linux 与 BSD 有什么不同?

    原创:Linux中国 https://linux.cn/article-3186-1.html 原创:LCTT https://linux.cn/article-3186-1.html 本文地址:ht ...

  5. Linux历史

    1.Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX标准和UNIX的多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议.它支 ...

  6. [计算机、网络相关历史]unix简史

    本文2001年由台湾“网络农夫”所写,其人生平不祥,此文受鸟哥大力推崇,两人应该相识.文章写得很不错,应该是查了很多资料整理而成的,美中不足的是好多语句不通顺,国考语文绝对不及格,哈哈. 0.我的准备 ...

  7. Objective-C发展历史

    Objective-C发展历史 苹果图标由来: 被咬了一口苹果的LOGO是为了纪念计算机科学的创始人阿兰· 麦席森· 图灵.当年图灵由于身为同性恋者,被强行 "治疗",在被迫注射大 ...

  8. Linux 与 BSD 有什么不同?

    Linux 与 BSD 有什么不同? 这篇文章是别人写的,并做了一点修改. 汉澳sinox就是基于bsd开发的,因此能够理解为一个bsd分支,可是由于sinox不开源,被排除在外.bsd不是商业软件, ...

  9. Linux编程环境介绍(1) -- linux的历史

    1. linux是什么? "Hello everybody out there using minix——I'm doing a (free) operating system"  ...

随机推荐

  1. 数据库操作类util

    package util; import java.sql.Connection; import java.sql.Driver; import java.sql.DriverManager; imp ...

  2. 常用ASCII 码对照表

    目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准 ...

  3. DRP PK 牛腩新闻发布系统

    一.JSP与ASP (1)Web服务器的支持:大多数通用的Web服务器如:Apache.Netscape和Microsoft IIS都支持JSP页面,只有微软本身的Microsoft IIS和Pers ...

  4. MySQL不同库名相同表结构实现主从配置

    数据库版本 5.6.16 在两个服务器上,存在不同名字的数据库,但是两个数据库中的所有表结构相同,实现主从复制. 主库服务器的数据库名为yoon,从库服务器的库名为hank 在从库的my.cnf配置文 ...

  5. 【F#】 WebSharper框架

    WebSharper,它是一个基于F#构建的Web开发平台,使用F#构造从前到后的一整套内容.其中利用到F#中许多高级的开发特性,并可以将F#代码直接转化JavaScript,这样服务器端和客户端的通 ...

  6. ios按钮点击后翻转效果

    代码是网上找到的,不过找到的时候直接复制下来不能用,稍微整理下,为和我一样水平的菜鸟观摩一下下. (1)引入“QuartzCore.framework”库,头部引用. #include<Quar ...

  7. C#的winform小合集

    C#的winform小合集 博主很懒,又想记录一下自己的所做所为,仅此而已,供自己日后所看.这个是博主自主学习C#所写的一些小程序,有好玩的,也有一些无聊闲得蛋疼所作的. 内容介绍 C#入门窗口输出h ...

  8. 【原创】jQuery插件 - Booklet翻书特效教程(一) 一般设置

    jQuery插件 - Booklet翻书特效教程(一) 一般设置 本文由五月雨恋提供,转载请注明出处. 一.宽高(width/height) 1.自定义大小 $(function(){ // 自定义页 ...

  9. git check 分支代码

    1.git clone xxx.git; 2.git branch -r  //查看分支 3.git checkout origin/分支名字 -b 本地新建分支名字 //从远程分支名字 down代码 ...

  10. WPF解析PPT为图片

    偶遇需要解析 PPT为单张图片 其中,对于包含动画的PPT页,分别对动画最后效果进行截取,即每个连续动画截取 (动画N个)N+1(原图)张 http://git.oschina.net/jiailiu ...