Linux 内核的效率

Linux 内核的效率

在一个记录,莱纳斯·托瓦尔兹说即使在未来,如果有人希望从头开始制作一个新的操作系统,他们可以使用核心他写的。这非常鼓舞人心。

Linux 内核是否真的足够高效,以至于将来不需要编写全新的内核?

答案1

当且仅当您希望您的操作系统在其提供的服务方面与 Unix 类似时,编写一个新操作系统几乎没有什么好处。从 20 世纪 60 年代到现在,几乎没有人希望操作系统能够提供 UNIX 之外的服务。您听说过的每个操作系统,以及许多您没有提供的操作系统:它们管理机器资源,将它们公平地分配给多个应用程序,提供对设备硬件的相对安全的访问。因此,Windows NT/XP/7/8 是类 Unix 的,OS/X 的内核也是如此,VMS 提供相同类型的服务,大型机的 OS/360 到 z/VM 也是如此。

有充分的论据表明这都是传统冯诺依曼机器的操作系统应该提供。请注意,内核是不是:文件系统,窗口系统,网络服务器,网络浏览器;它不是编译器、编辑器、shell 或应用程序。 Torvalds 建立在 Unix 系统设计的优雅之上,它本身就是那个时代操作系统基本服务的升华。

碰巧的是,Ken Thompson 和 Dennis Ritchie 设想的 Unix 抽象可以完美地从最小的 Arduino 扩展到最大的分布式系统。尽管 Torvalds 和团队一直在稳步优化内核并在制造商发明新硬件功能时融入它们,但操作系统并不是当今系统的瓶颈。事实上,操作系统是如此轻量级,以至于许多系统可以运行操作系统的多个实例以及虚拟器(这是一种操作系统的地下室),并且处理器花费大量时间等待非常慢的内存或非常慢的磁盘。即使内核的效率可以提高一倍,人们在实际使用中也可能很难感知甚至测量。

鉴于有一个编写良好、高效且非常可移植的开放操作系统,没有理由再费心再做一次。但请记住我在顶部的警告:当且仅当您希望操作系统提供这些类型的服务时。曾经有一些深奥的操作系统与类 UNIX 的功能略有不同,但从未出现过太多的曝光。如果计算机体系结构发生一些根本性的变化,可能会需要一种全新的操作系统类型,但如果有的话,我还没有读过。

但我可以想象,如果我们要开发一种人脑式的计算设备,Unix 可能无法很好地满足硬件的需求。是否会有一个称为操作系统的实体?我不知道。

[有很多东西我可以联系起来,但我没有联系起来(例如冯诺依曼架构),因为如果你不知道它们的意思,它们很容易找到,而且不让我指导你是有好处的。]

相关内容