Ubuntu 内核是模块化的吗?

Ubuntu 内核是模块化的吗?

我在谷歌上搜索了几次,但似乎找不到答案,至少在前两页搜索中没有找到。我想知道 Ubuntu 内核是模块化的还是单片的?我看到一篇文章说,当今大多数发行版都是高度模块化的,但没有具体提到具体是哪些。

只是一些感兴趣并且想知道的事情!

答案1

Linux 内核既是单片内核,又是模块化内核:) 它们并不互相排斥。

单片内核指所有部分共享公共地址空间的内核:

这减少了上下文切换和消息传递的数量,使该概念比微内核更快。缺点是,在内核空间中运行的代码量使内核更容易出现致命错误。

“单片内核”的反义词是“微内核“,其中内核只负责协调在用户空间运行的服务,完成所有实际工作。

模块化内核“ 意思是

系统核心的某些部分将位于称为模块的独立文件中,这些文件可在运行时添加到系统中。根据这些模块的内容,目标可能会有所不同,例如:

  • 仅在实际找到设备时才加载驱动程序
  • 仅在实际请求时加载文件系统
  • 仅在需要评估时才加载特定(调度/安全/其他)策略的代码

这些模块仍然在内核空间运行,而不是在用户空间运行,因此内核架构仍然是单片的。

答案2

Ubuntu 是一个 GNU/linux 发行版。这意味着它使用 linux 内核。

Linux 内核被认为是单内核。

它有模块,但它们都共享相同的内存(即:可以在“其他”内存中写入),而在模块化内核中,不同部分(例如驱动程序)使用单独的内存运行(并且在某些情况下,甚至可以在不损害整个内核的情况下发生故障)

相关内容