混合核心(英语:Hybrid kernel),又译为混合式核心、混合内核,一种作业系统内核架构。传统上的作业系统内核可以分为整块性核心(Monolithic kernel)与微核心(Micro kernel)两大基本架构,混合核心结合了这两种核心架构。
混合核心的基本设计理念,是以微核心架构来设计作业系统核心,但在实作上则采用整块性核心的作法。混合核心实质上是微核心,只不过它让一些微核结构执行在用户空间的代码执行在核心空间,这样让核心的执行效率更高些。这是一种妥协做法,设计者参考了微核心结构的系统执行速度不佳的理论。
大多数现代作业系统遵循这种设计范畴,是用微核心的概念来设计,但是实作上则采用整块性核心的作法,结合整块性核心(Monolithic kernel)与微核心(Micro kernel)两种设计方法,形成第三种分类。但是这种分类法受到一些批评,如林纳斯·托瓦兹认为这种分类只是一种市场行销手法,因为它的架构实作方式接近于整块性核心[1]。
最有名的混合核心为Windows NT核心与XNU。
概论
这个设计方式是一种妥协下的设计。在设计理念上,采用微核心架构来设计,但因为微核心结构一直被批评为效能不佳,因此在实作上,则采用整块性核心的作法。微核心架构将作业系统服务(task server)运行在用户空间,以保证系统的稳定可靠。与典型的微核心设计相较,在混合核心中,多数的作业系统服务(task server)仍然运行在核心空间中,与整块性核心相同。因为让作业系统服务运行在核心空间,减少了讯息传递及环境切换(content switch)带来的系统负担,这可以避免微核心架构常被批评的效能不佳问题;但也因此,这种设计无法提供微核心系统架构下的稳定性保证。
批评
林纳斯·托瓦兹认为,采用可载入核心模组不代表这个作业系统就是一种混合核心,如果模组跟内核使用同样的定址空间,能够存取内核的资料结果,这种实作方式就是整块性核心[2]。以这种定义来看,混合核心实际上是整块性核心的变种。
例子
- BeOS内核
- DragonFly BSD
- ReactOS内核
参见
注释
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.