Operating Systems

30 篇内容

技术文章matklad

Zig's Io.Threaded is Neat

本文深入解析Zig语言标准库`std.Io.Threaded`的实现,重点介绍其如何在阻塞线程模型中可靠支持取消操作。作者先区分并发与并行,指出取消是并发的本质特征,而传统线程因系统调用阻塞难以取消。然后详细说明在POSIX上通过信号与共享内存标志位协作的取消协议,以及Windows上使用`NtCancelSynchronousIoFile`的更直接方式。文章还对比了Java线程中断和`pthread_cancel`的不足,并分析Zig在接口层面将`async`与`concurrent`分离的设计优势,从而在用户态实现清晰的取消语义。内容深入系统调用、运行时和语言设计的交界,展示了将一个“怪异”想法工程化落地的细节,但方案依赖特定平台机制,且线程池复用等工程权衡未充分展开。

推荐收录,因为本文不是泛泛介绍Zig特性,而是对并发取消这一底层难题给出具体实现解析,从信号/标志位协议到接口设计取舍均有清晰论述,并提供了跨平台对比。适合系统编程、语言运行时和并发模型设计者阅读,其按平台中断syscall的思路以及分离异步与并发的接口设计可供其他语言或框架参考。

技术文章LWN.net

[$] Reconsidering O_CREAT|O_DIRECTORY

文章讨论 Linux 缺少原子性创建并打开目录的系统调用,现有的 mkdir() 与 open() 分离可能导致竞态条件。Jori Koolstra 提议重用 open() 的 O_CREAT|O_DIRECTORY 标志组合(当前返回错误)来实现该功能,但引发了对用户空间接口潜在陷阱的担忧。文中分析了该方案的语义细节,包括已存在目录处理、权限检查、符号链接跟随等,展示了设计安全、无歧义 API 的困难,并回顾了相关历史与替代方案。该议题虽未最终定案,但其深入的分析对理解系统调用设计、竞态条件与 API 安全性具有长期参考价值,重点面向系统编程与内核开发场景。

推荐收录,因为文章围绕一个具体的系统调用设计问题展开深入讨论,展示了接口语义的细微之处和竞态条件风险,而非简单功能介绍。适合 Linux 系统编程、安全或内核开发人员阅读,文中的 API 设计权衡和陷阱分析可迁移至其他系统接口设计场景,具有长期参考价值。

工程实践Fzakaria Blog

Guix by Nix

文章展示了“Guix by Nix”项目,通过 guix-transfer 工具将 Guix 的软件包派生图翻译为 Nix 派生,并利用 Nix 守护进程构建了一个可启动的虚拟机镜像。该镜像以 Guix 的 Linux-libre 为内核,用户空间全部来自翻译后的 Guix 软件包,并以 GNU Shepherd 作为 init 系统,完全排除了 systemd 和 D-Bus。作者提供了自动化审计机制,验证所有可执行文件和脚本解释器均源自 Guix 输出,确保无 Nixpkgs 组件混入。文章还讨论了与 Nixpkgs 混合、构建非 systemd 系统等潜在拓展,但明确当前仅为最小演示,不适合生产环境。该案例对理解构建系统互操作、可重现系统构建和 init 系统替换具有参考价值。

推荐收录,因为它不是简单的工具使用,而是展示了将 Guix 生态翻译到 Nix 构建系统的完整工程方案,并附带了可验证的审计链。这对研究构建系统、操作系统定制或探索 Nix 作为通用构建语言的读者有直接启发,文中跨生态翻译、派生图转换和自证明验证方法均可迁移到类似项目。

技术文章LWN.net

[$] An operations structure for swap devices

文章介绍了在2026年LSFMM+BPF峰会上提出的为Linux内核交换子系统创建操作结构的构想。交换子系统在演进过程中缺乏统一的抽象层来接口底层存储,导致接口复杂且难以维护。作者分析了当前交换设备接口的实现方式和局限性,讨论了创建一个专门的操作结构(ops structure)以简化设计和完善抽象的可能性,并指出最终实现途径可能与最初设想有所不同。文章展示了内核社区在成熟子系统中引入现代化架构重构的思考过程和设计权衡,对理解内核演进和软件设计具有长期参考价值,但未涉及具体实现细节和最终补丁。

