内核是管理计算机和硬件操作的操作系统的核心组件。它基本上管理内存和CPU时间的操作。它是操作系统的核心组件。内核充当使用进程间通信和系统调用在硬件级别执行的应用程序和数据处理之间的桥梁。
加载操作系统时,内核首先加载到内存中,并保留在内存中,直到再次关闭操作系统为止。它负责各种任务,例如磁盘管理,任务管理和内存管理。
它决定应将哪个进程分配给处理器以执行,以及应将哪个进程保留在主存储器中以执行。它基本上充当用户应用程序和硬件之间的接口。内核的主要目的是管理软件(即用户级应用程序)与硬件(即CPU和磁盘内存)之间的通信。
内核目标:
- 在用户级应用程序和硬件之间建立通信。
- 决定传入进程的状态。
- 控制磁盘管理。
- 控制内存管理。
- 控制任务管理。
内核类型:
1.整体内核–
它是所有操作系统服务都在内核空间中运行的内核类型之一。它在系统组件之间具有依赖性。它具有庞大的代码行,非常复杂。
例子 :
Unix, Linux, Open VMS, XTS-400 etc.
- 优势 :
它具有良好的性能。 - 坏处 :
它在系统组件和数百万行代码之间具有依赖关系。
2.微内核–
具有最小化方法的是内核类型。它具有虚拟内存和线程调度。它在内核空间中较少的服务下更加稳定。它将空间放在用户空间中。
例子 :
Mach, L4, AmigaOS, Minix, K42 etc.
- 优势 :
它更稳定。 - 坏处 :
有很多系统调用和上下文切换。
3.混合内核–
它是整体内核和微内核的组合。它具有整体内核的速度和设计,以及微内核的模块化和稳定性。
例子 :
Windows NT, Netware, BeOS etc.
- 优势 :
它结合了单片内核和微内核。 - 坏处 :
它仍然类似于单片内核。
4. Exo内核–
它是遵循端到端原理的内核类型。它具有尽可能少的硬件抽象。它为应用程序分配物理资源。
例子 :
Nemesis, ExOS etc.
- 优势 :
它具有最少的硬件抽象。 - 坏处 :
应用程序开发人员还有更多工作要做。
5.纳米内核–
它是提供硬件抽象但不提供系统服务的内核类型。 Micro Kernel也没有系统服务,因此Micro Kernel和Nano Kernel变得相似。
例子 :
EROS etc.
- 优势 :
它提供了没有系统服务的硬件抽象。 - 坏处 :
它与微内核完全相同,因此使用较少。