科技 > 操作系统 > Unix

FreeBSD是FreeBSD项目的发展成果,是开放源代码的类Unix操作系统,基于BSD Unix的源代码衍生发展而来

141人参与 2024-08-02 Unix

freebsdfreebsd项目的发展成果,是开放源代码unix操作系统,基于bsd unix的源代码衍生发展而来。加州大学伯克利分校1975年至1993年开发了bsd unix操作系统。freebsd的许可证规定源代码开放,允许任何人自由使用,任何人都可以获得并使用它来满足各种需求,也可以修改它,然后再重发布:此功能专为个人和公司量身定制,可用于创作各种基于freebsd的商业和非商业产品。尽管freebsd直接从bsd unix衍生,但它从法律角度来看並不是“unix”,因为现在“unix”商标属于国际开放标准组织,而freebsd并没有使用该商标的授权。

freebsd

freebsd 13.0的开机载入程序

开发者

freebsd项目

作業系統家族

bsd

運作狀態

運作中

源码模式

自由软件

首次发布

1993年11月1日

目前版本

  • 13.1 (2022516日;穩定版本)
  • 12.4 (2022125日;穩定版本)
  • 13.2-rc1 (202334日;最终测试版本)

软件包管理系统

pkg

支援平台

ia-32x86-64sparcmipspowerpcarmrisc-v

内核类别

宏内核 可載入核心模組

许可证

freebsd许可证(2条款的bsd许可证)、freebsd文檔許可證

官方網站

www.freebsd.org

仓库

freebsd第一个版本于1993年釋出。

freebsd支持许多硬件和体系架构。和其他bsd家族的操作系统一样,核心驱动程序以及所有用户层(userland)应用程序(如unix shellcatps等命令)都储存在freebsd源代码库。freebsd也可以运行其他二进制软件,比如linux的。借助portsfreebsd软件包管理器pkg,用户能安装各种应用程序。根据2005年的调查,77%的bsd用户使用freebsd,因此freebsd拥有bsd系列中最大的用户社群。

如今个人和企业将freebsd用于各种用途,包括雅虎苹果瞻博网络诺基亚ibmyandexapache软件基金会hotmail索尼和许多其他用途。

使用情况

freebsd广泛用于服务器防火墙路由器

freebsd支持各种x window桌面,如gnomekde

除了支持現在流行的x86-64x86指令集架構freebsd还支持armmips以及powerpc架構,亦可用于嵌入式系统

诉讼

386bsdfreebsd均源自1992年的bsd发行版。19921月,bsdi发布bsd/386,后更名为bsd/os,是基于bsd1992年的发行版、和freebsd相似的操作系统。at&t声称bsdi违反了at&t的源代码许可协议,并將其告上法庭。该场诉讼达成庭外和解,相关细节並未披露,公众所知的只有bsdi将转换4.4bsd-lite为新的源码基础。虽然没有参与诉讼,有人建议freebsd他们也应该将源码基础转到4.4bsd-lite199411月,freebsd 2.0釋出,这是freebsd首版無任何at&t代码的版本。

特点

网络

freebsd支持ipv4ipv6sctpipsec和无线网络(wi-fi)。其ipv6ipsec栈由kame project得到。

freebsd 5.4开始支援共用位址冗餘協定carp)。carp允许多节点共享ip地址群。所以如果有节点瘫痪,其他节点仍能接收请求。

储存

freebsdufs文件系统支持软更新和文件系统快照freebsd通过geom架構支援raid功能。

freebsd支持两种数据加密基础体系:gbdegeli。两者操作均在磁盘层级上。gbde由波尔-亨宁·坎普编写,并在遵守bsd许可证(即简化bsd许可证“freebsd许可证二者)情况发布;而geli则是gbde的替代品,它第一次在freebsd 6.0出现,由帕··戴夫(pawel jakub dawidek)编写。

freebsd支持ufszfs等多种文件系统。

开发

分支

freebsd开发者会同时维持至少两種开发分支。-current(現在)分支时刻代表freebsd开发的最前沿。-stable分支为每个主要版本的freebsd而设,每46个月才会从此分支中更新一次-release分支。若一项功能足够稳定成熟,它就很有可能向後移植(在freebsd开发者口语中称为mfccurrent合并)到-stable分支。

