BSD

✍ dations ◷ 2025-02-24 23:04:24 #1977年软件,BSD,自由操作系统,Unix,已停止开发的操作系统

伯克利软件包(英语:Berkeley Software Distribution,缩写:BSD;也被称为伯克利Unix或Berkeley Unix)是一个派生自Unix(类Unix)的操作系统,1970年代由伯克利加州大学的学生比尔·乔伊开创,也被用来代表其派生出的各种包。

BSD许可证非常地宽松,因此BSD常被当作工作站级别的Unix系统,许多1980年代成立的计算机公司都从BSD中获益,比较著名的例子如DEC的Ultrix(英语:Ultrix),以及Sun公司的SunOS。 1990年代,BSD大幅度被System V 4.x版以及OSF/1(英语:OSF/1)系统所取代,但其开源版本被用在互联网的开发。

最初的Unix包源自1970年代的贝尔实验室,操作系统中包含源码,这样研究人员以及大学都可以参与修改扩展。1974年,第一个伯克利的Unix系统被安装在PDP-11机器上,计算机科学系而后将其用作扩展研究。

其他大学开始对伯克利的软件感兴趣,在1977年,伯克利的研究生比尔·乔伊将程序整理到磁带上,作为First Berkeley Software Distribution(1BSD)发行。 1BSD被作为第六版Unix系列,而不是单独的操作系统。主要程序包括Pascal编译器,以及比尔·乔伊的ex行编辑器。

Second Berkeley Software Distribution(2BSD)于1978年发布,除了对1BSD中的软件进行升级,还包括了比尔·乔伊写的两个新程序:vi文本编辑器(ex的可视版本),以及C Shell。这两个新添的程序,在Unix系统中至今仍被使用。

2BSD以后的版本逐渐从PDP-11结构向VAX计算机移植。最新的2.11BSD于1992年发布,更新维护一直持续到2003年。

1978年,伯克利安装了第一台VAX计算机,但将Unix移植到VAX构架的UNIX/32V,并没有利用VAX虚拟内存的能力。伯克利的学生重写了32V的大部分内核,以实现虚拟内存的支持。1979年,3BSD诞生了,这个新系统完整包括了一个新内核、从2BSD移植到VAX的工具,还有32V原来的工具。

3BSD的成功使得美国国防高等研究计划署(DARPA)决定资助伯克利的计算机系统研究小组(CSRG),以开发一个Unix标准平台,供DARPA未来研究。1980年10月,该小组发布了4BSD,此版本对3BSD有许多改进。

相较于VAX机器的主流系统VMS,用户对BSD时有批评。1981年6月,4.1BSD发布,比尔·乔伊大幅度提高了该版本内核的性能,使之在多个平台上与VMS相媲美。为了避免与AT&T的UNIX System V(UNIX第五版)混淆,这个版本没有取名为5BSD。

4.2BSD历经两年后才得以问世,实现了多项重大改进。之前有三个中间版本相继推出:4.1a引入了BBN科技预试中的TCP/IP协议栈的修改版;4.1b引入了由马绍尔·克尔克·麦库锡克(英语:Marshall Kirk McKusick)实现的新型文件系统(Berkeley Fast File System,FFS);4.1c是4.2BSD开发最后几个月的过渡版。

1983年8月,4.2BSD正式发布。这是1982年比尔·乔伊离开小组、前去创建Sun公司后的第一个版本,自那时起马绍尔·克尔克·麦库锡克和Mike Karels(英语:Mike Karels)和一直负责领导该项目。值得一提的是,这次BSD小恶魔正式出场,最初是马绍尔·克尔克·麦库锡克的画作,出现在打印好的文档封面上,由USENIX发行。

1986年6月,4.3BSD发布。该版本主要是将4.2BSD的许多新贡献作性能上的提高,原来的4.1BSD没有很好地协调。在该版本之前,BSD的TCP/IP实现已经跟BBN的官方实现有较大差异。经过数月测试后,DARPA认为4.2BSD更合适,所以在4.3BSD中作了保留。 (参见互联网历史)

4.3BSD后,BSD逐渐抛开老式的VAX平台。 Computer Consoles有限公司开发的Power 6/32平台(代号为"Tahoe"),当时看来大有可为,但不久即被他们的开发员所遗弃。然后,1988年6月移植的4.3BSD-Tahoe却表现不俗,BSD将依赖于机器跟不依赖于机器的代码分离,为未来系统的可移植性打下了良好的基础。

