HackerPapers

HN 二十年,最值得读的论文。

从 Hacker News 2006 年以来的全部投稿里,挑出链接本身就是论文的帖子:arXiv、期刊、会议论文、技术报告。每篇附中文标题,讨论最热的那些再加上中文导读和高赞评论翻译。

从必读开始
  • 8,000+篇被 HN 讨论过的论文

Essential

必读 30 篇

在论文库里看全部精选

编辑精选里 HN 讨论最热的 30 篇,每篇都有中文导读。不知道从哪读起,就从这里开始。

  1. 正在载入论文…

Archive

论文库

点柱子按年份筛选。注:源数据里 2023 年的帖子分数记录不全,2026 年尚未过完,这两年收录偏少。

难度
排序

    About

    这些论文是怎么挑出来的

    1. 01

      全量扫一遍

      读取 Hacker News 自 2006 年以来的全部 446 万条链接投稿,找出指向 arXiv、期刊、会议、技术报告和学术 PDF 的帖子。

    2. 02

      只留论文本身

      由 AI 逐条判断,剔除介绍论文的新闻、博客和幻灯片,同一篇论文的多次投稿合并计算,并统计它在评论区被引用的次数。

    3. 03

      写导读、译评论

      讨论最热的 1,500 篇配上中文导读,并精选、翻译 HN 高赞评论。导读由 AI 生成,可能有误,请以原文为准。

    系统与数据库2018ts.data61.csiro.au

    结论已明:单体操作系统设计存在缺陷

    The Jury Is In: Monolithic OS Design Is Flawed

    进阶 · 约 45 分钟读完前置知识:操作系统内核基础、虚拟内存与进程隔离、IPC 与上下文切换

    读论文 HN 讨论
    172HN 得分
    194条评论

    导读

    这篇论文(CSIRO Data61 出品)重新审视了微内核与单体内核之争,主张单体操作系统设计存在结构性缺陷:大量内核代码尤其是设备驱动都运行在高权限态,成为可靠性与安全性的主要风险来源,而把驱动等组件隔离到用户态的设计代价(性能损失)是可接受的。论文显然站在当年 Tanenbaum 一边,对“Linux 式单体设计已胜出”的流行看法提出反驳。

    HN 关注点:焦点是延续二十多年的 Torvalds–Tanenbaum 微内核之争:架构正确性 vs. 性能与生态的现实胜负。

    关键词 microkernelmonolithic kernelLinuxOS design

    HN 评论精选

    这几条评论里:支持 1 补充 3

    补充用反事实假设调侃架构之争中的路径依赖与事后合理化。

    我很好奇是否存在一个平行宇宙:那里 Linux 是微内核设计,而人们在力推单体内核,理由是它对驱动友好、性能更好。

    pweissbrod查看英文原文

    I wonder if there exists a parallel dimension where linux is microkernel design and folks are pushing for monolothic citing the driver friendliness and performance

    支持认为微内核早已胜出,Linux 赢在社区而非架构。

    这场评审在 1990 年代中期就已经有定论了,只是 Linus Torvalds 从不肯承认自己错了、也不愿听比他更懂的人的意见。Linux 的成功靠的是社区,而不是它的架构。QNX 几十年来已经证明了微内核的实力:它们稳定得多,也远比单体内核容易开发和维护。那点(不算大的)性能损失完全值得。

    jacquesm查看英文原文

    The jury was in in the mid 1990's, but Linus Torvalds doesn't know when he's wrong and to listen to his betters. Linux succeeded because of its community, not because of its architecture. QnX has shown the strength of microkernels for decades, they are far more stable and much easier to work on than monoliths. The (small) speed penalty should be well worth the price of admission.

    补充补充经典论战原始资料。

    这让人想起著名的 Torvalds–Tanenbaum 之争(附 Google Groups 原始讨论链接)。

    enitihas查看英文原文

    Reminds me of the famous Torvalds Tanenbaum debate. https://groups.google.com/forum/m/#!topic/comp.os.minix/wlhw16QWltI

    补充从上下文切换与数据拷贝角度解释两种设计的性能/安全权衡。

    内核代码运行在特权态是有原因的:速度。特权态里跑的内核代码越多,内核态与用户态之间需要拷贝的数据就越少;而微内核则必须把更多数据拷到用户空间。向用户空间拷贝数据会引发上下文切换,性能因此下降。更大的单体内核换来的是速度;微内核的优势则在于更小的特权攻击面(因而更安全),以及更强的抗崩溃能力——比如驱动挂了可以重启对应的用户态进程。

    acd查看英文原文

    There is a reason why kernel code run in privileged mode, speed! If you run more kernel code in privileged mode then you do not need to copy as much data between the kernel and user space. Vs a micro kernel you will have to copy more data up to user space. Copying data to user space causes context switches and gives less performance. Larger mono kernels: Speed Micro kernels have advantages such as: smaller privileged attack surface and thus more secure, more crash proof as you can restart user land processes for example device drivers https://en.wikipedia.org/wiki/Microkernel

    相关资源

    从这篇论文所有 HN 讨论帖的全部评论里整理出来的链接。

    视频与演讲

    历次讨论

    同领域还值得读

    1. I/O 比 CPU 更快——让我们划分资源并消除操作系统抽象

      I/O Is Faster Than CPU – Let’s Partition Resources and Eliminate OS Abstractions

      指出在现代服务器硬件上 I/O 速度已接近甚至超过 CPU,传统操作系统抽象反而成为瓶颈。

      系统与数据库2019 · 817 分 · 277 评进阶 · 约 30 分钟编辑精选
    2. 使用 io_uring 的高效 I/O

      Efficient IO with io_uring

      由 Linux 内核开发者 Jens Axboe 撰写,介绍 Linux 新的异步 I/O 接口 io_uring。

      系统与数据库2019 · 426 分 · 96 评进阶 · 约 45 分钟编辑精选
    3. 线程对大多数用途而言是个坏主意(1995)

      Threads Are a Bad Idea for Most Purposes (1995)

      这篇 1995 年的文章由 John Ousterhout 撰写,讨论为什么线程对大多数用途而言是坏主意,并主张事件驱动编程通常更简单、更高效。

      系统与数据库2017 · 423 分 · 382 评进阶 · 约 25 分钟编辑精选
    4. 学习型索引结构之论证

      The Case for Learned Index Structures

      提出把索引看作一种"模型":既然 B-tree 等结构本质上是在学习数据的分布,就可以用机器学习模型(如回归模型、神经网络)来近似键到位置的映射,从而替代 B-tree、哈希索引…

      系统与数据库2017 · 398 分 · 66 评 · 引用 25进阶 · 约 60 分钟编辑精选
    5. FoundationDB:一个分布式、解耦的事务型键值存储

      FoundationDB: A distributed, unbundled, transactional key value store

      介绍 FoundationDB:一个分布式、解耦设计的事务性键值存储。

      系统与数据库2021 · 283 分 · 99 评进阶 · 约 90 分钟编辑精选

    打赏支持

    打赏二维码

    觉得有用,请作者喝杯咖啡。

    WeChat

    关注向阳乔木

    微信公众号「向阳乔木推荐看」

    微信公众号「向阳乔木推荐看」二维码

    微信扫一扫;在微信里打开本页时,长按二维码识别。