在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. node.js和socket.io纯js实现的即时通讯实例分享

    在这个例子中,其实node.js并没有真正起到服务器的作用,因为我们这里可以直接运行client.html文件,而不用输入url请求,当 然,要想输入url请求页面内容还需要加入请求静态文件的代码.这 ...

  2. 关于华为C8812救砖教程

    问题:华为C8812刷机后,开机显示:---------------------------------------------------------------- Image signature ...

  3. SQLserver关于教学楼中教室在某个时间段是否被占用的数据库设计

    需求:关于教学楼中教室在周几某个时间段是否被占用的数据库设计 具体代码如下: -------------------教学楼维度 CREATE TABLE TeacBuild ( tbID int no ...

  4. andriod

    谷歌提供的安卓源码中,网址如下:http://androidxref.com http://blog.csdn.net/zoe6553/article/details/6622258

  5. 从零开始学ios开发(十六):Navigation Controllers and Table Views(下)

    终于进行到下了,这是关于Navigation Controllers和Table Views的最后一个例子,稍微复杂了一点,但也仅仅是复杂而已,难度不大,我们开始吧. 如果没有上一篇的代码,可以从这里 ...

  6. React和Backbone优缺点

    1.React 使用了VDOM,方便移植至其他平台,如Android等:Backbone更灵活,且与Jquery结合比较好. 2.React如果不与Jsx结合易读性很差;Backbone有强大的模板功 ...

  7. 对cnblogs.com用户体验的评价

    一.对于cnblogs.com的用户体验我们先对以下问题进行回答: 1.你是什么样的用户, 有什么样的心理, 对cnblogs 的期望值是什么? 我们是正在学习软件工程课程的在校计算机专业大学生,在博 ...

  8. NopCommerce——源代码的组织,以及系统的架构

    近来使用NopCommerce进行开发,仿照源码的Demo也能做出看上去还蛮高端大气上档次的系统出来,现下准备深入学习学习.首先从官方的Documentation开始看起,先来一篇官网文章的翻译(园里 ...

  9. [C#]Linq To Xml 介绍- 转

    LINQ to XML 类概述 LINQ to XML 旨在使 XML 名称尽可能简单.     XAttribute 类 XAttribute 表示一个 XML 属性. XCData 类 XCDat ...

  10. iOS上用FTGL显示定制Truetype字体碰到的问题

    没想到这个问题搞了快2个月时间:当然跟我只是断断续续地工作有关. FTGL是freetype的opengl实现.我接触FTGL最初只是为了练习OpenGL,写几个简单的游戏app.开始试了试FTGL觉 ...