单片内核的效率

时间:2014-08-03 18:15:17

标签: linux architecture process operating-system kernel

我知道单片内核本身就可以运行所有服务。我在互联网上搜索,找出为什么每篇文章都说它有效率。我无法找到原因。为什么它比其他内核更有效?

2 个答案:

答案 0 :(得分:5)

在开始之前,让我们来讨论一下内核是什么。

kernel

  

在计算中,内核是现代操作系统(OS)的基础部分,它是一个分配所有系统的程序。资源和管理   输入/输出(I / O)请求,充当软件和硬件之间的接口。

     

内核在内核空间中执行其任务,而其他所有任务都在用户空间中完成。这种分离确保了内核数据和   用户数据不会干扰,从而保持稳定。

内核类型:

  • 单片内核的所有组件都在内核空间中运行。这种方法旨在提供强大的性能。

  • 微内核只有其关键部分在内核空间中运行,而其余部分在用户空间中运行。它的设计更快,更模块化,易于维护。

  • 混合内核是一个尝试结合单片微内核方面的内核。它具有类似于微内核的结构,但以单片内核的方式表达。

kernel structure diagram

现在进入主题:为什么单片内核更有效? 由于其设计,单片内核具有更好的性能,因此提供丰富且更强大的硬件访问。如今它们还包括动态加载和卸载模块,它们提供了模块化的效率。

希望你喜欢我的回答并发现它很有用 =)

答案 1 :(得分:3)

微内核提供了让系统运行的基本要素。 微内核系统有小kernelspaces和大userspaces

然而,

单片内核包含更多内容。单片系统具有较大的kernelspaces。例如,一个区别是设备驱动程序的位置。 单片内核包含drivers (modules)并将其放在kernelspace中,而微内核缺少驱动程序。在此类系统中,设备驱动程序以另一种方式提供并放在userspace中。这意味着微内核系统仍然有驱动程序,但它们不是内核的一部分。换句话说,驱动程序存在于操作系统的另一部分中。

此外,在monolithic architecture的现代方法中,kernel由不同的模块组成,这些模块可以动态加载和卸载。这种模块化方法可以轻松扩展操作系统的功能。使用这种方法,内核的可维护性变得非常容易,因为每当特定模块中发生更改或错误修复时,只需要加载和卸载相关模块。因此,没有必要降低并重新编译整个内核以进行最小的更改。

因此,根据现代变化,整体内核已经掌握了它们的局限性并且正在发展得更好。因此,每个人似乎都赞扬它提高效率!