许可协议

freebsdbsd許可證下发布,允许任何人在保留版权和许可协议信息的前提下随意使用和发行。bsd许可协议并不限制将freebsd源代码在另一个协议下发行,因此任何团体都可以自由地将freebsd代码融入它们的产品之中去。

發展團隊

freebsd发展采用core team的方式。core team的成员决定整个freebsd计划的大方向,对于开发者问的问题有最后的决定权,其他的开发者也可以送出建设或是他们修改过的源代码,但是core team保留最终的决定权,决定是否将这功能放进freebsd。这种方式与linux发展大相径庭。

contributor

也可以說是submitter,无freebsd subversion的存取權限,但是可以透過其它的方式,如提交problem reports或在mailing list上參與討論,來貢獻freebsd

committer

有对freebsdsubversion存取的权限,可以将他的源代码或是文件送到版本库里面。一个committer必须要在过去的12个月中有commit的动作。而一个活跃的committer指在每个月至少都有一次以上的commit动作。

虽然说没有必要限制一个有commit权限的人只能在源代码树中可以存取的地方,但是如果一个committer要在他/她没有做出贡献或是不熟悉的地方,他/她必须要读那个地方的历史记录,还有maintainer档案,确认这个部份的维护者对于更改这边的源代码有没有什么特殊的要求。

core team

core team成员由committer互相推选出来,是整个freebsd计划的领导人,他们提升活跃的contributor成为committer,还有可以指派「hat」(指在计划中负责一些特定工作或领域的人),也是对于决定整个计划的大方向的最后仲裁者。在200471日,core team9位成员,而core team选举每两年一次。

平台

freebsd所支持的平台依照支持程度分成四个等级。第一线平台(tier 1,完整支持平台)目前包括x86x86-64。第二线平台(tier 2,发展平台)包括armpc98powerpc。对于第一线与第二线平台,freebsd会维持维护及稳定性,同时也都会要求大多数新功能能在这些平台正常运作。

第三线平台(tier 3,实验平台)目前包括了mipss/390,这等级的平台不為freebsd正式支持。

其他平台都歸類到第四線平台。

平台

支持等級

注意

ia-32

tier 1

參見"i386"

x86-64

tier 1

參見"amd64"

arm

tier 2

nec pc-9801

tier 2

參見"pc98"

powerpc

tier 2

sun sparc

tier 2

只支援64-bit (v9)平台

mips

tier 3

s/390

tier 3

版本與歷史

初期歷史

freebsd的发展始于1993年,起源于386bsd。然而,因为386bsd原始码的合理性受到质疑以及novell(当时unix的版权拥有者)与柏克莱接连而来的诉讼,freebsd19951月发布的2.0-release中以柏克莱加州大学的4.4bsd-lite release全面改写。freebsd handbook页面存档备份,存于)中有更多freebsd的发展历史。

freebsd 2.0最值得注意的部份也许是对卡内基美隆大学的mach virtual memory系统翻修以及freebsd ports system的发明。前者对于高负荷的系统优化,后者则是建立了一套简单且强大的机制维护第三方软件。有不少大型站台都使用freebsd,像是cdrom.com(一个巨大的软件收集站台),hotmail以及yahoo

freebsd 3.0则引入了elf binary格式,并开始支持多cpu系统(smpsymmetric multiprocessing)以及64alpha平台。3.x对于系统做了非常多的改革,这些措施在当时并没有带来好处,但却是4.x成功的基石。

freebsd 4

4.0-release20003月发行,最后一个版本4.11-release20051月发行,并支持到20071月。freebsd 4也是freebsd最长寿的主版本。freebsd 4发展出来的kqueue也移植到各种不同bsd平台。

freebsd 5

freebsd 5的最後一個版本freebsd 5.52006年五月發行。

freebsd 4smp架构下,在同一时间内只允许一个cpu进入核心(即giant lock),freebsd 5最大的改变在于改善底层核心locking机制,审视并改写核心程序代码,使得不同的cpu可以同时进入系统核心,藉以增加效率。

