gnu、darwin 和 mach 之间的区别

gnu、darwin 和 mach 之间的区别

这些术语属于 Mac OS X 架构主题,我对以下内容感到困惑:

mach 被称为微内核

Darwin 和 XNU 被称为内核

那么...您能帮助我理解这些术语的区别以及它们如何协作来为 Mac OS X 环境提供支持吗?

答案1

我将从核心开始,然后逐步解决:

  • Mach 是一个微内核,旨在仅提供基本的进程间通信功能。
  • XNU 是一个混合内核,由 Mach 微内核和更传统的(“单片”)BSD unix 内核组件组成。它还具有在运行时加载内核扩展的功能(以添加功能、设备驱动程序等)。
  • Darwin 是一个 Unix 操作系统,由 XNU 内核以及各种开源实用程序、库等组成。Darwin 中的一些实用程序来自其他版本的 BSD Unix,一些来自 GNU 项目,一些由 Apple 开发,等等。
  • OS X 是 Darwin,加上许多专有组件,最显著的是它的图形界面 API。

相关内容