到此为止,所有的BSD版本都混合了专属的AT&T UNIX代码,这样继续使用就需要从AT&T获得许可证。源码许可证当时非常地昂贵,几个其他组织对单独的网络代码版感兴趣,完全独立于AT&T,这样就可不受许可证的支配。 1989年6月,Networking Release 1(Net/1)诞生了,没有AT&T许可也能使用,可遵照BSD许可证进行自由再发布。

1990年初,推出了4.3BSD-Reno。该版本是4.4BSD早期开发的过渡版,使用该版本被戏称为是一种赌博,因为Reno就是内华达州的赌城雷诺。

Net/1以后,Keith Bostic(英语:Keith Bostic)提议,BSD系统中应该有更多的非AT&T部分,以Net/1的协议发布。随后,他开始一个项目,着手重新实现一些Unix标准工具,其中不使用原来的AT&T代码。例如,Vi,也就是基于最初Unix上ed的编辑器,被重写为nvi(new vi)。 18个月后,所有AT&T的工具被替换,剩下的只是存留在内核的一些AT&T文件。残余文件被剔除后,1991年6月,Net/2诞生了,这是一个全新的操作系统,并且可以自由发布。

Net/2成为Intel 80386构架上两种移植版的主要组成部分,包括由William Jolitz(英语:William Jolitz)负责,自由的386BSD(英语:386BSD);以及专属的BSD/OS,由Berkeley Software Design(英语:Berkeley Software Design)(BSDi)负责。386BSD本身虽然短命,但在不久之后成为了NetBSD和FreeBSD原始代码的基础。

BSDi很快就与AT&T的Unix系统实验室(Unix System Laboratories,USL)附属公司产生了法律纠纷,后者将拥有System V著作权,以及Unix商标。 1992年,USL正式对BSDi提起诉讼,这导致Net/2发布被中止,直到其源码能够被鉴定为符合USL的著作权。

由于最后判决悬而未决,这桩法律诉讼将BSD后裔,特别是自由软件后裔的开发,延迟了两年,这导致没有法律问题的Linux内核获得了极大的支持。Linux跟386BSD的开发几乎同时起步,其作者林纳斯·托瓦兹曾说,当时如果有基于80386平台的自由类Unix操作系统,他就可能不会创造Linux。尽管无法预料这给以后的软件业究竟造成了什么样的影响,但有一点可以肯定,Linux更加丰富了这块土壤。

这桩诉讼在1994年1月了结,更多地满足了伯克利的利益。伯克利包的18,000个文件中,只有3个文件被要求删除,另有70个文件被要求修改,并显示USL的著作权说明。这项调解另外要求,USL不得对下面的4.4BSD提起诉讼,不管是用户还是伯克利代码的分发者。

1994年6月,4.4BSD以两种形式发布:可自由再发布的4.4BSD-Lite,不包含AT&T源码;另有4.4BSD-Encumbered,跟以前的版本一样,遵照AT&T的许可证。

伯克利的最终版本是1995年的4.4BSD-Lite Release 2,而后CSRG解散,在伯克利的BSD开发告一段落。在这之后,几种基于4.4BSD的包(比如FreeBSD、OpenBSD和NetBSD)得以继续维护。

另外,由于BSD许可证的宽容,许多其他的操作系统,不管是自由还是专属,都采用了BSD的代码。例如,Microsoft Windows在TCP/IP的实现上引入了BSD代码;经过重新编译,在当前Windows版本中,还采用了许多BSD命令行下的网络工具。

BSD率先包含了支持互联网协议栈(Stack)、伯克利套接字(sockets)的函数库。通过将套接字与Unix操作系统的文件描述符相集成,库用户通过计算机网络读写数据,跟直接在磁盘上操作一样容易。AT&T最后也发布了他们的STREAMS库,在软件栈中引入类似的功能,虽然结构层有所改进,但此时套接字库已经广泛使用。由于STREAMS少了对开放套接字的轮询功能(类似于伯克利库中的select调用),使得将软件移植到这个新的API很困难。

时至今日,BSD仍在学术机构,乃至许多商业或自由产品的高科技实验中,继续被用作试验平台,甚至在嵌入式设备中,其使用也在增长。由于BSD设计出众,代码编写清晰,包括它的文档(特别是参考文档,常被称为“man pages”),使得这样的系统,几乎成为程序员眼中的乐土。

