启用 JavaScript 和 Cookie 以继续。
启用 JavaScript 和 Cookie 以继续。
启用 JavaScript 和 Cookie 以继续。
## Unix 历史仓库:摘要
一个全面、版本控制的 Unix 操作系统历史——从 1972 年最初的 5,000 行内核到 2015 年的 2,600 万行系统——已被创建,并已在 GitHub 上公开提供。该仓库包含 659,000 次提交和 2,306 次合并,通过综合来自贝尔实验室、伯克利和 386BSD 的 24 个系统快照,以及两个遗留仓库和现代 FreeBSD 代码库构建而成。
该项目确定了 850 名贡献者,并对早期参与者进行了细致的研究。它允许进行详细的软件考古和软件工程实证研究,跟踪 44 年的代码演变。主要功能包括通过 `git blame` 实现准确的代码溯源,揭示跨版本的代码片段的起源——甚至显示现代 FreeBSD 包含可追溯到 1974 年的 BSD 4.3 代码。
该仓库的创建涉及大量的数据整理,包括恢复作者信息和处理不同的版本控制系统。它被设计为可扩展的,并正在不断努力改进作者归属并整合更多源自 Unix 的系统分支。该资源提供了对软件和硬件协同演化、组织文化影响以及代码自身寿命的独特见解。
## Moss:基于Rust的微内核
Moss是一个新的、与Linux兼容的内核,使用Rust和Aarch64汇编构建,专为现代硬件和安全性设计。它利用Rust的async/await模型来防止常见的内核死锁,并具有模块化架构,方便移植到其他平台,如x86_64和RISC-V。
目前,Moss拥有完整的Aarch64支持,一个功能完善的内存管理系统(包括CoW页面),并且由于与Linux用户空间的兼容性,可以运行大多数BusyBox命令。它实现了51个Linux系统调用,一个虚拟文件系统(带有只读FAT32驱动程序),以及基本设备驱动程序。
`libkernel`促进了开发,实现了基于主机的测试。一个全面的230多个测试套件确保了跨架构的功能。用户可以使用QEMU和aarch64-none-elf工具链来构建和运行Moss。
正在进行中的开发重点是扩展系统调用兼容性,实现网络堆栈,以及改进调度器。Moss积极寻求贡献,并以MIT许可证分发。
请启用 JavaScript 并禁用任何广告拦截器。
关于 新闻 版权 联系我们 创作者 广告 开发者 条款 隐私政策和安全 YouTube 工作原理 测试新功能 © 2025 Google LLC
这个实验展示了Linux主机与虚拟机(VM)之间使用**vsock**进行通信,该技术专为高效的VM到主机(以及VM到VM)通信而设计,*无需*传统的TCP/IP协议栈或网络虚拟化。目标是在VM内建立一个gRPC服务,并使其可以从主机访问。 该项目使用**Bazel**构建,以保证可重复性,定义了一个简单的服务,能够将两个整数相加。Bazel用于生成C++ Protobuf和gRPC库。一个静态链接的服务器被构建用于在VM内运行,监听特定的vsock CID(上下文ID – 类似于IP地址)和端口。一个客户端,同样使用Bazel构建,连接到这个vsock地址来调用gRPC服务。 VM镜像使用`debootstrap`创建,并使用QEMU启动,配置为使用具有相应CID的vsock。在主机上运行客户端成功触发了VM内的加法服务,证明了功能性的RPC通信。这种方法能够以隔离的环境运行应用程序,可能结合不同的操作系统,并由于避免了网络虚拟化开销而提高了效率。
## Beads v0.20.1:增强编码代理的记忆力
Beads 是一款轻量级、基于图的记忆系统,旨在改善编码代理的组织能力和长期规划能力。最新更新 (v0.20.1) 引入了**基于哈希的 ID** 用于问题,解决了之前顺序 ID 常见的冲突问题,并实现了可靠的**多代理和多分支工作流**。
**主要改进:**
* **抗冲突 ID:** 问题现在使用短的随机哈希值(例如 bd-a1b2)来标识,其长度会根据需要增加以防止冲突。
* **依赖跟踪:** 使用四种依赖类型来串联问题,帮助代理保持上下文和工作顺序。
* **自动问题管理:** 代理自动提交问题、跟踪依赖关系和管理任务,减少工作丢失。
* **Git 支持 & 分布式:** 数据存储在 Git 中的 JSONL 文件中,提供版本控制和跨机器同步,*无需*中央服务器。
* **易于集成:** 简单的安装和通过 CLI (`bd`) 与现有编码代理的集成,以及最少的配置。
**Beads 适用于:** 使用编码代理的项目、提高代理专注度以及实现复杂、长远的任务。目前处于积极开发阶段(Alpha 状态),并提供网络界面和可定制配置等功能。安装简单,代理在快速设置后即可立即开始使用 Beads。
## Haskell 在 Jupyter 中:IHaskell 与 xeus-haskell
Jupyter notebook 是将 Haskell 集成到数据科学和文档中的标准界面。目前,有两个内核可以实现这一点:**IHaskell** 和 **xeus-haskell**,它们各自采用不同的架构方法。
**IHaskell** 是一个“单体”内核,直接实现 Jupyter 协议并与 GHC 交互。这提供了对 GHC 生态系统的完全访问和原生性能,非常适合 demanding 的数据科学任务。然而,它对 GHC 版本敏感,并且由于 GHC 的依赖管理,安装可能很复杂。
**xeus-haskell** 采用“中间件”方法,将协议处理委托给 Xeus C++ 框架,并将其连接到 MicroHs Haskell 解释器。这简化了安装,并支持通过 WebAssembly 进行客户端执行(例如在 JupyterLite 中),使其适用于交互式文档和演示。然而,它依赖于较小的 MicroHs Haskell 子集,限制了库的兼容性并可能影响性能。
本质上,IHaskell 优先考虑性能和兼容性,而 xeus-haskell 强调可访问性和可移植性。IHaskell 在服务器端、计算密集型场景中表现出色,而 xeus-haskell 在轻量级、客户端应用程序中表现出色。两者都有助于扩展 Haskell 在数据科学生态系统中的应用。
## 海底无人机革命 乌克兰战争对陆地战的影响——无人机崛起——现在正在水下重演。全球海军正在大力投资于自主水下航行器(UUV),以应对不断变化威胁并以更低成本扩大能力。英国皇家海军计划建立一支UUV舰队,用于跟踪潜艇和保护海底基础设施,而澳大利亚正在采购“幽灵鲨”无人机以对抗中国潜艇,美国海军正在资助多个UUV项目。 这些无人机承诺在水下战争中带来“飞跃式”变化,与传统载人潜艇相比,它们提供了更大的规模和可负担性。一个竞争市场正在出现,将BAE Systems等老牌国防巨头与Anduril等创新型初创公司对立起来。 由于担心追踪日益安静的俄罗斯潜艇(尤其是在格陵兰-冰岛-英国海峡),以及保护日益成为破坏目标的重要海底电缆,UUV提供了持续的监视和更快的响应时间。新的技术,如先进声纳和海底潜伏传感器,正在被开发。英国的“卡博特计划”旨在快速开发和部署,采用“软件即服务”模式进行反潜战,利用海军监督下的私人拥有船只。虽然成本节约具有吸引力,但维护以及潜在的水下冲突升级仍然存在挑战。