Vis*_*vek 1 linux kernel linux-kernel
在一部纪录片中,Linus Torvalds说,即使在未来,如果有人想从头开始制作一个新的操作系统,他们可以使用他编写的内核。这是非常鼓舞人心的。
Linux 内核是否足够高效以至于将来不需要编写全新的内核?
当且仅当您希望您的操作系统在其提供的服务中类似于 Unix 时,编写一个新的操作系统几乎没有什么好处。从 1960 年代到现在,几乎没有人希望操作系统提供超出 Unix 所能提供的服务。您听说过的每个操作系统,以及许多您没有提供的操作系统都大致相同:它们管理机器资源,将它们公平地分配到多个应用程序中,提供对设备硬件的相对安全的访问。所以 Windows NT/XP/7/8 是类 Unix 的,OS/X 的内核也是,VMS 提供相同类型的服务,OS/360 到 z/VM 的大型机也是如此。
有很好的论据表明,这就是传统冯诺依曼机器的操作系统应该提供的全部内容。请注意,内核不是:文件系统、窗口系统、Web 服务器或 Web 浏览器;它不是编译器、编辑器、shell 或应用程序。Torvalds 建立在 Unix 系统设计的优雅之上,而 Unix 系统设计本身就是对那个时代操作系统基本服务的提炼。
碰巧的是,Ken Thompson 和 Dennis Ritchie 所设想的 Unix 抽象可以很好地从最小的 Arduino 扩展到最大的分布式系统。尽管 Torvalds 和他的团队一直在稳步优化内核并在制造商发明新硬件功能时加入新的硬件功能,但操作系统并不是当今系统的瓶颈。事实上,操作系统是如此轻量级,以至于许多系统可以运行一个操作系统的多个实例以及一个虚拟化器(这是一种操作系统子地下室),并且处理器花费大量时间等待非常慢的内存或极慢的磁盘。即使内核可以提高两倍的效率,人们可能很难在实际使用中感知甚至衡量。
鉴于有一个编写良好、高效且非常便携的 Open OS,几乎没有理由再做一次。但是请记住我在顶部的警告:当且仅当您希望操作系统提供这些类型的服务时。曾经有一些深奥的操作系统与类 Unix 的功能略有不同,但他们从未见过太多曝光。如果计算机架构中的某些根本性变化需要它,那么可能需要一种全新的操作系统类型,但如果有的话,我还没有读过它。
不过我可以想象,如果我们要开发一种人脑式的计算设备,Unix 可能无法很好地满足硬件的需求。甚至会有一个叫做操作系统的实体吗?我不知道。
[我可以链接很多我没有链接的东西(例如冯诺依曼架构),因为如果你不知道它们的意思,它们很容易找到,而且没有我指导你是有好处的。]
归档时间: |
|
查看次数: |
792 次 |
最近记录: |