许多公司都使用BSD派生出的代码,如此便可以支持他们的知识产权。许多自由软件,如Linux、GNU工程都遵照GNU GPL协议,与之相比,BSD许可协议要更加灵活。当然,这也导致人们的机器上运行着一些BSD软件,但自己却并不知情。有兴趣的话,可以试着找找符号“University of California, Berkeley”,比如在产品文档内,二进制代码中的静态数据段,或者ROM中,还有通过一些产品的用户界面看看“about”(关于)内容。

有意思的是,通过一个二进制兼容层(compatibility layer),在BSD操作系统上,可以运行相同构架下其他操作系统上的原程序。这比模拟器要快得多,通过这个方法,针对Linux的应用程序,也可以在BSD上全速运行。所以,BSD不仅适合作为服务器,也可作为工作站来使用,众所周知,现在针对Linux的商业或封闭源码软件越来越多。管理员也可以将一些原本只用于商业Unix变种的专属软件,转移到BSD,这样在保持原有功能的同时,操作系统更趋现代,可继续使用这些软件,直到有更好的替代。

结末,当前的BSD操作系统变种支持各种通用标准,包括IEEE、ANSI、ISO以及POSIX,同时保持传统BSD的良好风范。

当前派生自BSD的类Unix操作系统可应用于多种硬件构架。

跟AT&T Unix一样,BSD也采用单内核,这意味着内核中的设备驱动,在核心态下运行,从而作为操作系统的核心部分。 BSD的早期版本被用作组建Sun公司的SunOS,造就了Unix 工作站的第一波热潮。

相关

  • 前mRNA前信使RNA(英语:Precursor mRNA,简称为前mRNA、mRNA前体)是一种未成熟的单链信使核糖核酸(mRNA)。前mRNA是从细胞核中的DNA模板通过转录而合成的。前mRNA构成了不均一核RNA(或称为
  • 金枪鱼属金枪鱼属(学名:Thunnus)又名鲔属,是金枪鱼族(该族统称为金枪鱼)下5属之一的海洋生物,在英语中该属物种也被统称为真金枪鱼(true tuna, real tuna)。本属有8个品种,其中多数品种体积巨
  • 台罗字台湾闽南语罗马字拼音方案(台罗:Tâi-uân Bân-lâm-gú Lô-má-jī Phing-im Hong-àn,白話字:Tâi-oân Bân-lâm-gú Lô-má-jī Pheng-im Hong-àn),简称为台罗拼音或台罗
  • 汉弗莱斯峰汉弗莱斯峰(英语:Humphreys Peak,纳瓦霍语:Dookʼoʼoosłííd)是美国亚利桑那州的最高峰,海拔12,633英尺(3,851米),位于可可尼诺国家森林的卡驰纳峰原野地区(英语:Kachina Peaks Wild
  • 斯坦福·摩尔斯坦福·摩尔(Stanford Moore,1913年9月4日-1982年8月23日),美国生物化学家,1972年获诺贝尔化学奖。1901年:范托夫 |1902年:费歇尔 |1903年:阿伦尼乌斯 |1904年:拉姆齐 |1905年:拜尔 |1
  • 尼可籁·霍奇艾诺夫尼可籁·霍奇艾诺夫(俄语:Николай Хозяинов,英语:Nikolay Khozyainov, 1992年7月17日-),俄罗斯古典钢琴家,诞生于俄罗斯远东地区海兰泡(俄语名布拉戈维申斯克,Blagoves
  • 阿夫克先季·纳尼基维奇·拉巴瓦阿夫克先季·纳尼基维奇·拉巴瓦(俄语:Авксентий Нарикиевич Рапава,1899年5月4日-1955年11月15日)格鲁吉亚人,主持格鲁吉亚大清洗的领导人之一,格鲁吉亚
  • 太阳社太阳社,1927年秋于上海四川北路1999弄(丰乐里)32号成立,与创造社为当时中国两大革命文学团体。1929年底解散,1930年春全体成员加入中国左翼作家联盟。由钱杏邨(阿英)、蒋光慈、孟超
  • 格里高利·大卫·罗伯兹格里高利·大卫·罗伯兹(Gregory David Roberts),1952年6月出生于墨尔本。澳大利亚作家,因其所著长篇自传体小说《项塔兰》而一举成名。格里高利有较好的文学功底,早年吸食海洛因
  • 哈克特·巴博沙哈克特·巴博沙船长(英语:Captain Hector Barbossa)是电影《加勒比海盗电影系列》中的虚构人物,由杰弗里·拉什饰演。在电影剧情中,巴博沙船长为里海海盗王,名列加勒比海九大海盗