女性开发者Valerie Aurora的她力量,仅十几行代码就节约了数十亿次磁盘写入
Valerie Aurora(原名 Val Henson)是一位兼具技术才华与社会责任感的女性开发者。她不仅在文件系统等核心技术领域留下了开创性的成果,还长期致力于推动女性参与开源与自由软件运动。
Aurora 出生于美国新墨西哥州,因参加 DEF CON——全球最知名的黑客大会之一而点燃了对技术的热情。随后,她进入新墨西哥矿业及科技学院学习计算机科学与数学,并逐步踏入开源世界。
在职业生涯中,Aurora 曾辗转于多家顶尖 IT 公司:在 Sun Microsystems 她首次接触 ZFS 文件系统;在 IBM,与知名开发者 Theodore Ts'o 的团队合作,研究 ext2 和 ext3 文件系统;加入 Intel 后,又实现了 ext2 的 脏位(dirty bit) 与 相对访问时间(relative atime)。
在这些贡献中,相对访问时间 的设计尤为经典——仅凭十几行代码,就节约了数十亿次不必要的磁盘写入。接下来,让我们看看这个优雅的内核改进是如何让 Linux 的文件系统变得更高效、更节能的。
相对访问时间节约了数十亿次磁盘写入
在类 UNIX 文件系统中,atime(访问时间) 用来记录文件上一次被读取的时间。这个时间戳存储在文件的 inode 中,每当文件被访问时,系统都会更新 inode 并把变更结果写入磁盘。这就导致,即使只是单纯地“读文件”,也会引发一次写操作。虽然操作系统会尽量合并和优化这些“小写入”,但累计起来依然会消耗能源(对笔记本电脑更为明显),而且在频繁读取不同文件时还会影响性能。
一个简单粗暴的解决办法是直接关闭 atime 更新(挂载磁盘时加上 noatime 选项)。这确实能显著提升性能并延长电池续航。但同时也带来了新问题:有些软件依赖 atime 才能正常工作。比如邮件客户端 mutt,就需要通过对比文件的写入时间与 atime,才能判断是否有新邮件到达。如果完全关闭 atime,这类程序就无法正常工作。
实际上,绝大部分用户根本不关心文件的精确访问时间,而大多数软件也只需要一个简单的判断结果:自上次写入(变更)以来,文件是否被访问过。换句话说,虽然 atime 是一个时间戳,但在大多数情况下,它的作用更像一个“是/否”的开关。
基于这一观察,Aurora 提出了一个极其简洁的方案,仅仅在内核中添加了十几行代码,就避免了每次访问文件都去更新 atime:
具体来说,Aurora 提出的相对访问时间的逻辑是:仅当文件的 i_atime(访问时间)早于 i_mtime(修改时间)或 i_ctime(状态变更时间)时,才更新 i_atime。另外,如果未启用相对访问时间,那么判断条件总是成立(因为 mnt->mnt_flags & MNT_RELATIME 为 0,前面加上 ! 后判断结果为 true),系统就会退回到低效的“每次读取都写入 atime”的模式。
这个看似微小的改动,自 2008 年成为 Linux 默认的 atime 更新策略以来,已经节约了数以十亿计的冗余写入。Aurora 用寥寥十几行代码,就带来了更高的性能与更低的能耗。
除了在技术领域的成就之外,Aurora 还是 Ada Initiative 的联合创始人。该非营利组织致力于推动女性在自由文化、开源技术与社区中的参与和发声。Aurora 还被 《SC Magazine》 杂志评为计算机安全领域最具影响力的人物之一,并于 2013 年荣获 O’Reilly 开源奖。
Aurora 的经历展现出女性开发者的双重力量——既能在底层技术上实现突破性的创新,也能在社区建设与文化变革中发挥深远影响。
DeepSeek被针对,Anthropic指控三家中国AI蒸馏剽窃,马斯克硬刚“贼喊抓贼”!
别了,开源!曾对标Apache,6万Star的开源巨头MinIO不干了,宣布进入维护模式
年底了!系统稳如狗,甲方觉得我们没工作量,怎么收运维费?
才一年,64家国产数据库消失了...
眼见它起高楼,眼见高楼塌,Oracle裁撤MySQL团队,社区版危矣!
《AI数据分析之ChatBI发展与应用实践》白皮书(附下载)正式上线啦
为什么DeepSeek火之后,人们想到的是大量裁员,而不是实行上三休四?
号外!《核心系统分布式数据库选型指南》电子书(附下载)正式上线
解锁数据架构现代化密码,《实时数仓选型指南》电子书(附下载)正式上线啦