FreeBSD 特性
FreeBSD 提供了许多独特的特性。
无论应用程序是什么,操作系统都应该利用所有可用的资源。FreeBSD 侧重于性能、网络和存储,并结合易于管理和全面的文档,以充分发挥计算机的潜力。
基于 4.4BSD 的完整操作系统
FreeBSD 的起源 是来自加州大学伯克利分校计算机系统研究小组的 BSD 软件版本。数十年的发展带来了高级的可扩展性、网络性能、管理工具、文件系统支持、安全性和其他特性。FreeBSD 遍布互联网,用于核心路由器产品、运行根域名服务器、托管主要网站,以及作为广泛使用的桌面操作系统的基础。
特性
OpenZFS
ZFS 不仅仅是一个文件系统,它从根本上不同于传统的文件系统。将传统上独立的软件 RAID、卷管理器和文件系统角色相结合,为 ZFS 提供了独特的优势。
ZFS 有三个主要的设计目标
-
数据完整性
-
存储池
-
性能。
ZFS 引导环境
ZFS 引导环境是系统中特定预选部分的可引导克隆/快照。
用例包括
-
安全升级/更改系统
-
在升级或更改系统之前创建安全的回退 ZFS 引导环境
-
更新新的(非活动)环境,而不更改活动环境
-
执行升级并在 jail 中测试结果
-
将 ZFS 引导环境复制/移动到另一台机器
-
主要重新配置 (Bareos/Postfix/…)
-
使用一个配置好的 BE 大规模填充大量服务器
-
裸机备份解决方案。
Jails
Jails 起源于 FreeBSD 4.X。
它们建立在 chroot(8) 的基础上,后者更改根目录。这创建了一个安全的环境,与系统其余部分隔离。在 jail 环境中创建的进程无法访问其外部的文件或资源。
Jails 在几个方面改进了 chroot。在传统的 chroot 环境中,进程仅限于文件系统的一部分。系统资源、系统用户、正在运行的进程和网络子系统由 chrooted 进程和主机系统的进程共享。Jails 进一步限制了对文件系统、用户集和网络子系统的访问。提供了更细粒度的访问控制。
端口集合
超过 30,000 个应用程序和库已 移植 到 FreeBSD。该架构允许轻松自定义许多端口的编译时选项。
虚拟化
Linux 二进制兼容性
Linux 二进制兼容性,通常称为 Linuxulator,允许 FreeBSD 运行许多未经修改的 Linux 二进制文件。它不涉及虚拟机或仿真;相反,它为二进制文件提供与真实 Linux 内核提供的相同的内核接口。Linuxulator 类似于在 64 位 FreeBSD 内核上运行的 32 位 FreeBSD 二进制文件。
DTrace
DTrace,也称为动态跟踪,由 Sun Microsystems™ 开发,用于在生产和预生产系统中查找性能瓶颈。此外,DTrace 可以帮助调查和调试内核和用户空间中的意外行为。
DTrace 拥有令人印象深刻的功能数组。它是可脚本化的。开发人员可以使用 DTrace D 语言创建自定义分析的实用程序。
FreeBSD 实现为内核 DTrace 提供了完全支持,并为用户空间 DTrace 提供了实验性支持。用户空间 DTrace 允许用户使用 pid 提供程序对用户空间程序执行函数边界跟踪,并在用户空间程序中插入静态探针以供以后跟踪。
Capsicum
Capsicum 允许沙盒化在“功能模式”下工作的多个程序,例如
-
tcpdump
-
dhclient
-
hast
-
rwhod
-
kdump。
网络虚拟化
VNET 虚拟化网络堆栈。基本思想是将全局资源(最显著的是变量)更改为每个网络堆栈资源,并使函数、sysctl、事件处理程序等在正确实例的上下文中访问和处理它们。每个(虚拟)网络堆栈都附加到一个监狱,其中 vnet0 是基本系统的无限制默认网络堆栈。VIMAGE
功能可以独立使用以创建完全虚拟化的网络拓扑,并且 jail(8) 可以直接受益于完全虚拟化的网络堆栈。
最后修改于:2024 年 8 月 14 日 由 Wolfram Schneider