FreeBSD is the development result of the FreeBSD project. It is an open source Unix-like operating system derived from the source code of BSD Unix.

FreeBSD is the development result of the FreeBSD project. It is an open source Unix- like operating system derived from the source code of BSD Unix . UC Berkeley developed the BSD Unix operating system from 1975 to 1993 . FreeBSD 's license stipulates that the source code is open, allowing anyone to use it freely. Anyone can obtain and use it to meet various needs, or modify it, and then redistribute it: this function is tailored for individuals and companies. Can be used to author a variety of commercial and non-commercial products based on FreeBSD . Although FreeBSD is directly derived from BSD Unix , it is not "UNIX" from a legal point of view , because the "UNIX" trademark is now owned by the International Open Standards Organization, and FreeBSD has no authorization to use the trademark.

FreeBSD

Bootloader for FreeBSD 13.0

Developer

FreeBSD -Project

operating system family

BSD

operating status

in operation

source mode

free software

Initial Release

November 1, 1993

current version

  • 13.1  ( May 16 , 2022 ; stable version )
  • 12.4  ( December 5 , 2022 ; stable version )
  • 13.2-RC1  ( March 4 , 2023 ; final beta release )

package management system

pkg

Support platform

IA-32x86-64SPARCMIPSPowerPCARMRISC-V

kernel class

Macro kernel  loadable core module

license

FreeBSD License (2-Clause BSD License ), FreeBSD Documentation License

Official website

www.freebsd.org

storehouse

The first version of FreeBSD was released in 1993 .

FreeBSD supports many hardware and architectures. Like other BSD family operating systems, the kernel , drivers , and all user-level ( Userland ) applications (such as Unix shells and commands such as cat and ps ) are stored in the FreeBSD source code repository. FreeBSD can also run other binary software, such as Linux . With the help of ports and the FreeBSD package manager pkg , users can install various applications. According to a 2005 survey, 77 % of BSD users use FreeBSD , so FreeBSD has the largest user community among the BSD series.

Today individuals and businesses use FreeBSD for a variety of purposes , including Yahoo , Apple , Juniper , Nokia , IBM , Yandex , Apache Software Foundation , Hotmail , Sony , and many others.

Usage

FreeBSD is widely used in servers , firewalls and routers .

FreeBSD supports various X Window desktops such as GNOME and KDE .

In addition to supporting the popular x86-64 and x86 instruction set architectures , FreeBSD also supports ARM , MIPS and PowerPC architectures , and can also be used in embedded systems .

litigation

Both 386BSD and FreeBSD are derived from the 1992 BSD distribution . In January 1992 , BSDi released BSD /386 , which was later renamed BSD/OS , which is based on the release version of BSD in 1992 and an operating system similar to FreeBSD . AT&T claimed that BSDi violated AT&T 's source code license agreement and took it to court. The lawsuit was settled out of court, the details of which were not disclosed, and the only public knowledge is that BSDi will convert 4.4BSD-Lite to the new source base. Although not involved in the lawsuit, it was suggested that FreeBSD should also move their source base to 4.4BSD-Lite . In November 1994 , FreeBSD 2.0 was released, which is theThe first edition without any AT&T codes.

features

network

FreeBSD supports IPv4 , IPv6 , SCTP , IPSec and wireless networking ( Wi-Fi ). Its IPv6 and IPSec stacks are obtained from the KAME Project .

The Common Address Redundancy Protocol ( CARP ) has been supported since FreeBSD 5.4 . CARP allows multiple nodes to share IP address groups. So if a node is paralyzed, other nodes can still receive requests.

store

FreeBSD 's UFS filesystem supports soft updates and filesystem snapshots . FreeBSD supports RAID functions through the GEOM framework .

FreeBSD supports two data encryption infrastructures: GBDE and Geli . Both operate at the disk level. GBDE was written by Paul - Henning Kemp and released under the dual BSD license (ie " Simplified BSD License " and "FreeBSD License " ); while Geli is a replacement for GBDE , it Once appeared in FreeBSD 6.0 , written by Pawel Jakub Dawidek .

FreeBSD supports various file systems such as UFS and ZFS .

to develop

the branch

The FreeBSD developers maintain at least two development branches concurrently. The -CURRENT (current) branch represents the forefront of FreeBSD development at all times. The -STABLE branch is set up for each major version of FreeBSD , and the -RELEASE branch is updated from this branch every 4 to 6 months. If a feature is sufficiently stable and mature, it is likely to be backported ( called MFC in FreeBSD developer colloquial or merged by CURRENT ) to the -STABLE branch.