本文深入剖析了Linux内核交换层接口的架构缺陷和重构动机,提供了从历史演进中识别设计债务并规划重构的典型案例。适合内核开发者、系统软件工程师和软件架构师学习如何在成熟系统中引入抽象层,具有可迁移的软件设计价值,技术内容具体、边界清晰,符合长期精选库的收录标准。

科研议题知乎 - 微软亚洲研究院

OSDI上新 | 探索分布式系统公平性与操作系统性能优化新路径

本文介绍了微软亚洲研究院在OSDI 2025入选的两篇论文。第一篇针对区块链共识协议的排序公平性问题,借鉴机会平等理念,定义了ε-排序平等和Δ-排序线性化两个可量化属性,并设计秘密随机预言机与Bercow协议,通过调整随机噪声强度在公平性和时效性之间取得可控平衡,实验表明能显著降低地理偏差和抵御三明治攻击。第二篇针对操作系统内核中编译期常量导致性能潜力未释放的问题,提出Xkernel,支持在运行内核中动态修改固定性能决策,其核心的Scoped Indirect Execution (SIE) 机制通过二进制差分和符号执行推导常量表达式,实现安全、有作用域、毫秒级生效的参数替换,性能调优可提升数倍,并具备让AI agent安全操作内核参数的潜力。两篇工作从不同层面展示了系统设计的创新,为分布式公平性和内核可调性提供了理论与工程参考。

文章对OSDI顶级会议的两篇系统领域论文进行了深度解读,覆盖问题动机、方法创新和实验验证,为分布式系统公平性和操作系统内核动态调优提供了清晰的理论框架和工程路径。对从事区块链、分布式系统、操作系统性能优化的研发人员和研究者具有直接的参考价值,文中提出的机会平等排序机制和SIE内核调优方法具备可迁移的设计思路,是计算机系统方向高质量的长期参考内容。

工程实践Fzakaria Blog

Linux kernel will support $ORIGIN, sort of

文章记录了作者为支持 Nix 的 relocatable binaries 而向 Linux 内核提交补丁的完整过程。最初尝试在 VFS 层直接支持 $ORIGIN 失败后,在 VFS 维护者 Christian Brauner 的建议下,转而利用 eBPF 和 binfmt_misc 实现可编程解释器选择。最终方案通过 eBPF 程序在运行时根据 ELF 文件路径动态确定解释器,无需修改内核主体,并衍生出新的分发模式(如 loader substitution 'L')以解决传统 binfmt_misc 导致的进程身份透明性问题。文章还讨论了该机制在 QEMU、shebang 等场景的扩展潜力,并保留了向后兼容性设计——通过新增 PT_INTERP_NIX 段来控制触发。作者展望了在 NixOS 中的集成计划,同时坦诚说明了内核参与门槛、eBPF 所需的配置依赖等边界。

该文以一线开发者的视角完整呈现了一项内核特性的工程实现路径,从问题定义、社区协作、技术方案演化到最终合入主线的全过程,具有很高的可迁移价值。对从事包管理、容器化或需要定制可执行文件加载流程的工程师而言,它不仅展示了 eBPF 在系统软件中的创新用法,还深入分析了 binfmt_misc 的传统缺陷与改进思路,是理解现代 Linux 可执行文件加载机制和内核贡献方法论的良好参考。

工程实践LWN.net

Building an Arch Linux aarch64 port for Holo Core (Collabora blog)

本文概述了 Collabora 与 Valve 合作将 Arch Linux 移植到 aarch64 架构的工作,目标是为 Valve 的 64 位 Arm 蒸汽框架游戏系统提供操作系统。核心内容包括从零开始构建可重复的编译基础设施,生成源码、二进制包和容器镜像,并规划了能持续跟踪上游 Arch Linux 开发的 CI 系统。文章还讨论了移植过程中的挑战,如从第一性原理构建至特定快照,以及如何在此基础上实现自动化可重复构建。此外,提供了在 x86_64 主机上创建和测试 aarch64 构建容器的指导,以便没有 64 位 Arm 设备的用户参与。该工作尚在初期阶段,下一步是与上游合作完善移植并建立持续集成,其经验适用于操作系统移植和嵌入式构建场景。

推荐收录,因为文章记录了将 Arch Linux 移植到 aarch64 架构的真实工程过程,包括从零构建基础设施、实现可重复自动化构建,以及规划持续集成系统,这些经验对操作系统移植、构建系统和 CI/CD 的实践者具有直接的参考价值。同时,文中提供的跨架构测试方法也可迁移到其他类似项目。

