FreeBSD的起源和发展

Unix的魅力不仅在于其功能的强大性,还在于其优秀的可扩展性,它提供了高级语言C和各种解释语言可用于编写程序。利用这些系统提供的工具,使用者就能按照自己的需要和兴趣对原有系统进行扩展,满足相当一部分计算机研究人员和使用者的需要,这样Unix就具备更强大的能力,完成各种复杂的任务。一旦用熟了Unix,体会到Unix的强大功能,使用者就会希望一直使用它,而不是仅具备有限能力的其他计算机系统。企业也希望能在其可以承受的条件下,利用Unix系统的强大处理能力。

由于Unix是多用户操作系统,作为系统的普通使用者只能使用系统提供的有限功能,而只有Unix系统管理员才能充分利用其的全部能力。因而拥有自己的Unix系统也是一个普通Unix使用者的愿望。但是在那些时候,能够满足这些愿望的计算机并不是每个人都能买得起的。昂贵的硬件,以及Unix逐渐商业化趋势,都使得拥有自己的Unix对大多数人只是美好的愿望,而使用Unix的地方主要为一些要求较高的科研和大中型公司机构。

到80年代,个人计算机的出现,使得硬件的价格能被个人和小企业接受了,给拥有一个Unix系统的愿望带来了一线曙光。但是使用8086芯片的个人计算机能力比较差,在其上不能实现真正正常工作的多用户系统。进入九十年代之后,英特尔公司推出的80386芯片使个人计算机的计算能力大大提高,在个人计算机上构建一个可以真正使用的Unix也成为了可能。

事实上此时能运行在X86平台上的Unix相当有限,Mircosoft的Xienx是一种(后来发展成为SCO Unix),但不能指望能自由、免费使用这个商用系统。要移植Unix到PC平台上便需要Unix的源代码,而此时受AT&T的许可权的限制,Unix代码还不能被自由获得(但在BSD与AT&T的法律纠纷之后的4.4 BSD Lite不再受这个限制了,可以在BSD许可下自由使用)。很多计算机爱好者为了实现一个可以自由使用的操作系统,不但进行着努力。自由软件基金会的GNU计划的目的就是打算创建一个自由的、与Unix类似的操作系统,为了实现这个目的,GNU开发了很多非常有效的工具、包括编译器和很多系统命令,然而GNU计划中的操作系统内核──HURD,却进展缓慢,从而无法构建一个完整的操作系统。很快,就有计算机爱好者开始考虑在个人计算机平台上构建一个Unix内核。芬兰一位计算机研究生Linus Torvalds开始了这个工作,他通过学习Minix──一个用于教学目的的简单Unix系统,在x86平台上构建了Linux内核,这个内核和GNU的系统工具结合起来,取得了相当大的成功,成为当前非常流行的GNU/Linux系统。

与这些努力相比,BSD方面的研究人员的行动则比较迟缓,一个原因是Unix技术上已经相当成熟,计算机系统研究组的大部分成员已经把注意力转向了其他研究项目,另外AT&T与BSD的法律纷争也使得BSD发展受到了阻碍。但是还是有两个将BSD移植到80386平台的开发工作同时进行,一个是BSD/386小组,他们的研究结果为商业版本的BSD/OS,属于商业公司BSDI。另一个就是386BSD计划,后来发展成为FreeBSD。

CSRG研究人员的条件比较优越,拥有足够的Unix系统,因此对个人计算机平台上的Unix系统没有太急迫的要求。

386BSD计划由Bill Jolitz等研究人员发起,将4.3BSD Net/2移植到80386平台上,并使用386BSD的名称发布。但是移植工作是一个复杂的任务,直到386BSD 0.5版本,系统中仍然存在相当多的问题没有解决。于是在1993年,另一些研究者决定加入这个计划,打算和Bill Jolitz一起修正系统中存在的问题。但是这时计划的组织者Bill Jolitz突然决定退出,使得386BSD计划面临停止的危险。Bill Jolitz作为计划的发起者和负责者并没有对这个计划以后该如何发展给出具体意见,因此386BSD计划是到此为止还是继续发展,就取决于其他开发者的决定。幸运的是,该项目的另三个参与者Nate Williams, Rod Grimes和Jordan K. Hubbard决定继续这项非常有意义的工作,他们采用由David Greenman创造的名字FreeBSD作为系统的新名字,从此有了一种任何人都可以自由使用的Unix操作系统 ── FreeBSD。