agreement

FreeBSD is released under the BSD license , allowing anyone to use and distribute freely under the premise of retaining copyright and license agreement information. The BSD license agreement does not restrict the distribution of FreeBSD source code under another agreement, so any group is free to integrate FreeBSD code into their products.

development team

The development of FreeBSD adopts the method of Core Team . The members of the Core Team decide the general direction of the entire FreeBSD project, and have the final decision on the questions asked by developers. Other developers can also send the source code they have modified , but the Core Team reserves the final decision. Decide whether to include this feature in FreeBSD . This approach is very different from Linux development.

Contributor

It can also be said to be a Submitter , which does not have the access authority of FreeBSD  Subversion , but can contribute to FreeBSD through other means, such as submitting Problem Reports or participating in discussions on the Mailing list .

Committer

With access to FreeBSD 's Subversion , you can send its source code or files to the repository. A committer must have committed in the past 12 months . And an active committer means that there is at least one commit action every month.

Although it is not necessary to restrict a person with commit permissions to only places in the source code tree that can be accessed, if a committer wants to be in a place where he/she has not contributed or is unfamiliar, he/she must read The history of that place, as well as the MAINTAINER file, confirm that the maintainer of this part has no special requirements for changing the source code here.

Core Team

Core Team members are elected by the committers and are the leaders of the entire FreeBSD project. They promote active contributors to become committers , and they can also assign " Hat " (referring to people who are responsible for some specific work or areas in the plan). The final arbiter of the general direction of the entire plan. On July 1 , 2004 , the core team had 9 members, and core team elections happen every two years.

platform

The platforms supported by FreeBSD are divided into four levels according to the degree of support. The first-line platform ( Tier 1 , fully supported platform) currently includes x86 , x86-64 . The second-line platform ( Tier 2 , development platform) includes ARM , PC98 , PowerPC . For first-line and second-line platforms, FreeBSD will maintain maintenance and stability, and will also require most new features to work properly on these platforms.

The third-line platform ( Tier 3 , experimental platform) currently includes MIPS and S/390 , and this level of platform is not officially supported by FreeBSD .

Other platforms are classified as fourth-tier platforms.

platform

support level

Notice

IA-32

Tier 1

see "i386"

x86-64

Tier 1

see "amd64"

ARM

Tier 2

NEC PC-9801

Tier 2

see "pc98"

PowerPC

Tier 2

Sun SPARC

Tier 2

Only supports 64-bit (V9) platform

MIPS

Tier 3

S/390

Tier 3

version and history

