systems-programming

标签

Cards List
#systems-programming

十年间的 kill 程序缺陷

Lobsters Hottest ↗ · 2026-11-02 缓存

一篇博客文章,讲述了拥有 50 年历史的 kill(1) 工具(经由 procps 随 Ubuntu 14/16/18/22/24 LTS 发行)中的一个缺陷如何导致 Endcrawl 服务中断——该缺陷会杀掉机器上的所有进程,而不是仅针对目标进程组;文章追溯了此类缺陷长达十年的系列案例,并提出了相关建议。

0 人收藏 0 人点赞
#systems-programming

失落的 malloc()

Lobsters Hottest ↗ · 2026-11-02 缓存

一篇进行「Unix 考古」的博客文章,探讨早期 Unix 版本(V4,1973 年)如何处理内存分配——从使用 sbrk() 的原始线性分配器,到 Dennis Ritchie 在 /usr/sys/dmr/malloc.c 中实现的、基于 map 的 malloc()/mfree() 前身。

0 人收藏 0 人点赞
#systems-programming

ATS 编程入门

Lobsters Hottest ↗ · 2026-11-01

一个 ATS 语言编程入门的链接,附有 Lobsters 上的讨论。

0 人收藏 0 人点赞
#systems-programming

Zig: From Beginner to Slightly Less Beginner

Lobsters Hottest ↗ · 2026-11-01 缓存

Sawyer X 在 Code Maven 的 Zig 演讲中,通过配置解析与内存分配示例,讲解 Zig 的核心设计哲学:一切可见、无隐藏控制流、无宏与运算符重载,并尽量将问题提升为编译时错误。

0 人收藏 0 人点赞
#systems-programming

GOTO 被认为完全超赞(在 C 语言的错误处理中)

Lobsters Hottest ↗ · 2026-10-28 缓存

作者从 Go 和 Zig 回到 C 编程时,反思了错误处理和资源清理的痛点,并介绍了受 John Carmack 邮件启发的使用 goto 统一清理出口的写法,让 C 的错误处理更简洁。

0 人收藏 0 人点赞
#systems-programming

阅读和写作并不像你(可能)想象的那样对称

Hacker News Top ↗ · 2026-10-28 缓存

博客文章讨论计算中读写操作的不对称性,解释缓冲 I/O、块设备对齐以及错误处理如何打破 read/write 系统调用表面的对称性。

0 人收藏 0 人点赞
#systems-programming

四个月的 Zig

Hacker News Top ↗ · 2026-10-27 缓存

作者回顾四个月重返 Zig 的经历,包括开发 snurl、参加 Zig Day Seattle(Andrew Kelley 出席)以及对 anyzig、内建 fuzzing、TLS 等的喜爱与不满,并与 Rust 做了对比。

0 人收藏 0 人点赞
#systems-programming

Filian,Debian 上的 Fil-C 二进制文件

Lobsters Hottest ↗ · 2026-10-27

讨论了 Filian、Fil-C 工具链以及在 Debian 上构建 Fil-C 二进制文件,标志着主流 Linux 发行版在采用内存安全 C 语言方面取得了进展。

0 人收藏 0 人点赞
#systems-programming

编译时依赖类型

Lobsters Hottest ↗ · 2026-10-27 缓存

Syl 是一门新的系统编程语言,它在模态类型系统中编码编译时计算,通过静态/动态和擦除/未擦除两条模态轴来实现单态化和编译时依赖类型,其灵感来源于双层类型理论和 OxCaml。

0 人收藏 0 人点赞
#systems-programming

我为 Rust 构建了一个垃圾回收器(2023)

Lobsters Hottest ↗ · 2026-10-22 缓存

作者描述了如何为 Rust 构建 Dumpster —— 一个循环引用检测垃圾回收器。Rust 本身的设计目标是避免 GC,但通过利用 Drop 机制、自定义 trait 和 unsafe 原子操作,Dumpster 能够处理 Rc/Arc 无法释放的共享所有权循环引用问题。

0 人收藏 0 人点赞
#systems-programming

OCaml 中的 Unikernel