BSD Unix使用一个神话中的精灵形象作为其吉祥物,这个吉祥物标志被FreeBSD、NetBSD继续使用,但不同BSD系统的精灵略有不同,右图为FreeBSD的BSD精灵形象。当用户浏览Internet时,会在很多与FreeBSD相关的网站上看到这个可爱的精灵标志。

1993年12月对于FreeBSD来讲是非常重要的日子,FreeBSD 1.0版本于这个月正式发布。这次FreeBSD的开发者找到了一家出版商Walnet Creek提供支持,来发布FreeBSD的光盘和提供高速Internet网络服务,使得任何人都可以通过购买光盘或者通过Internet下载的方法,自由获得FreeBSD系统,使得FreeBSD取得了很大成功。而Walnet Creek也使用FreeBSD建成了Internet上最大、最繁忙的匿名文件服务器──ftp.cdrom.com。

FreeBSD虽然可以自由获得,然而BSD与AT&T的法律纠纷仍然威胁着FreeBSD系统的合法性。就在FreeBSD得到相当多用户欢迎的时候,Unix系统实验室(此时已经卖给了Novell)与伯克利计算机系统研究小组的法律纷争有了结论。虽然最后不必进行赔偿,但是BSD Unix系统中必须去除原来来自AT&T的源码。伯克利计算机系统研究小组去除了这些不到10%源码,发布了4.4BSD Lite,其他基于BSD的Unix,包括FreeBSD在内,都被要求立即转换到4.4 BSD Lite上去。

这对FreeBSD是一次相当严重的打击,虽然4.4 BSD Lite只删除了一小部分代码,但尤其对于英特尔80386平台,缺乏这些代码,系统就不能正常运转。FreeBSD小组必须解决两个任务,首先是将FreeBSD从原本的4.3BSD迁移到4.4BSD上,再将删除的源码完全重写。这些任务相当于将4.4BSD Lite重新移植到80386上,因此这花费了FreeBSD核心小组很大的精力。因此直到1995年1月他们才发布了FreeBSD 2.0,这次就是一个完全的4.4BSD Lite的系统了。但是在大约一年时间之内,FreeBSD不能在原有1.0基础上进行改进并推出新版本,而这个时期正是Internet进一步发展的阶段,FreeBSD错过了一个发展壮大的好时机。而其竞争对手,如Linux,则取得了巨大的成功。

接下来,FreeBSD加快了开发节奏,2.1、2.2、3.0相继推出,这个系统在Internet上的应用也越来越多,尤其是对于要求高性能、高可靠性的网络服务器系统,FreeBSD提供了一个极具诱惑的选择。

由于Unix商标属于X/Open组织,而FreeBSD只是一个自由操作系统,从法律角度上看FreeBSD不能被叫作Unix(不能使用Unix做商标)。但是基于Unix本身的历史,FreeBSD可以算最原汁原味的Unix,在有的方面,它更具传统特色──或者说BSD Unix的学院特色。当前,Unix商标其实是只具有象征性的含义,没有人介意到底那些系统是X/Open的成员,可以被称作Unix,那些不是。Unix已经成为一个广泛的概念,只要是按照Unix为模板进行开发,所有的应用程序在C源程序级与其他Unix相互兼容,也同样被所有使用者承认为Unix系统。因此这里的Unix包括BSD和System V在内的各种系统,也包括像Linux这样的兼容系统。

