微内核 Opera系统: Archi结构,优势
在学习MicroKernel之前我们先来了解一下:
什么是内核?
内核是操作系统中管理系统资源的重要组成部分。它还充当计算机软件和硬件之间的桥梁。它是引导加载程序之后启动时加载的第一个程序之一。内核还负责为各种程序提供对机器硬件的安全访问。它还决定某个应用程序何时以及使用特定硬件多长时间。
什么是微内核?
微内核 是包含实现操作系统所需的最少功能、数据和特性的软件或代码。它提供最少的机制,足以运行操作系统的最基本功能。它允许实现操作系统的其他部分,因为它不施加太多策略。
微内核及其用户环境通常在 C++ or C 编程语言 只需要一点汇编代码。但是,使用其他实现语言,通过一些高级编码也是可行的。
什么是单片内核?
单片内核运行所有基本系统服务,例如 流程管理、内核空间的内存管理、I/O通信、中断处理、文件系统等。
在这种类型的内核方法中,整个操作系统以内核模式的单个程序运行。操作系统被编写为一组程序,这些程序链接在一起形成一个大型可执行二进制程序。
微内核 Archi质地
微内核是正确实现操作系统的最重要部分。您可以在下图中看到,微内核执行内存、进程调度机制和进程间通信等基本操作。
微内核是唯一在特权级别执行的软件。操作系统的其他重要功能从内核模式中移除并在用户模式下运行。这些功能可能是设备驱动程序、应用程序、文件服务器、进程间通信等。
微内核的组件
微内核仅包含系统的核心功能。仅当将组件置于微内核之外会干扰系统功能时,才会将组件置于微内核中。所有其他非必要组件都应置于用户模式。
微内核所需的最低功能包括:
- 内存管理 微内核应该包含地址空间等机制。它还包含内存保护功能。
- 处理器调度机制应该包含进程和线程调度程序。
- 进程间通信管理运行其自己的地址空间的服务器。
微内核和单片内核之间的区别
参数 | 单片内核 | 微内核 |
---|---|---|
基础版 | 它是一个在单一地址空间中运行的大型进程 | 它可以分解为称为服务器的独立进程。 |
代码 | 为了编写单片内核,需要更少的代码。 | 为了编写微内核,需要更多代码 |
安全性 | 如果一个服务崩溃了,整个系统就会在单内核中崩溃。 | 如果服务崩溃,它不会影响微内核的工作。 |
外场通讯 | 它是单个静态二进制文件 | 服务器通过 IPC 进行通信。 |
例如: | Linux、BSD、 Microsoft Windows (95,98,我), Solaris、OS-9、AIX、DOS、XTS-400 等。 | L4Linux、QNX、SymbianK42、Mac OS X、 Integrity等等。 |
微内核的优点
以下是使用微内核的优点/好处
- 微内核架构小而独立,因此能够更好地发挥作用。
- 微内核是安全的,因为只包含那些会破坏系统功能的组件。
- 系统的扩展更加容易,可以在不干扰Kernel的情况下添加到系统应用程序中。
- 微内核是模块化的,不同的模块可以被替换、重新加载和修改,甚至无需触及内核。
- 与单片系统相比,系统崩溃更少。
- 微内核接口帮助您实施更加模块化的系统结构。
- 无需重新编译,添加新功能
- 服务器故障也与任何其他用户程序故障一样被隔离。
- 微内核体系具有灵活性,因此由不同的服务器实现的不同策略和API可以在系统中共存。
- 安全性和稳定性的提高将导致在内核模式下运行的代码量减少
微内核的缺点
以下是使用微内核的缺点/弊端:
- 与普通的单片系统相比,在微内核系统中提供服务是昂贵的。
- 当驱动程序分别实现为过程或进程时需要上下文切换或函数调用。
- 微内核系统的性能可能不太好,并且可能会导致一些问题。
结语
- 内核是操作系统管理系统资源的重要组成部分。
- 微内核是一种软件或代码,包含实现操作系统所需的最少功能、数据和特性。
- 在单内核方法中,整个操作系统作为内核模式下的单个程序运行
- 微内核是正确实现操作系统最重要的部分。
- 微内核仅包含系统的核心功能。
- 单片内核是在单个地址空间中运行的大型进程,而微内核可以分解为称为服务器的独立进程。
- 微内核架构小而独立,因此可以更好地发挥作用
- 与普通的单片系统相比,在微内核系统中提供服务的成本很高