领先于v13.0,FreeBSD团队会谈和关于Linux

2021-03-11 00:56:28

它没有被称为Linux的IT&#39,但FreeBSD有大量的铁杆粉丝。在广泛的聊天覆盖许可,包括RISC-V的架构,以及一个没有A&#34的开发模型;独裁者" reg与项目成员讨论了关于新版本的成员和更多。

FreeBSD 13.0刚刚达到了候选人1,并计划在3月底出来 - 具有关键的新功能,包括完整的LLVM Toolchain,更快的网络和改进的ZFS文件系统。

主要新发行版每两年零关:12.0于2018年12月推出12.0次,并于2020年10月12日推出。我们与内核开发商John Baldwin和Ed Maste发表过FreeBSD基金会的项目开发总监。

BSD代表Berkeley软件发行版,一个已停止的UNIX版本,该版本在1977年首次出现,FreeBSD是一个开源版本,最初在1993年底发布。与Linux不同,它不是在GNU公共许可证(GPL)下许可,哪些是一个Copyleft许可证(意味着它坚持认为衍生工程有相同的许可),但在更加轻松的BSD许可证下 - 尽管它确实包括一些GPL代码。

" FreeBSD的一部分' S力量,是什么让我们独一无二的是我们的许可证," Baldwin告诉我们。 "很多人将FreeBSD作为工具包,以建造东西,如家电。对于许多这些供应商而言,与GPL许可证相比,BSD许可非常重要,特别是GPLv3。我们从未将任何V3工具链接到我们的本地工具链中。"

FreeBSD 13中的更新的工具链是Baldwin和Maste在释放中的新物品中指出的第一件事。大小是现在迁移到LLVM编译器的长期项目现在完成 - 并且LLVM在Apache 2.0下许可,这比GPL更少限制。

"我们在Toolchain工作的努力大约10年前开始,"马斯特说。 "我们一直在迁移到克朗和LLVM系列项目组件。我们将康士导入基础系统并在前段时间迁移到它,但对于FreeBSD 13 We'完成了那段长的项目。我们将Clang作为编译器,LLD作为链接器,以及ELF工具链作为杂项二进制实用程序。

"一些三级架构,如MIPS,仍然使用GCC [C / C ++编译器] 4.2.1,这是几年多年的日期。"

即使大多数体系结构已经使用LLVM,这种迁移的含义扩展到所有架构FreeBSD支持。 "这是一个进程的高潮,让我们到现代化的工具链,这也是完全bsd许可的,或兼容许可证,"鲍德温说。

"对于weren' t使用clang的架构,但他们的基本代码非常陈旧,并支持现代的C ++标准,所以当我们编写基本公用事业代码时,我们必须将自己限制在最低的常见分母。我们可以自由使用,例如,C ++ 11功能。现在我们有自由要做。"

"旧组成部分在所有架构上征税或罚款;它限制了我们可以在x86或手臂上做些什么,因为我们必须携带对其他架构的支持,"马斯特说。

LLVM也在学术和研究世界中受欢迎。 "它更容易使用LLVM进行研究,因为它为此设计,而且#39;鲍德温说。另一个用例是risc-v,它看起来可能是freebsd的关键未来架构。 "我们可以获得RISC-V的编译器的唯一方法是使用Clang。它充分工作在13."

关于RISC-V端口,Maste添加:"它有效。它仍然在将其转化为完全可用的环境的早期阶段,但基础系统,内核,百分碑,一切都在那里。"

"有很多关于网络性能的工作,像FreeBSD基础资助的工作,改善虚拟网桥接口的性能,用于VM或其他一些配置。我们有五倍的性能改进。

" PF(数据包过滤器)防火墙收到了一堆改进,由使用FreeBSD的ISP资助。虚拟网络层还具有新功能。它是长期的实验性,但默认情况下已经提供,因为它达到了稳定性和功能完成。另一个是内核TLS工作,"马斯特说。

在内核TLS? "其中一个项目Netflix提出的是内核TLS,因此您能够允许内核管理TLS的加密部分,使用软件或在某些情况下我们有用于NIC卡的驱动程序,可以在发送时进行加密。电线上的数据包。将其移动到内核中可以为您提供更好的吞吐量和性能。这就是Netflix如何从单个服务器上推送一百或更多Gbps的TLS流量,"鲍德温说。

另一个关键功能是OpenZFS文件系统。 " FreeBSD已将基本系统中的ZFS列入了几年。但ZFS,它的发展随着时间的推移而变化。 Developer Mindshare在Linux树上移动了更多地走向ZFS,即现在称为OpenZFS。在13中,FreeBSD中的ZFS实现已切换为新的OpenZFS树。这意味着我们有一些特征,它在上次实施中呈现出来。我们现在连接到右上前的管道,"马斯特说。

ZFS是默认的文件系统,正如我们在旋转的最新RC时看到的那样。

在软件方面,"我们'在我们拥有的Linux仿真层,Linuxtator,"马斯特说。 "相当多的当代Linux二进制文件现在将在FreeBSD内核上运行。人们一直在使用它来运行Linux Chrome,用于Widevine DRM观看Netflix内容或运行一些蒸汽游戏。"

表现如何? "对于绝大多数Linux应用程序来说,性能开销有效。他们要么只是快速跑步,要么没有运行,"他告诉我们。

FreeBSD团队是否有兴趣使用Rust这样的更安全语言来提高安全性? Baldwin没有将此视为更加内存安全的主要路线。 "我工作的一件事是剑桥的一个项目,称为Cheri(能力硬件增强的RISC指示),使我们能够将特殊的内存安全推入处理器本身,使您能够拥有许多C的更安全版本。