技术文章LWN.net

[$] Securing BPF LSMs against tampering

本文报道了 Christian Brauner 在 2026 年 Linux 存储、文件系统、内存管理和 BPF 峰会上的演讲,聚焦于 BPF 作为 Linux 安全模块(LSM)时面临的篡改与移除风险。Brauner 指出,systemd 等项目已利用 BPF LSM 增强安全,但当前机制无法保证 BPF 程序及其私密数据不被恶意卸载或修改。文章梳理了现有 BPF LSM 的部署约束,并提出了增强保护的需求:例如防止程序被强制卸载、保护运行时私密数据免受其他进程访问。讨论还涉及内核态与用户态的信任边界、LSM 钩子的生命周期管理,以及引入持久化 BPF 程序引用计数的可能方向。这些思考为容器、系统守护进程和强制访问控制场景下的安全加固提供了设计参考,但方案仍处于早期提议阶段,尚未落地实现。

推荐收录,因为文章记录了主流 Linux 安全机制的前沿演进:BPF 作为 LSM 的实践风险与防御设计。内容来自核心开发者演讲,提供了清晰的威胁模型和架构级讨论,对从事内核安全、容器隔离或系统加固的工程师有直接参考价值。早期方案的取舍与未解决问题也能帮助读者理解当前机制的边界。

工程实践LWN.net

Many old shim versions are still accepted by secure boot

本文报道了 CMU CERT 协调中心发布的安全公告,指出大量存在已知漏洞的旧版 shim 引导加载程序仍被 UEFI 安全启动接受,因其从未被加入吊销列表。攻击者若能获得管理员权限或修改启动过程,即可利用这些漏洞在操作系统加载前执行任意代码,实现持久化平台入侵,包括加载未签名或恶意内核组件,且即使重装系统也可能无法清除。文章引用了公告中列出的受影响 shim 版本,并说明了这一威胁对 Linux 安全启动生态的现实影响。

收录理由:这则案例揭示了安全启动信任链在现实管理中的薄弱环节——吊销列表维护不善导致已修复漏洞持续暴露。对系统安全工程师、嵌入式开发者和安全研究者而言,文中梳理的攻击路径和影响可作为教训,在评估或设计信任锚更新机制时参考。

技术文章LWN.net

[$] Progress in modernizing kernel cryptography

这篇文章是对 2026 Linux Security Summit North America 上一场演讲的整理,主题是 Linux 内核密码学框架的现代化改造。Eric Biggers 先指出传统 crypto API 的几个问题:接口脆弱、调用方式繁琐、容易把实现细节暴露给内核开发者。随后他介绍了正在补充的 library API,目标是让开发者在不直接依赖旧式 crypto API 的情况下完成常见密码学操作,从而降低维护复杂度。文章还用具体示例说明,新接口在可读性和可维护性上都更友好。它的边界在于这是一次进展报告,主要展示方向与收益,而不是完整迁移指南或性能评测。

收录依据很明确:正文直接讨论了内核密码学框架的缺陷、新 library API 的引入,以及用例示例带来的可维护性提升。适合关注 Linux 内核、安全机制或 API 设计的读者,尤其对需要理解内核接口演进和重构取舍的人有迁移价值。

技术文章Random Oracle

Reluctant enforcers: certificate authorities as malware police

文章围绕 Windows 代码签名生态中“证书机构充当恶意软件警察”这一做法展开批判,核心问题是:证书颁发与撤销本来服务于身份认证,却被延伸成了对软件行为的事后执法。作者以 ActiveX 时代的案例为起点,说明“签名即可信”的遗留观念如何塑造了 Authenticode 体系,并进一步指出,证书撤销无法精准只封禁某个恶意二进制,而往往会波及同一证书签发的其他正常版本。文中还强调,撤销并不能形成全球性的禁发机制,开发者仍可向其他 CA 重新申请证书,因此它并不是治理恶意软件的有效授权工具。作者结合 RFC 5280 的撤销原因枚举与 X.509/PMI 的历史,论证“写了恶意软件”并不是标准意义上的撤销理由。最后文章指出,针对恶意代码真正属于更高层的授权与信誉系统问题,应由 SmartScreen、Defender、WDAC 等机制承担,而不该把 PKI 语义强行改造成执法工具。

