操作系统中的宏内核结构2025年4月13日 | 阅读 6 分钟 单体操作系统是一种非常基本的操作系统,其中文件管理、内存管理、设备管理和进程管理直接在内核中控制。内核可以访问系统中存在的所有资源。在单体系统中,操作系统的每个组件都包含在内核中。采用单体架构的操作系统首次出现在 20 世纪 70 年代。 单体操作系统也称为单体内核。这是一种旧的操作系统,用于在银行执行批处理和分时等小型任务。单体内核充当控制所有硬件部件的虚拟机。 它不同于任务有限的微内核。微内核分为两部分:内核空间和用户空间。两部分通过 IPC(进程间通信)进行通信。微内核的优势在于,如果一个服务器发生故障,另一个服务器会接管它。 单体内核单体内核是一种操作系统架构,其中整个操作系统都在内核空间中工作。单体模型与微内核架构等其他操作系统架构不同,因为它独自定义了计算机硬件之上的高级虚拟接口。 一组原语或系统调用实现了所有操作系统服务,如进程管理、并发和内存管理。设备驱动程序可以作为模块添加到内核中。 单体内核的优点 单体内核的优点如下:
单体内核的缺点 单体内核的一些缺点如下:
单体系统架构操作系统的单体设计架构并未对操作系统的特殊性质做出特别的考虑。尽管设计遵循关注点分离,但没有尝试限制授予操作系统各个部分的权限。整个操作系统以最大权限执行。单体操作系统中的通信开销与其他任何软件的通信开销相同,相对较低。 ![]() CP/M 和 DOS 是单体操作系统的简单示例。CP/M 和 DOS 都是与应用程序共享单个地址空间的操作系统。
单体架构的优点 单体架构具有以下优点,例如:
单体架构的缺点 单体架构的一些缺点如下:
模块化单体系统模块化操作系统和大多数现代单体操作系统,如 OS-9 OpenVMS、Linux、BSD、SunOS、AIX 和 MULTICS,可以在运行时动态加载(和卸载)可执行模块。 操作系统的这种模块化是在二进制级别,而不是在架构级别。模块化单体操作系统不应与使用微内核和服务器的客户端-服务器操作系统(及其有时被市场称为混合内核的派生产品)固有的架构级别模块化相混淆。 实际上,动态加载模块只是在运行时处理操作系统映像的一种更灵活的方式,而不是通过不同的操作系统映像重新启动。模块允许根据需要轻松扩展操作系统的功能。与将模块构建到操作系统映像中相比,动态可加载模块会产生少量开销。 然而,在某些情况下,动态加载模块有助于将内核空间中运行的代码量保持在最低限度。例如,为了最小化嵌入式设备或硬件资源有限的设备的操作系统占用空间。也就是说,未加载的模块不必存储在稀缺的随机访问内存中。 单体系统的局限性单体操作系统具有以下局限性,例如:
单体系统的特点单体操作系统向用户提供以下功能,例如:
单体内核与微内核的区别内核是操作系统的核心部分,它管理系统资源。内核就像应用程序和计算机硬件之间的桥梁。内核可以进一步分为两类:微内核和单体内核。 微内核是一种允许自定义操作系统的内核类型。它在特权模式下运行,并提供低级地址空间管理和进程间通信 (IPC)。此外,文件系统、虚拟内存管理器和 CPU 调度程序等 OS 服务位于微内核之上。每个服务都有自己的地址空间,以确保其安全。此外,应用程序也有自己的地址空间。因此,应用程序、OS 服务和内核之间存在保护。 单体内核是内核的另一种分类。在基于单体内核的系统中,每个应用程序都有自己的地址空间。与微内核一样,它也管理应用程序和硬件之间的系统资源,但用户服务和内核服务是在同一地址空间下实现的。它增加了内核的大小,从而也增加了操作系统的大小。 ![]() 该内核通过系统调用提供 CPU 调度、内存管理、文件管理和其他系统功能。由于这两个服务都在同一地址空间下实现,这使得操作系统执行速度更快。以下是微内核和单体内核之间的一些更多区别,例如:
|
我们请求您订阅我们的新闻通讯以获取最新更新。