"这将用像生锈等语言编写得很好。这意味着我们可以承担语言的安全性,并将其进一步执行,而不是我们目前的堆栈。所以我的个人偏见是我认为Cheri将是一个更好的解决方案。 FreeBSD主要是用C编写的,我们能够在Cheri上运行整个基础系统。所以我们拥有作为更安全的C代码作为更安全的C.''是让内存安全系统的未来更有可能的方式。"

FreeBSD的开发过程如何与Linux的开发过程不同? "一个重要的不同之处在于我们没有' t有一个大独裁者。我们有一群人在他们完成的工作中建立了声誉,"鲍德温说。

"我们在很大程度上在邮件列表中运行,以与Linux内核邮件列表相同,"马斯特说。 "一个重要的区别在于,自由吸收基本系统是单声道repo,内核和c库和工具链,LS和shell等所有基本系统实用程序都在一个单个存储库中,构建和释放在一起。

"有很多第三方贡献代码; LLVM Toolchain是占FreeBSD基础系统的相当大的一部分。但它很容易让我们创建内核变化和C图书馆支持。"

这也意味着FreeBSD不依赖于与Linux相同的方法。 "我们不需要在FreeBSD世界和FreeBSD的东西中进行发行版。完全可以采取FreeBSD并将其运行在您的服务器或笔记本电脑上作为FreeBSD。这是大多数FreeBSD开发人员的情况。我的笔记本电脑运行FreeBSD和I'不使用第三方发行版和#34;马斯特说。

尽管如此,FreeBSD Distrs确实存在,例如Hellosystem项目,它提供了类似MAC样GUI。 "我们'很高兴有人在FreeBSD,&#34上有一种自由的人来建立建立的东西;马斯特说。 " Hellosystem绝对有很多兴趣,部分原因是尤其是纯粹的,Hellosystem的开发人员并不试图成为每个人的一切。那个'是一个在FreeBSD中发行的优秀场所。"他补充说:"还有其他像Ghostbsd和Nomadbsd,这一直是相当一段时间的方法。"

FreeBSD是否在桌面问题上进行了,或者是无望的,因为现代硬件的司机难以困难,一个甚至是Linux有时奋斗的区域?

该团队表示,桌面很重要,部分原因是它带来了新的开发人员,驾驶员情况并不像第一次出现的那么糟糕。 "我们开发了一种采取Linux驱动程序的方法,并在FreeBSD下本身重新编译它们。我们能够跟踪非常接近的,并在与现代Linux内核的标准面上兼容,"鲍德温说。

Maste补充:"司机作者特别支持使用案例。 Linux上的图形堆栈是最多的双许可,因此在您选择的GPL或BSD许可证下可以提供英特尔图形驱动程序。我们'重新使用完全相同的代码。"

" Wi-Fi情况并不是良好的形状。我们'重新研究了现有的定制驱动程序的改进,并试图使用相同模型在Linux中使用双重许可实现并调整它们。在今年的过程中,我希望我们' ll与与图形一样的wifi与wifi相同的情况,"马斯特说。

"发展工作来自一些不同的来源。在Netflix这样的公司中有很多关于Netflix的公司,它有一个FreeBSD专家团队,开发与直接进入FreeBSD的工作的功能。有很多工作来自学术来源的很多工作。有一些来自爱好者的工作。在那里的工作,越来越晚的工作,被FreeBSD基金会所采用。该基金会是由捐款资助的美国注册慈善机构,每年预算超过1米。我们收到个人的捐款,以及使用FreeBSD的公司。"

Baldwin表示,基础是显着的,因为它为FreeBSD开发带来了更多的余额。 "历史发展已经由使用FreeBSD以某种方式使用FreeBSD的推动,无论是雅虎!或Netflix或存储供应商建筑器具。他们将在适用于它们的零件上工作。有一些差距,这可能对家电供应商不感兴趣,但对维护开发人员的可行生态系统仍然很重要。因此,更改善对笔记本电脑的支持是Foundation'焦点。那个'不是netflix关心的东西,但FreeBSD很重要,继续成为开发人员的有用经验。"

"它们并不像Netflix的那样贡献到上游的超级活跃。但是我没有故障他们。我们是一个BSD许可的项目,我们'重复而不是GPL。 Kirk [McKusick,自首次开始的关键贡献者]描述了BSD许可证作为复制中心,这是您想要的,我们不做,我们不在乎,"鲍德温说。

Maste补充:" Apple为LLVM项目贡献了很多,这些项目使我们非常好。 Apple在ARM平台上对LLVM进行了很多工作,这对我们来说很重要。我与LLD和Apple工程师做了很多工作,这非常出于尝试整合LLVM支持的代码审查和建议。"索尼也是如此。 "索尼在成熟的LLD做了很多工作,以成为一个可行的接头。它不是直接的贡献,但它真的帮助了我们,"鲍德温说。

"在过去的几年里,我们有点自我监测。 我们正试图枢转一点,更加注重未来。 我们删除了很多旧司机,就像ISA卡一样。 32位x86,它仍然存在,但不再以与64位相同的方式完全支持。 我们'重新缠绕它。 我们'重新期待未来占64位X86和ARM的未来,可能是RISC-V。 "它'我对我的代码I'在过去的20年里写的是我没有想到的各种各样的地方。 我的儿子' s ps4一直运行我的代码。 那个'只是奇怪的。 那个'很棒。" ® 注册 - 对科技界的独立新闻和意见。 部分情况出版