文章直接给出 Authenticode、X.509 撤销语义和代码签名基线要求的具体证据,清楚说明“认证”和“授权”混用的类别错误。适合做安全架构、PKI 设计和 Windows 软件分发机制的长期参考,尤其适合需要理解证书撤销边界与滥用风险的读者。

技术文章LWN.net

[$] Faster RCUs and lockless memory allocation

文章围绕 Linux 内核里两项彼此关联的改进展开:一是 Puranjay Mohan 关于提升 RCU 性能的工作,二是 Harry Yoo 和 Alexei Starovoitov 提出的 kmalloc_nolock(),后者允许在任意内核上下文中进行无锁分配。作者先解释 kmalloc_nolock() 如何借助 RCU 保证并发安全,再回到 RCU 本身的开销来源,说明这些优化为什么能缓解热点路径上的锁竞争。文章强调,这类改动主要服务于高并发、上下文受限的内核路径,并不意味着所有分配都可以无条件去锁。它提供了从 API 设计到同步语义的完整背景,但结论高度依赖 Linux 内核的实现细节。

收录理由很明确:文章直接讨论了 RCU 性能优化与 kmalloc_nolock() 无锁分配这两个内核机制,并交代它们之间的同步关系和性能动机。适合内核、存储、BPF 和系统性能工程读者,尤其是需要理解高并发路径上锁竞争与内存分配约束的场景;可迁移价值在于同步语义和 API 设计的权衡方法。

个人心得知乎 - 皮振伟

hugetop 诞生记:从实践中来,到实践中去

文章记录了作者为 procps-ng 增加 hugetop 工具的经历,并借此说明系统级开源贡献通常源自真实工作痛点。前半部分先解释 procps-ng 作为 Linux 基础工具集为什么新增命令门槛极高:必须是通用需求,还要兼容多架构、多内核版本以及各种边缘异常。随后作者以大页内存观测为例,指出过去需要在 /proc/meminfo、/sys/ 节点目录和 /proc/PID/smaps 之间来回切换,排障成本高且容易出错。基于自身在内核、虚拟化和高性能场景中的需求,他实现了 hugetop,提供 NUMA 维度和进程维度的大页可视化,并最终通过上游评审合入正式版本。文章的核心结论是:有价值的开源贡献不必等到“万事俱备”,从自己遇到的问题出发,把方案做成通用、稳妥的工具,再回到实践中验证其价值,才更容易形成可持续的公共收益。

推荐收录,因为正文给出了一个具体、可复用的开源贡献案例:从大页观测痛点出发,最终把个人脚本问题升级为上游通用工具。适合想参与 Linux/开源社区、做系统工具或从实践提炼需求的读者参考。

技术文章LWN.net

[$] The kernel's iomap layer

这篇文章解释了 Linux 内核里的 iomap 层到底是什么,以及它为什么会出现在文件系统实现中。作者把 iomap 描述为连接“文件偏移”与“底层存储位置”的映射层:上层面对的是某个文件中的数据范围,下层则可能对应内存地址或磁盘块。基于这层映射,iomap 统一承接了多种文件系统常见操作,从而减少各个文件系统里重复的样板代码。文章的核心结论是,iomap 主要价值在于把通用数据路径抽出来集中处理,但它并不替代文件系统自身的语义和映射逻辑,后者仍然需要各自实现。

收录价值明确,因为正文直接解释了 iomap 的职责边界、抽象对象和它替代重复代码的原因,属于内核文件系统实现层面的长期知识。适合 Linux 内核、存储系统和文件系统开发者阅读,尤其适合想理解通用数据路径如何被抽象与复用的人。

技术文章Random Oracle

Windows revocation providers: beyond platform trust

文章介绍了 Windows 证书验证体系中的一个少见扩展点:自定义 revocation provider。作者先说明其工作方式——在 CertVerifyRevocation 调用中,多个提供者按优先级链式返回“有效、已吊销或未知”,其中任一明确结论都会终止后续查询。随后文章强调了三类边界:部分应用(如 Chrome、Firefox)并不走系统 API;revocation 只有在证书链先通过后才会执行;应用还可能显式关闭检查或传入离线模式。基于这些机制,作者展示了三个用途:在 CRL/OCSP 不可用时补齐吊销判断、为特定 CA 做事后 name constraints 约束,以及把代码签名黑名单从单张证书扩展到身份级别。文章的结论是,自定义 revocation provider 能把 Windows 的信任判定从“按证书串号”提升到更灵活的策略层,但其有效性强依赖于应用是否调用平台链验证。

