系统与数据库2014cs.unm.edu
为什么 Plan 9 仍未消亡,以及我们能从中学到什么
Why Plan 9 is not dead yet and what we can learn from it (2005)
进阶 · 约 50 分钟读完前置知识:Unix 基础、操作系统概念、文件系统与命名空间
导读
这篇2005年的论文回顾Plan 9操作系统的设计理念,分析它为何未获主流成功却仍有生命力,并总结可供其他系统借鉴的经验。HN讨论则延伸到Plan 9的设计遗产、移植现状,以及新操作系统如何打破现状。
HN 关注点:Plan 9为何没成功、它的设计是否已被Linux吸收,以及新OS要具备什么才能挑战主流。
HN 评论精选
这几条评论里:支持 1 质疑 1 补充 2
补充期待讨论Plan 9失败原因,并提出Android若基于Plan 9的假设。
我在“new”里点了赞,希望有比我聪明的人展开有趣辩论:Plan 9为什么没成功,新操作系统又需要什么才能打破现状。但两小时过去还是零评论。真的没什么可说了吗?那问个问题:如果今天Android是基于Plan 9而不是Linux起步,世界会是什么样?
drsintoma查看英文原文
I up-voted this in "new" in the hopes of an interesting debate from smarter people than me about why Plan 9 didn't succeed or what would it take for a new OS to break the status quo. But 2 hours in, 0 comments. Is there really nothing to say anymore about this? Okay. here's a question: how would the world look like today had Android started based on Plan 9 instead of Linux?
支持Plan 9仍有移植、好特性被Linux吸收,但生态支持不足。
有意思,我一个朋友(HN上的abdge)在2011年把Plan 9移植到了Gentoo。它似乎不算“死了”(虽然也接近),有趣的是这篇文章发布6年后Plan 9仍有人在移植。说实话,不少好特性已经从Plan 9移植进Linux。我个人不用Plan 9,因为它缺少很多我需要的支持,而很多Linux发行版能满足需求。但如果支持更广泛,我肯定会用,它相当简洁优雅。
lettergram查看英文原文
Interesting, one of my buddies (abdge on HN) ported Plan 9 to Gentoo in 2011. http://soc.dev.gentoo.org/~rps/plan9/ It doesn't really seem "dead" (though close to it), it's interesting to me that even 6 years after this post Plan 9 was still being ported. To be honest, a fair amount of the good features have been ported from Plan 9 into Linux. I don't bother using Plan 9 personally because it doesn't have a lot of the support I need, and many Linux distros support what I need. However, if there more general support I would definitely use it, it's pretty slick.
质疑批评Plan 9的C头文件包含规则给每个源文件增加负担。
我只接触过一次Plan 9,而且只是它C代码推广的头文件包含方案。据我回忆,规则是“头文件不得包含其他头文件,因此每个源文件必须包含该源文件及其包含的头文件中所有声明所需的头文件”。这意味着你想在源文件中包含任何头文件时,都得搞清楚需要哪些头文件来引入所有声明。每个源文件都要这样。我真看不出这方案的好处如何超过弊端。
stinos查看英文原文
I only encountered Plan 9 once, and then only the header inclusion scheme it promotes for it's C code. Which IIRC goes like 'header files must not include other header files hence every source file has to include the headers for all declarations used in that source file and in the headers it includes'. Which means when for any header file you want to include in your source you have to go figure out which headers are needed to pull in all declarations. For every single soure file. I really failed to see how any possible benefits of that would outweigh the cons.
补充询问论文中“Unix缺乏活跃数据模型”的Farber观点出处。
第18页写道:“但它[Unix]缺少活跃的数据模型——Farber在1978年提出这一点,我们都觉得没道理——他像往常一样是对的。”有人知道这指什么吗?有什么文章可读?
pmoriarty查看英文原文
From page 18: - But it [Unix] lacked an active data model - Farber suggested this in 1978 and we all thought it made no sense - He was right, as usual Does anyone know what this refers to? Any articles on it I could read?
历次讨论
- 2014Hacker News 讨论帖184 分 · 79 评
同领域还值得读
I/O 比 CPU 更快——让我们划分资源并消除操作系统抽象
I/O Is Faster Than CPU – Let’s Partition Resources and Eliminate OS Abstractions
指出在现代服务器硬件上 I/O 速度已接近甚至超过 CPU,传统操作系统抽象反而成为瓶颈。
系统与数据库2019 · 817 分 · 277 评进阶 · 约 30 分钟编辑精选使用 io_uring 的高效 I/O
Efficient IO with io_uring
由 Linux 内核开发者 Jens Axboe 撰写,介绍 Linux 新的异步 I/O 接口 io_uring。
系统与数据库2019 · 426 分 · 96 评进阶 · 约 45 分钟编辑精选线程对大多数用途而言是个坏主意(1995)
Threads Are a Bad Idea for Most Purposes (1995)
这篇 1995 年的文章由 John Ousterhout 撰写,讨论为什么线程对大多数用途而言是坏主意,并主张事件驱动编程通常更简单、更高效。
系统与数据库2017 · 423 分 · 382 评进阶 · 约 25 分钟编辑精选学习型索引结构之论证
The Case for Learned Index Structures
提出把索引看作一种"模型":既然 B-tree 等结构本质上是在学习数据的分布,就可以用机器学习模型(如回归模型、神经网络)来近似键到位置的映射,从而替代 B-tree、哈希索引…
系统与数据库2017 · 398 分 · 66 评 · 引用 25进阶 · 约 60 分钟编辑精选FoundationDB:一个分布式、解耦的事务型键值存储
FoundationDB: A distributed, unbundled, transactional key value store
介绍 FoundationDB:一个分布式、解耦设计的事务性键值存储。
系统与数据库2021 · 283 分 · 99 评进阶 · 约 90 分钟编辑精选