FreeBSD开发人员探索Rust集成

2024年 3月 20日 61.0k 0

FreeBSD开发人员正在评估将Rust引入到基础系统中的可能性和好处。

在最近的一个可能重塑FreeBSD开发道路的开发中,Alan Somers,FreeBSD新FUSE驱动实现背后的核心人物,发起了关于将Rust编程语言整合到操作系统的基本系统中的讨论。

Somers也因为FreeBSD的基本库编写Rust包装器而受到赞誉,他与项目提交者进行了全面的对话,以评估将Rust集成到FreeBSD基础系统中的成本和效益。

讨论期间确定的主要成本是可能使构建时间增加一倍。Alan Somers建议通过在"buildworld"过程之后引入额外的步骤来缓解这种情况,以应对需要外部工具链的任务。这一战略举措旨在减轻对构建时间的影响,同时释放Rust集成可以提供的许多好处。

在这些讨论中强调的显著好处是简化和授权公用事业开发。Rust进入FreeBSD基础系统为开发人员打开了新的可能性和效率,使某些工具的创建更加简单,在某些情况下甚至可行。为了澄清,我们编译了一个实用程序列表,其中大多数是用C++和C编写的,指出了Rust重写的潜在候选者。

FreeBSD 14FreeBSD 14FreeBSD 14

如果Rust支持出现在基础系统中,团队打算重写的实用程序列表:

  • CTL-Exporter: 导出FreeBSD系统统计数据,以供监控工具使用。
  • fusefs tests:FUSE(用户空间中的文件库)虚拟文件系统实现的单元测试。 
  • devd:根据硬件存在和配置动态管理设备节点。 
  • Zfsd: ZFS文件系统的主要守护进程, 处理元数据管理和I/O操作等任务。
  • nsd:名称服务缓存守护程序,缓存DNS和NIS(网络信息服务)查找以实现更快的访问。  
  • 在用户空间中运行的802.11ac和Lightning堆栈组件:用于使用802.11ac和Lightning协议管理无线网络接口的驱动程序和实用程序。 
  • freebsd—kpi—r14—0:FreeBSD版本14.0的内核编程接口(KPI)头文件,允许用户空间的程序与内核交互。  

如果将Rust支持引入基本系统,则可以移植到基本系统的Rust语言的端口列表:

  • gstat—rs:显示硬件传感器数据(温度、风扇转速等)普罗米修斯的监控
  • geom—exporter:为Prometheus从FreeBSD磁盘几何模块中抓取性能指标。
  • nfs—exporter:与Prometheus共享NFS服务器统计信息,以监控NAS性能。
  • virtiofsd—rs:使用Rust实现virtio—fs文件系统,允许直接访问虚拟磁盘。
  • jail—exporter:为Prometheus导出FreeBSD jail(隔离用户环境)的指标。

各种监狱环境管理系统已经在Rust中:

  • Pjdfstest:这是一个专门为测试FreeBSD监狱而设计的测试框架。它允许开发人员和系统管理员编写监狱启动、配置和行为的自动化测试。
  • pf—rs:如前所述,pf—rs是下一代数据包过滤防火墙,可以与监狱一起使用。它提供了先进的功能和潜在的与Rust工具的集成,使其成为监狱防火墙管理的强大选择。
  • benchpmc:这个工具专注于监狱的性能基准测试。它允许您比较不同jail配置和设置的性能,帮助您针对特定工作负载优化jail设置。

当FreeBSD开发人员在权衡构建时间的增加与简化实用程序开发的承诺时,将Rust集成到基础系统中的潜在好处将使FreeBSD在未来几天内更加强大。

请在邮件列表中了解更多信息。

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论