推荐收录,因为文章直接给出了 Windows revocation provider 的机制、调用顺序和三个真实用例,并明确指出了浏览器绕过平台 API、链构建前置条件等限制。适合做 Windows PKI、客户端信任链和企业证书治理的参考,尤其对安全工程师和平台开发者有可迁移价值。

科研议题知乎 - 微软亚洲研究院

AI Next 播客 | 对话周礼栋:当系统开始“思考”,AI如何走向自主进化

这篇文章是微软亚洲研究院《AI Next》播客的文字整理,核心讨论“AI 与系统如何协同进化”,以及未来“系统智能”应如何定义与落地。周礼栋从聚合通信调度、OptiFlow 自动优化等例子出发,说明传统依赖人工调参的系统方法已难以跟上 AI 规模化和动态化的发展节奏。文章进一步提出,系统智能不是简单用 AI 辅助开发,而是让 AI 负责开放空间中的探索、生成与方案搜索,让系统负责抽象、约束、验证、执行与反馈,形成可闭环、自适应、可演化的基础设施。文中还强调可信基石的重要性,主张以最小可信计算基、形式化验证、隔离、审计和回滚机制约束 AI 的不确定性,并以 Verus 等工具为例说明可验证代码与 AI 生成代码结合的可能。最后,文章讨论了模型与硬件解耦、开放多元计算生态,以及培养同时理解 AI 与系统的交叉型人才等问题。整体上它偏研究方向与方法论梳理,案例具有启发性,但更像观点访谈而非完整实验论文,适合将其视作趋势判断和系统设计思路参考。

文中直接给出 OptiFlow、最小可信计算基、Verus 等具体例子,说明“AI+系统”从理念到机制的可行路径,不是泛泛而谈。适合做系统研究、AI 基础设施和可信计算方向的趋势参考,但需注意它是访谈式观点整理,实验细节与量化评估不如论文完整。

技术文章LWN.net

[$] Initiating writeback earlier

文章围绕 Linux 内核中的 writeback 机制展开,解释了脏页或脏 folio 何时从页缓存刷盘、以保证文件修改持久化。作者转述在 2026 Linux Storage、Filesystem、Memory Management and BPF Summit 上的讨论:Jeff Layton 提出是否应比现状更早触发 writeback,以减少延迟堆积和后续集中回写带来的压力。与会者对“应该更早启动”基本达成共识,但对于由谁触发、触发条件如何设定、以及如何兼顾吞吐和抖动控制,仍没有清晰可落地的路径。文章更像一次内核社区方案讨论纪要,重点在问题定义、权衡关系和未决点,而不是给出最终实现。其价值主要在于帮助读者理解写回策略与内存/存储子系统之间的耦合边界。

收录理由很明确:正文直接讨论 Linux 内核 writeback 的触发时机、系统权衡和社区共识,属于可长期参考的存储/内存管理议题。适合做内核、文件系统和性能调优的背景阅读,但它偏讨论纪要,缺少最终方案与实现细节,读者需注意其阶段性和未决性。

技术文章LWN.net

[$] Hardening the kernel with allocation tokens and bootpatch-SLR

文章讨论 Linux 内核在“无法迅速消灭所有漏洞”的前提下,如何通过加固手段提高漏洞利用难度。作者重点介绍了即将进入 7.2 版本的分配令牌机制:它改变动态分配结构在内存中的放置方式,使攻击者更难覆盖相邻对象或稳定构造利用链。文章还提到一个更长期的 bootpatch-SLR 计划,目标是在启动阶段随机化结构布局,进一步削弱面向内存破坏的利用可预测性。整体上,这类方案属于防御性加固而非根除缺陷,因此效果取决于具体对象布局、内核子系统和攻击模型,且需要权衡兼容性与性能。

文章直接给出内核加固的两个具体方向:7.2 版本中的分配令牌改动,以及更长期的 bootpatch-SLR 随机化方案,证据明确且具有系统级参考价值。适合内核、安全和系统软件读者,用来理解“在漏洞不可避免时如何提高利用成本”的可迁移思路。