Lobsters Hottest ↗ · 2026-10-21 缓存

一篇介绍使用 OCaml 编写 unikernel 的文章,探讨如何构建最小化的虚拟机镜像,以实现轻量级、专用化的部署。

0 人收藏 0 人点赞
#systems-programming

单哈希布隆过滤器

Lobsters Hottest ↗ · 2026-10-19 缓存

Jim Calabro 的博客索引,收录了关于单哈希布隆过滤器(One Hash Bloom Filters)、uscope 调试/内省工具链、DWARF/ELF 深入解析系列,以及 Go/Zig 静态链接技术的文章。

0 人收藏 0 人点赞
#systems-programming

明明有 int 6,为什么还需要 ud2?

The Old New Thing (Raymond Chen) ↗ · 2026-10-19 缓存

Raymond Chen 解释了为什么 x86 需要专门的 ud2 指令,而不能直接用 int 6 来触发未定义指令异常:int 6 是陷阱(trap,报告下一条指令的地址),而 #UD 是故障(fault,报告出错指令的地址);而且操作系统会禁止用户态调用 int 6,以免混淆 #UD 处理程序。

0 人收藏 0 人点赞
#systems-programming

Real-time Software On Linux: How Hard Can It Be?

Lobsters Hottest ↗ · 2026-10-18 缓存

Jeff Pelle 在 Software You Can Love Vancouver 2026 上讲解如何在 Linux 上构建实时软件:采用周期性任务、PREEMPT_RT 与"准备—实时—关闭"三阶段设计,将复杂的时序需求收敛为可证明的延迟保证。

0 人收藏 0 人点赞
#systems-programming

双端栈分配器

Hacker News Top ↗ · 2026-10-15 缓存

一篇技术博客文章,介绍双头(碰撞式)栈分配器。这是一种经典的快速内存分配技巧,源于 Surreal Software 的游戏动画编程实践,其中内存分配只需一次整数加法,而内存释放则通过重置栈顶指针完成。

0 人收藏 0 人点赞
#systems-programming

Linux Lockdown 与休眠功能(又见)

Lobsters Hottest ↗ · 2026-10-14 缓存

Matthew Garrett 解释了 Linux Lockdown LSM 与休眠功能之间的冲突,以及 UEFI Secure Boot 如何催生了内核与 root 权限之间的强边界。

0 人收藏 0 人点赞
#systems-programming

Data-oriented Design for Mortals

Lobsters Hottest ↗ · 2026-10-13 缓存

Andreas 在演讲中厘清了面向数据设计(DOD)与 Clojure 式『面向数据编程』的区别,阐述 DOD 作为『巴别塔』式软件系统解药的核心——机械同理心,并以他开发的 Feno 语言中 AST 节点的 32 字节布局为例,展示传统『指针森林』设计的内存浪费问题。

0 人收藏 0 人点赞
#systems-programming

C 语言中的 Arena 分配器

Lobsters Hottest ↗ · 2026-10-11 缓存

一篇讲解 C 语言中 Arena 分配器的技术指南,介绍如何通过批量分配内存块来替代传统的 malloc/free 模式,从而提升性能并减少内存泄漏。

0 人收藏 0 人点赞
#systems-programming

Valen 的内存安全:一种新型借用检查

Hacker News Top ↗ · 2026-10-11 缓存

Valen 的新文章介绍了一种更灵活的借用检查器(group borrowing),编译器会记住引用指向的位置,以实现比 Rust 更简单灵活的内存安全方案,并已被 Google Carbon 等语言采纳。

0 人收藏 0 人点赞
#systems-programming

在 Rust 中实现安全的 SIMD,连内部也不例外

Hacker News Top ↗ · 2026-10-10 缓存

Sergey 'Shnatsel' Davidoff 解释了 Rust 的 SIMD 抽象层现在如何做到内部安全:利用 Rust 1.87 的 target_feature 追踪与 CPU 特性 token,消除包裹在 SIMD 内在函数周围无处不在的 unsafe 块,同时保留 a+b 这样的人体工程学用法。

0 人收藏 0 人点赞
Next →
← 返回首页

提交意见反馈