early history

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正式发布。新增的功能包括了:

  • SCTP(實做完成)
  • UFS日誌檔案系統:gjournal(实做完成)
  • 移植升阳所发展的DTrace(实做完成,但还未交付至CVS
  • 移植升阳所发展的ZFS文件系统(实做完成)
  • 使用GCC4(移植完成,目前為4.2.1)
  • ARMMIPS平台的支援
  • 重寫過的USB stack(實做完成,但還未交付至CVS
  • Scalable concurrent malloc實做(已經可以使用)
  • ULE排程表2.0(SCHED_ULE,實做完成),並修改加強為SCHED_SMP(實做完成),在交付至CVS時的正式名稱為ULE 3.0,這個版本在8核心的機器上以sysbench MySQL測試的結果,速度比Linux 2.6快約10%(無論是使用Google的tcmalloc或是glibc+cfs)
  • Linux 2.6模擬層(已經可以使用)
  • Camellia Block Cipher(實做完成)
  • ZFS的运行

FreeBSD 8

FreeBSD 8.0

FreeBSD 8.1

2010724日发布FreeBSD 8.1-RELEASE,增加如下新特性:

  • 虚拟化方面:Xen DOM-U、VirtualBox guest及host支持、层次式jail。
  • NFS:对NFSv3 GSSAPI的支持,以及试验性的NFSv4客户端和服务器。
  • 802.11s D3.03 wireless mesh网络,以及虚拟Access Point支持。
  • ZFS不再是试验性的了。
  • 基于Juniper Networks提供MIPS处理器的实验性支持。
  • SMP扩展性的增强,显着改善在16核心处理器系统中的性能。
  • VFS加锁的重新实现,显着改善文件系统的可扩展性。
  • 显着缓解缓冲区溢出和内核空指针问题。
  • 可扩展的内核安全框架(MAC Framework)现已正式可用。
  • 完全更新的USB堆栈改善了性能和设备兼容性,增加了USB target模式。

FreeBSD 8.2

FreeBSD 8.3

FreeBSD 8.4

FreeBSD 9

FreeBSD 9.0

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

  • 采用了新的安装程序bsdinstall
  • ZFSNFS文件系统得到改进
  • 升级了ATA/SATA驱动并支持AHCI
  • 采用LLVM/Clang代替GCC
  • 高效的SSH(HPN-SSH)
  • PowerPC版支持索尼的PS3

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月發布,这版本包含的重要改进包括:

  • 在支持的平台上,clang(1)取代GCC成为了默认的系统编译器
  • 系統引入了Unbound作为本地的緩存DNS服務器。
  • 基本系统中删除了BIND。
  • 使用来自NetBSD的bmake(1)取代了原有的make(1)。
  • 使用了新的pkg(7)作为包管理工具。
  • 删去了舊式的包管理工具pkg_add(1)、pkg_delete(1),及其相關工具。
  • 大幅强化了支持虛擬化,新增了bhyve(8)虛擬机,以及virtio(4)和對微軟Hyper-V的原生半虛擬化支持。
  • ZFS添加了用於SSD的TRIM支持。
  • ZFS添加了高性能的LZ4壓縮算法支持。

FreeBSD 10.1

FreeBSD 10.12014116日正式發布

FreeBSD 10.2

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

  • resolvconf(8)更新至3.7.0,改进了DNS隐私保护。
  • ntp更新至4.2.8p3,修正了大量先前版本的问题。
  • 新增了用于支持虚拟化环境的rc(8)脚本growfs,用于在系统首次引导时扩大根文件系统。
  • 更新了Linux(R) ABI兼容支持,以支持Centos(TM) 6 ports.
  • 将drm更新至Linux(R) 3.8.13,支持同时运行多个X server。
  • 针对FreeBSD/arm平台的大量更新及改进。
  • 多个ZFS相关性能及可靠性改进,增加了大块(1MB)支持。
  • GNOME版本更新到3.14.2.
  • KDE版本更新到4.14.3.

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

命名规则

  • A-CURRENT

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

  • A.B-STABLE

-STABLE分支里所使用的CVS TagRELENG_A,如目前-STABLE分支为RELENG_10RELENG_9。许多新功能在-CURRENT分支测试一段期间觉得没有问题后就会将该项功能逆向移植(MFCMerge from current)回RELENG_10

  • A.B-BETAA.B-RC

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

  • A.B-RELEASE

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

  • A.B.C-BETAA.B.C-RCA.B.C-RELEASE

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

許可證

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

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

已知問題

  • 一般来说,FreeBSD支持的硬件较Linux少。安装前请参考FreeBSD网站上Release Information里要安装版本的Hardware Notes。
  • 其他已知問題

相关书籍

  • Absolute BSD, The Ultimate Guide to FreeBSD. Michael Lucas. No Starch Press, July 2002. ISBN 1-886411-74-3.
  • BSD Hacks, 100 Industrial-Strength tips for BSD users and administrators. Dru Lavigne. O'Reilly, May 2004. ISBN 0-596-00679-9.
  • The Complete FreeBSD, 4th Edition, Documentation from the Source. Greg Lehey. O'Reilly, April 2003 ISBN 0-596-00516-4.
  • The Design and Implementation of the FreeBSD Operating System. Marshall Kirk McKusick and George V. Neville-Neil. Pearson Education. ISBN 0-201-70245-2. Expected availability August 2004.
  • The FreeBSD Corporate Networkers Guide. Ted Mittelstaedt. Addison-Wesley, December 2000. Paperback, book & CD edition, 401 pages. ISBN 0-201-70481-1.
  • Designing BSD Rootkits: A Introduction to Kernel Hacking. Joseph Kong, No Starch Press, US, March 29 2007. Paperback, 144 pages, ISBN 1-59327-142-5.

IRC

正体中文:

  • Freenode上的#bsdchat

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

参见

  • BSD
  • 386BSD
  • DragonFly BSD
  • NetBSD
  • OpenBSD
  • BSD小惡魔
  • FreeSBIE

参考文献

    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.

 

Guess you like

Origin blog.csdn.net/weixin_40191861/article/details/132164800