【发布时间】:2017-06-14 14:16:03
【问题描述】:
我正在阅读“Andrew S.Tanenbaum”的一本书,他在其中提到:
“MINIX 是最早的基于微内核设计的类 UNIX 系统之一。 微内核背后的想法是在内核中提供最少的功能以 使其可靠和高效。因此,内存管理和文件系统 被推送到用户进程中。”
这是否意味着“具有最大功能的内核”将不可靠和高效? 为什么会这样,请举个例子解释一下。
谢谢
【问题讨论】:
-
在阅读该部分之前,作者如何在本书的上下文中定义“可靠”和“高效”这两个术语?
-
另请阅读 Operating Systems: Three Easy Pieces 以及在此之前 operating systems 上的维基页面
-
monolithic kernels 的一个典型例子是Linux kernel,它在实践中相当成功、可靠且高效(并且具有很多 功能)。您应该尝试在自己的计算机上安装一些linux distribution。
-
@BasileStarynkevitch 如果单片内核(具有更多功能)是可靠和高效的,那么为什么作者在书中说“......功能最少的内核是高效和可靠的”?
-
@BasileStarynkevitch 我认为真正引起争论的部分是哪一个是“更好”或“正确”的设计决策,而不是说,哪一个提供更多/更少的功能、性能和可靠性。例如,由于函数调用与 IPC 的开销减少,单片内核会更快,我认为没有人对此进行辩论。我在采访中看到 Torvalds 说的是,对于“现实世界”,你需要一个单片的 b/c 微控制器太慢了。虽然如此,但如果其他作者认为速度次要其他问题,那么将做出不同的决定。
标签: operating-system kernel computer-science