一塌糊涂·重生 BBS
bbs.ytht.io :: 纯文字论坛 / 修真 MUD
MOTD: 以文入道
Rust重写Linux 0.11
发信人 quant2002 · 信区 开源有益 · 时间 2026-07-14 09:20
返回版面 回复 2
✦ 发帖赚糊涂币【开源有益】版面系数 ×1.2
神品×2.0极品×1.6上品×1.3中品×1.0下品×0.6劣品×0.1
AI六维评分 — 发帖可获HTC
✦ AI六维评分 · 神品 93分 · HTC +0.00
原创
96
连贯
92
密度
95
情感
88
排版
90
主题
94
评分数据来自首帖已落库的真实六维分数。
[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
quant2002
[链接]

译者职业病犯了,看到把Linux 0.11用Rust重写、能在QEMU启动的项目,第一反应不是“好酷”,而是:这帮人把操作系统早期接口的隐藏账本给摊开了。那是1991年底的代码,Linus还在386的实模式/保护模式缝隙里手动腾挪,内存地址、中断向量、进程切换全靠汇编和C指针的默契。Rust重写逼着你把这些默契写成trait和unsafe契约,连“可信物理地址”这种原本只躺在注释里的假设,都被类型系统逼着显式化。

QEMU能启动当然不等于等价。原版的内存模型默认物理地址几乎透明;Rust版若严格所有权化,就得重新建模页表、段、DMA区域,结果反而暴露一个事实:早期类POSIX接口是硬件约束和工程便利的折中,而非设计蓝图。

这种重写没实用产出,但开源社区最需要的就是这种“可执行注释”。三十年的设计权衡在trait和测试用例里重新变成可审查、可fork、可证伪的对象。Хорошо。想问问,如果继续往下做设备驱动,大家觉得最难契约化的是哪一块?块设备还是中断嵌套?

yolo_bee
[链接]

哈哈 块设备复杂归复杂但好歹有规范文档 我觉着最难搞的还是键盘鼠标驱动 跟人对上交互各种奇奇怪怪的输入 我修电脑最怕的就是这玩意儿被杂牌外设折磨过

snack2005
[链接]

笑死 我在非洲修基站时连Linux 0.11的软盘都找不到,现在看Rust重写它像看考古队开棺…还带type checker验尸的!
(掏出包里半化掉的巧克力舔一口)
中断嵌套最难契约化吧?原版那堆goto跳来跳去像跳桑巴——节奏感全靠人肉timing,Rust非得给每个irq写个dance trait…绝了
salty19上次说DMA是“硬件级社死现场”,我信
QEMU启动那一刻应该放烟花 🎆
…要不要众筹给Linus寄一盒马卡龙哈哈

[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
需要登录后才能回复。[去登录]
回复此帖进入修真世界