技术文章LWN.net

[$] Reports from OSPM 2026, day two

这篇文章是对 OSPM 2026 第二天会议内容的整理报道,聚焦 Linux 内核中的电源管理与调度议题。涉及的主题包括设备频率调节、基于时间片时长进行 CPU 选择、多簇 Arm 系统的调度域设计、LAVD 调度器等,反映了内核社区在性能、能耗和调度策略上的最新讨论方向。文章价值主要在于把多个分散的会场议题串联起来,帮助读者把握当前 Linux 内核相关子系统的演进脉络与权衡点。

推荐收录,因为它围绕 Linux 内核电源管理和调度这一长期重要主题,汇总了多个具体技术议题,适合系统方向读者跟踪社区讨论和设计取舍。虽然它是会议报道而非深入教程,但对理解内核调度与能耗优化的演进方向仍有较强参考价值。

技术文章LWN.net

[$] KASAN for JIT-compiled BPF code

文章讨论了为内核中的 JIT 编译 BPF 代码补上 KASAN 支持这一主题,核心背景是 KASAN 虽然擅长发现内核内存访问错误,但只能覆盖可被它监控的代码路径,而 JIT 生成的代码往往是这类工具难以直接覆盖的盲区。作者围绕这一限制说明,给 BPF JIT 增加 KASAN 支持的目标,是尽早暴露 JIT 编译器及相关路径中的内存管理缺陷,从而提升内核调试和缺陷定位能力。

推荐收录,因为它聚焦的是内核调试能力如何延伸到 JIT 生成代码这一长期存在的系统问题,涉及操作系统、内核安全与动态代码生成的交叉点。对于做内核、虚拟机、JIT 或安全工具链的读者,这类文章具有很强的可迁移价值。

技术文章Fzakaria Blog

Hijacking ELF entry points for NixOS compatibility or WTF is wrap-buddy?

这篇文章深入讲解了 wrap-buddy 如何通过篡改 ELF 入口点、动态段和辅助向量,绕过 NixOS 上预编译二进制因动态链接器路径不兼容而无法运行的问题。作者先用一个最小 C 程序演示 patchelf/autoPatchelf 在特殊 ELF 布局下的失败场景,再逐步拆解 wrap-buddy 的做法:保存原始入口指令、清空 PT_INTERP、注入自定义 RUNPATH,并在内存中恢复原样后把控制权交给 NixOS 的动态加载器。文章的核心结论是:这种方案并不是通用替代品,而是面向“常规修补失效”的病理场景,为旧二进制兼容性提供了一条极低层但有效的路径。

推荐收录,因为它不是简单介绍 Nix 工具链,而是把 ELF 启动、动态链接与启动劫持的机制讲得非常透彻,适合长期作为系统底层兼容性问题的参考。读者可以迁移的不只是某个工具的用法,更是“当静态修补失败时,如何从进程启动链路下手”的分析方法。

科研议题Amazon Science

EC2’s formally verified “isolation engine” provides mathematical assurance of virtual-machine isolation

这篇文章介绍了 AWS 将 EC2 的隔离核心拆分为独立的 Nitro Isolation Engine,并用 Isabelle/HOL 对其进行形式化验证,从而为虚拟机隔离提供数学级别的正确性保证。文中重点解释了验证对象的边界、规格与证明的关系,以及如何分别处理功能正确性、内存安全、运行时错误和机密性/完整性等性质;还介绍了 μRust、分离逻辑、最弱前置条件和非干扰等关键方法。文章的价值在于,它不仅展示了一个可落地的商用云形式化验证案例,也清楚说明了这类证明适用的前提、复杂度和局限。

推荐收录,因为它把“形式化验证如何进入商用云基础设施”这件事讲得很完整,既有系统边界设计,也有证明方法和安全性质定义,具有很强的长期参考价值。对做操作系统、云基础设施、安全隔离和程序验证的读者来说,这篇文章能直接提供可迁移的建模与证明思路。

技术文章知乎 - 网易易盾

企业级Agent落地面临哪些安全挑战?微软MXC给出的答案

