生存游戏:为什么 Linux 至今坚持被判了死
Linux 能赢,靠的不是理论最漂亮,而是它最肯妥协。
90年代学术界都在追捧“微内核”。大家觉得把驱动和文件系统全塞进一个大内核太落后。但 Linux 之父 Linus 偏不信邪。
微内核看着美,跑起来太慢。
它把各个服务拆开,听着挺安全。一个崩溃了不影响整体。但问题是,它们之间沟通得来回传话。每传一次都要切换权限、复制数据。这在当年硬件算力金贵的年代,简直是在浪费命。
Linux 用“可加载模块”补了短板。
单内核虽然快,但代码全挤在一起,太臃肿。后来 Linux 加了动态模块机制。平时内核保持精简。一插U盘或挂硬盘,再临时把驱动装进来。既保住了速度,又有了灵活性。
为了快,它甚至做到了极致。
在内核里,各部分直接共享内存、调函数。连数据包都不复制,直接原地处理。代价就是大家同在一个特权级。一旦某个驱动写得烂,整个系统都可能跟着崩。
说白了,Linux 宁可承认不完美,也要先把性能榨干。它没去赌未来的理论有多优雅,而是死死抓住了当时最急迫的需求。靠着这股实用主义,它一路吃下服务器、手机和超算市场。
原文生存游戏:为什么 Linux 至今坚持被判了死刑的“单内核”?