FreeBSD的起源和发展相关推荐

  1. Linux的起源和发展

    文章目录 Linux的起源和发展 Linxu的起源 追溯到Unix Unix的诞生 混乱的Unix发展过程 Linux与Unix的对比 UNIX和Linux的授权方式不同 UNIX和Linux不存在技 ...

  2. 翡翠手链的起源和发展历史

    翡翠手链的起源和发展历史 翡翠手链,起于清朝,流行于上等阶层.翡翠手链最早来自于佛珠,故而到现在手串大多都保持18颗的穿系风俗.当然,也还会有的手串生产更显佛教化,每串的18颗珠子之上分别雕刻有形态各 ...

  3. IFS认证辅导,国际食品企业认证BRC和IFS起源和发展

    在国际零售商公信力最强的四个标准中,BRC标准和IFS标准与其他标准相比全面涵盖了零售商对产品的质量要求,广泛的被世界零售商所接受,进行BRC和IFS认证的商品更能够取得欧美进口国的信任和青睐. 文章 ...

  4. 《新一代SDN——VMware NSX 网络原理与实践》——第1章 SDN与网络虚拟化的起源与现状 1.1SDN的起源和发展历程...

    本节书摘来自异步社区<新一代SDN--VMware NSX 网络原理与实践>一书中的第1章,第1.1节,作者:范恂毅 , 张晓和著,更多章节内容可以访问云栖社区"异步社区&quo ...

  5. 具身认知研究的历史起源和发展

    具身认知(embodied cognition),也有学者翻译为"涉身"认知(孟伟,2007),它的主要含义指得是人的身体本身,在认知的过程中起到了非常关键的作用:人的认知,是通过 ...

  6. 深度学习基础知识(一): 概述-神经网络起源和发展

    目录 1. 神经网络概述 1.1 概念和起源 1.2 神经网络基本结构 1.2.1 神经元数学模型 1.2.2 sigmoid激活函数 1.2.3 神经网络结构 1.3 我对神经网络的构建和流程理解 ...

  7. 区块链正本清源 – 从计算机科学评看区块链的起源和发展

    比特币在理论上并没有解决计算机科学上的共识问题,是用经济杠杆促成的实用系统:比特币链的结算慢速是有根据的特殊设计,是不可以加速的:以太坊不可能作为通用链支持全世界的应用: 以太坊这么做智能合约是不科学 ...

  8. python的起源和发展_Python入门第一课——Python的起源、发展与前景!

    我们在做任何一件事情之前,我们都会通过各种渠道去搜集事情的信息,了解事情的来龙去脉,学习一门编程语言也是如此,只有知根知底,我们才能有明确的方向和目标,以及底气去完成这件事情,今天我带大家来看看Pyt ...

  9. 软件测试的起源和发展、流程 笔记

    一.软件测试的起源与发展 十九世纪初:软件规模小,混乱无序,遇到问题进行调试.由开发人员自己完成. 1957年:软件测试与开发调试区分开. 1972年,软件测试领域的先驱Bill Hetzel博士,在 ...

最新文章

  1. 【新功能】MaxCompoute禁止Full Scan功能开放
  2. 如何访问“我的网站”
  3. SpringBoot 项目打包部署
  4. 大年初一,给大家发1000红包!
  5. 看“意大利文艺复兴艺术展”(1)
  6. 63 SD配置-交货凭证配置-定义交货的项目类别
  7. linux常用基本指令汇总备忘
  8. EnvironmentLocationNotFound: Not a conda environment:
  9. 图像增强python_Python图像增强简介(第1部分)
  10. 现代通信原理:期中考试答案
  11. 教师计算机培训心得体会范文,教师计算机教育培训学习心得体会
  12. 鸟哥的Linux私房菜PDF在线阅读
  13. 将城市按照拼音首字母进行分类
  14. 长期性喝茶的好处和弊端
  15. 我在阿里工作的这段时间里,都学到了哪些东西
  16. [转]AndroidTolls国内镜像
  17. Java对接支付宝退款功能
  18. 开关稳压电源和线性稳压电源
  19. 构建module遇到pom报错Parent 'Unkown:Unkown:Unkown' has problems
  20. 用python实现域名资产监控

热门文章

  1. 为什么选择springcloud微服务架构
  2. 第五部分 自定义的Calendar接口示例
  3. 2021中国新锐品牌发展报告
  4. android studio python_android studio的安装信息
  5. vc6开发一个抓包软件_开发一个软件多少钱?3种软件开发公司报价
  6. 【2016年第5期】生态经营论
  7. 【计算机网络】TCP报文段结构
  8. 每天打卡心情好(洛谷P1664题题解,Java语言描述)
  9. UOJ351 新年的叶子
  10. 当Elasticsearch遇见智能客服机器人