另外一个重大的改变在于自5.3开始支持m:n线程ksekernel scheduled entities),表示m个使用者线程共享n个核心线程的模式。

这个版本的许多贡献是由于商业化版本的bsd os团队的支持。

freebsd 6

freebsd 6为一个-stable发展版本,freebsd 6.32008118日发行,这个版本主要针对软件的更新,并加入lagg(可以对多张网卡操作)的支持,并引入重新改写的unionfsfreebsd 6.420081128日发行。

freebsd 7

freebsd 7為目前第二個-stable發展版本,在2007619日進入發行程序,20082277.0-release正式发布。2010323freebsd 7.3-release正式发布。新增的功能包括了:

freebsd 8

freebsd 8.0

freebsd 8.1

2010724日发布freebsd 8.1-release,增加如下新特性:

freebsd 8.2

freebsd 8.3

freebsd 8.4

freebsd 9

freebsd 9.0

freebsd 9.020121月发布,是第一个9.xfreebsd稳定分支,有以下特性:

freebsd 9.1

freebsd 9.1201211月發布

freebsd 9.2

freebsd 9.2201310月發布

freebsd 9.3

freebsd 9.320147月發布

freebsd 10

freebsd 10.0

freebsd 10.020141月發布,这版本包含的重要改进包括:

freebsd 10.1

freebsd 10.12014116日正式發布

freebsd 10.2

freebsd 10.22015813日正式發布。主要改進包括:

freebsd 10.3

freebsd 10.32016325日正式發布

freebsd 11

freebsd 11.0

freebsd 11.02016922日正式發布

freebsd 12.1

freebsd 12.120181211日正式發布

freebsd 12.2

freebsd 12.220201028日正式发布

freebsd 13.0

freebsd 13.02022413日正式发布

freebsd 13.1

命名规则

-current分支所使用的cvs tag.,固定称为a-current,如目前-current分支为12-current,这个版本只建议开发者使用,通常在邮件论坛上测试过觉得没有什么大问题的功能会先加到这分支。

-stable分支里所使用的cvs tagreleng_a,如目前-stable分支为releng_10releng_9。许多新功能在-current分支测试一段期间觉得没有问题后就会将该项功能逆向移植(mfcmerge from current)回releng_10

這是當開發團隊認為-stable分支有足夠新功能或其他理由認為足以釋出新版freebsd時,會先將-stable分支名稱改為-beta,表示要進入release cycle

-release分支使用的cvs tagreleng_a_breleng_a_b_c,这些cvs分支不会增加功能,只做安全维护。这些分支是在开发团队认为-stable的功能累积到一定程度后,可以整理出来出新版本。譬如6.2-release5.4-release

當離上次釋出版本的時間太短時,freebsd團隊會考慮只在後面加上一個次要版號。

許可證

freebsd包含了gnu通用公共许可证gnu宽通用公共许可证isc许可证通用开发与散布许可证啤酒软件许可证的程序代码,也有使用三条款和四条款的bsd许可证的程序代码。另外有些驱动程序也包涵了二进制大型物件,像是atheros公司的硬件抽象层。这使所有人都可以自由使用还有再散布freebsd

不过,freebsd的核心和新开发的程序代码大多都使用两条款的bsd许可证释出,许多使用gpl的程序代码都必须经过净室工程,以其他授权方式重写,这主要是避免整个核心受到gpl影响。

已知問題

相关书籍

irc

正体中文:

其他channel可以參考freebsd官方wiki的(页面存档备份,存于)頁面。

参见