文章围绕企业级 Agent 落地时的安全问题展开,重点讨论微软 MXC 所代表的“把安全下沉到操作系统和运行时”的思路。作者指出,Agent 的风险不再只是模型说错话,而是会在合法身份下执行越权动作,因此需要从身份认证扩展到执行过程约束、可审计隔离和底层熔断。文中进一步提出四层防线:资产边界梳理、基于意图的行为控制、沙箱隔离以及通过 eBPF 等机制做底层拦截,适合作为理解企业 Agent 安全架构的概念性参考。

推荐收录,因为它把 Agent 安全从提示词防护提升到运行时和操作系统边界,提供了可迁移的防护框架。虽然文章带有产品解读色彩,但其中关于合法身份不等于合法意图、以及分层防御的思路,对做企业级 Agent、平台安全和内网工具集成的人都很有参考价值。

工程实践Cloudflare Blog

How we reduced core unit boot time from hours to minutes

这篇文章复盘了 Cloudflare 核心裸金属服务器在固件更新后启动时间从几分钟恶化到数小时的问题,根因不是单一故障,而是 UEFI/iPXE 启动流程中对网络启动接口进行顺序探测时,反复命中超时导致的级联等待。作者通过串口观察、启动链路拆解和与 OEM 协同,最终把正确的网络启动接口前置声明,并处理了旧版 UEFI 不支持、升级后配置丢失、不同 NIC 字符串不一致、iPXE 读取配置受限等工程边界。文章最后把固件升级总耗时从接近 4 小时压到 3 分钟,后续单次启动也从约 20 分钟缩短到 1 分钟以内,适合作为裸金属自动化、UEFI 启动排障和固件配置管理的参考案例。

推荐收录,因为它不是简单的性能优化报道,而是把裸金属启动链路、固件行为、供应商差异和自动化控制串成了一条完整的工程排障路径。对于做基础设施、SRE、系统启动和硬件自动化的读者,这篇文章提供了可迁移的诊断框架和规避超时放大的方法。

工程实践Xe Iaso

Dancing mad with sandboxing

文章围绕作者在 Go 里构建“用户态沙箱 shell”Kefka 的实践展开,核心目标是给 AI agent 和其他程序提供一个可控的执行环境:命令通过统一的 ExecContext 接口运行,文件系统可替换为本地磁盘或对象存储,Python、jq、ripgrep 等程序则通过 WebAssembly/WASI 被迁移进沙箱中。作者进一步把这套能力接到 SSH 会话上,让每个用户获得独立的 bucket fork 和隔离环境,并详细讨论了 POSIX 兼容性、错误码映射、io/fs 与 billy 的取舍、WASI 对网络与 cwd 的限制等边界问题。

推荐收录,因为它不是简单的“做了个工具”展示,而是完整讲清了沙箱、shell、文件系统抽象、WASM 迁移和 SSH 交互如何组合成一套可落地的系统。文章对想在 Go 里做受限执行环境、AI agent 工具链或可替换后端文件系统的读者都有较强的迁移价值。

工具笔记matklad

TIL: Symlinking NixOS Dotfiles

文章讨论在 NixOS 上管理 dotfiles 的一种轻量替代方案:不使用 home-manager,而是把 dotfiles 与系统配置放在同一仓库中,再通过符号链接把文件放到目标路径。作者指出 NixOS 并没有直接为用户目录提供“原生” symlink 配置,但可以借助 systemd-tmpfiles 的声明式规则间接创建链接,例如把 ~/.config/git/config 指向仓库中的配置文件。文章的核心结论是,这种做法可以兼顾声明式管理和手工可调整性,但作者也明确保留了对其与脚本、stow 等方案优劣的判断空间。

推荐收录,因为它提供了一个具体、可复用的 NixOS 配置技巧,适合正在做 dotfiles 管理或 NixOS 个性化配置的读者。文章价值不在长篇原理,而在于把一个看似没有官方入口的问题,转化为可落地的系统级配置方案。

工程实践知乎 - 携程技术

执行个 systemd 命令,竟然让容器CPU“打架”?一文看懂绑核错乱的根因

这篇文章复盘了一起发生在 K8s 宿主机上的线上故障:执行 systemd 相关发布操作后,绑核容器的 cpuset 配置被意外改写,多个容器被分配到相同 CPU 核,最终引发算力竞争和业务超时。作者通过 Perfetto、BPF 和 cgroup 相关排查,逐层定位到 runc 1.1.5 向 systemd 传递 cpuset 参数时的顺序错误,并用升级到 runc 1.1.6 的验证闭环确认根因。文章不仅解释了现象背后的调度与绑核机制,还清楚展示了如何从“CPU load 升高”这种表象反推真正的资源错配问题。适合关注容器运行时、Kubernetes、Linux 调度和线上故障分析的读者参考。

