Putting the “You” in CPU 面向想弄清“程序到底怎样在计算机上跑起来”的读者。它从作者对程序运行机制的好奇出发,梳理从启动到执行的底层过程,并涉及系统调用、多任务运行等主题。它解决的是计算机基础学习中常见的断层:会写代码,却不清楚代码如何变成进程,进程怎样请求操作系统服务,多个程序为什么能同时运行,CPU、内核和应用之间如何协作。长期价值在于补齐工程师的系统视角。理解这些机制后,性能问题、权限边界、崩溃、阻塞、并发和资源管理都不再只是黑盒现象。即使不做底层开发,也能用它建立对现代计算环境更扎实的判断。保存它的意义在于需要解释“为什么这个程序会这样运行”时,有一个从应用层一路追到内核和硬件抽象的入口,适合反复回看。它能把零散的操作系统概念连接起来,降低继续学习内核和性能分析的门槛。也适合补基础时重读。
BeOS 的故事说明,技术上的优雅和领先并不自动变成市场胜利。Jean-Louis Gassée 离开 Apple 后创办 Be Inc,试图摆脱旧操作系统的包袱,用 BeBox 和 BeOS 重新设计个人计算机。BeBox 拥有双 PowerPC 处理器、丰富 I/O、MIDI、音频接口和给黑客使用的 GEEK 端口;BeOS 则支持抢占式多任务、多线程、对称多处理、图形界面和带数据库特性的文件系统,在九十年代显得异常现代。失败的根因不在想象力不足,而在生态不兼容:它跑不了主流 PC 软件,也无法自然承接 UNIX 市场。后来 BeOS 转向移植,甚至接近成为 Apple 新系统候选,但 Apple 最终收购 NeXT,macOS 的历史也由此改道。
摩尔定律没有突然死亡,但它赖以成立的经济奇迹正在失效:晶体管继续变小变难,单位计算成本不再像过去那样稳定下降。早期计算从真空管走向晶体管,是因为固态开关更小、更快、更省电;集成电路又把晶体管和导线蚀刻在同一硅片上,让制造复杂电路摆脱手工焊接。随后的小型化带来罕见的复利:晶体管越小,所需电流越少,同一芯片容纳越多,计算能力和能效同步提升。英特尔 4004 把处理器和存储能力装进单一芯片,个人计算机才有了低成本扩散的基础。今天最先进制程已逼近纳米尺度,物理限制、设备成本、设计复杂度和产线投资同时上升。大公司开始用定制芯片、专用加速器、系统级设计和内部硅团队应对新阶段。硬件创新不会停止,但从通用制程红利转向架构、封装、软件协同和特定任务优化。
现代计算机值得被批评,因为硬件越来越强,软件却越来越笨重、脆弱且不可理解。处理器、内存和网络速度大幅提升,本应让程序更快、更可靠、更可控,现实却是应用崩溃、系统膨胀、依赖堆叠和用户无能为力变成常态。过去资源稀缺迫使程序员保持克制,坏设计更容易被淘汰;今天算力和存储掩盖了低质量软件,大量历史代码持续累积,维护成本被推给未来。Unix 曾提出一种清晰的反方向:程序只做一件事,用文本流互相连接,让用户能组合工具。但图形界面和封闭应用把人变成点击者,计算机越来越能塑造人的行为,人却越来越难改变计算机的行为。更深层的问题是,软件并非纯技术,它包含审美、政治、权力和创造控制。复杂到无人能完整理解的系统支撑着社会运行,这不是进步的必然形态,而是行业长期纵容复杂性的结果。