参考文献

    1.  . 2022516 [2022516(英語).
    2.  . 2022125 [2022127].
    3.  . 202334 [202335].
    4.  . freebsd.org. 2012-12-31 [2013-05-27]. (原始内容存档2013-06-04.
    5.  sean michael kerner. . www.webcitation.org. 2008-02-29 [2018-03-10]. (原始内容存档2020-05-02 (英语).
    6.  greg, lehey. . 4th. o'reilly. 2003 [2018-03-10]. isbn 9780596005160. oclc 51780648. (原始内容存档2019-10-16.
    7.  . www.webcitation.org. [2018-03-10]. (原始内容存档2020-05-02 (英语).
    8.  the bsd certification group. (pdf). 2005-10-31. 原始内容 (pdf)存档于2014-03-14.
    9.  david mertz. . 2010-08-22 [2018-03-10]. 原始内容存档于2010-08-22.
    10.  . 2011-06-09 [2018-03-10]. 原始内容存档于2011-06-09.
    11.  lucas 2007,第372-375.
    12.  chisnall, david. . informit.com. 20 january 2006 [13 december 2013]. (原始内容存档2014-01-05.
    13.  . [2008-02-17]. (原始内容存档2009-11-25.
    14.  . [2007-06-10]. (原始内容存档2007-05-28.
    15.  . [2007-06-10]. (原始内容存档2007-05-28.
    16.  . [2010-03-25]. (原始内容存档2010-05-15.
    17.  . [2010-03-25]. (原始内容存档2010-04-02.
    18.  . [2012-10-14]. (原始内容存档2012-10-03.
    19.  . [2008-02-17]. (原始内容存档2008-01-22.
    20.  . [2008-11-29]. (原始内容存档2008-12-02.
    21.  . [2007-06-19]. (原始内容存档2007-06-30.
    22.  . [2011-02-18]. (原始内容存档2011-04-12.
    23.  . [2007-06-10]. (原始内容存档2007-05-26.
    24.  . [2007-06-10]. (原始内容存档2007-09-14.
    25.  . [2007-06-09]. (原始内容存档2007-05-17.
    26.  . [2007-06-09]. (原始内容存档2014-04-23.
    27.  . [2007-06-10]. (原始内容存档2007-05-25.
    28.  . [2007-06-10]. (原始内容存档2007-05-27.
    29.  . [2007-06-10]. 原始内容存档于2007-04-02.
    30.  . [2007-07-18]. (原始内容存档2008-03-03.
    31.  . [2007-07-18]. (原始内容存档2007-06-25.
    32.  . [2007-06-09]. (原始内容存档2014-04-23.
    33.  . [2007-06-09]. 原始内容存档于2007-06-11.
    34.  . [2013-10-02]. (原始内容存档2009-11-29.
    35.  . [2013-10-02]. (原始内容存档2013-10-05.
    36.  . [2011-02-18]. (原始内容存档2011-04-12.
    37.  . [2009-12-01]. (原始内容存档2009-11-30.
    38.  . [2013-10-02]. 原始内容存档于2011-04-12.
    39.  . [2013-10-02]. (原始内容存档2013-10-04.
    40.  . [2013-10-02]. (原始内容存档2013-09-30.
    41.  . [2012-01-03]. (原始内容存档2012-01-13.
    42.  . [2012-11-04]. (原始内容存档2013-01-10.
    43.  . [2013-09-27]. (原始内容存档2013-10-03.
    44.  . [2014-07-08]. (原始内容存档2014-07-01.
    45.  . [2014-01-14]. (原始内容存档2014-01-22.
    46.  . [2014-11-06]. (原始内容存档2014-11-17.
    47.  . [2015-08-06]. (原始内容存档2015-08-14.
    48.  . [2015-08-15]. 原始内容存档于2015-11-21.
    49.  . [2016-03-25]. (原始内容存档2016-04-05.
    50.  . [2016-09-22]. (原始内容存档2016-10-11.
    51.  . [2020-01-23]. (原始内容存档2019-12-21.
    52.  . [2022-04-13]. (原始内容存档2022-05-10.
    53.  . [2007-04-02]. (原始内容存档2007-04-07.
    54.  .

外部链接

维基共享资源中相关的多媒体资源:freebsd

this article is issued from wikipedia. the text is licensed under creative commons - attribution - sharealike. additional terms may apply for the media files.

 

(0)
打赏 微信扫一扫 微信扫一扫

您想发表意见!!点此发布评论

推荐阅读

Unix、UTC、GPS时间戳及转换

08-02

运维 | 如何解决“Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the d”问题 | Docker

08-02

【Ubuntu】超详细安装Ubuntu系统

08-02

udp多点通信-广播-组播

08-02

Windows 安装 GCC

08-03

IO进程——系统IO与文件IO

07-31

猜你喜欢

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论