推荐收录,因为它不是简单的故障描述,而是把容器绑核、cgroup、systemd 与 runc 的交互链路完整串了起来,并给出了可复现、可验证的定位过程。文章对排障思路、工具选择和版本回归验证都有明确沉淀,具有较强的跨团队迁移价值。

工程实践Amazon Science

Isabelle/HOL: The proof assistant behind the Nitro Isolation Engine

文章介绍 AWS 如何用 Isabelle/HOL 对 Nitro Isolation Engine(NIE)做形式化验证,证明其在云隔离与客户数据保护上的正确性和安全保证。作者解释选择 Isabelle/HOL 的原因:它在表达力、自动化、证明可读性和可扩展性之间更平衡,且支持可控的中间目标、定制解析器、locale、sledgehammer、反例搜索和代码生成。为验证 NIE,他们在 Isabelle/HOL 上实现了 separation logic,将 Graviton-5 架构规范、Rust hypercall 代码及安全性质组织成约 25 万行证明。文章还说明该证明可在普通笔记本上约半小时运行,显示工具能处理大规模目标。同时作者也强调,高阶逻辑无法完全自动化,实际部署仍需测试覆盖未形式化部分与前提假设,因而其价值主要在高风险系统的关键路径验证。

推荐收录,因为它给出了选择 Isabelle/HOL 的直接工程证据:不是抽象地谈形式化验证,而是落到云 hypervisor、25 万行证明和实际运行性能。适合做云安全、系统软件和证明辅助器选型参考,但也要注意它依赖严格规格与大量人工交互式证明。

技术文章Max Bernstein

The GDB JIT interface

文章系统梳理了 GDB 如何借助 JIT 接口恢复 JIT 代码的符号、函数名和行号信息,从而在断点、回溯和反汇编时避免大量“???”。作者先解释旧接口的工作流:JIT 在内存中生成一份包含 DWARF 的临时对象文件,再通过 __jit_debug_descriptor 和 __jit_debug_register_code 通知 GDB 读取。随后又介绍了新版自定义调试信息接口,说明 reader 需要实现的回调、匹配代码区间与帧信息的职责,以及目前各运行时的支持现状。文章还讨论了将 Linux perf map 复用到 GDB 的可行性、GDB JIT 链表导致的 O(n²) 问题,以及 GC/代码移动对符号稳定性的约束。整体来看,它不仅讲清了接口机制,也点出了工程实现中的性能与生命周期边界。

文中直接给出 GDB JIT 旧/新接口的调用链、reader 回调和典型坑位,是理解 JIT 调试基础设施的实用材料。适合做运行时、调试器或语言实现相关工作的读者参考,尤其能迁移到符号注册、代码生命周期管理和可观测性设计中。

工程实践Anthropic Engineering

Beyond permission prompts: making Claude Code more secure and autonomous

文章围绕 Claude Code 在更少人工审批下安全运行的需求,提出用操作系统级沙箱替代频繁的 permission prompt。核心方案分为两层:文件系统隔离限制可读写目录,网络隔离限制可访问的域名,并通过 bubblewrap、macOS seatbelt 和外部代理把约束落实到 OS 层,连子进程与脚本也一并受控。文中进一步介绍了新的 sandboxed bash 工具:它可在预定义边界内执行命令,越界时立即告警并等待用户确认,从而显著减少审批疲劳,内部使用中审批提示减少了 84%。另一部分讲 Claude Code on the web 如何在云端隔离会话,把 git 凭据和签名密钥留在沙箱外,再通过代理校验分支与仓库目标后转发请求。文章的边界在于它依赖 OS 原语和代理基础设施,适用于需要高自治但又必须防 prompt injection 与数据外泄的 agent 场景。

收录价值明确,因为文章给出了面向编码代理的完整安全架构:文件隔离、网络隔离、外部代理校验和云端凭据分离,且说明了为什么两类隔离缺一不可。适合做 AI 编码助手、MCP server 或自动化 agent 的安全设计参考;主要风险是其实现强依赖操作系统能力和代理基础设施,迁移时需评估环境差异。