我想了解该术语的含义Linux Kernel
以及各种类型的内核。例如,我想知道Microkernels
和Monolithic
Kernels 之间有什么区别。请您简化这些术语并提供示例。我听说其他系统,如 Windows 或 Android,也都有内核。那么所有这些系统中的内核有什么区别呢?
答案1
这个术语在互联网上得到了很好的报道!内核是一个术语的意思the core or the central or the most important part of something
。它为操作系统 (OS) 的所有其他部分提供基本服务。它在操作系统和硬件之间架起了一座桥梁,有助于内存管理、中断处理、进程管理、设备管理和控制、文件系统和网络。
内核经常与操作系统进行比较shell
,操作系统的最外层部分与用户命令交互。内核和 shell 是Unix
Linux 核心编程语言中广泛使用的术语。内核不是基本输入/输出系统(BIOS),它是存储在计算机电路板内的芯片上的独立程序。内核有多种类型,例如:内核以及microkernels
内核。monolithic
hybrid
微内核与单片内核 内核分为两种主要架构:单内核和微内核。这些类型之间的主要区别在于它们支持的地址空间数量。微内核在不同的地址空间中委托用户服务和内核服务,而单片内核在同一地址空间中实现服务。
微内核的所有服务都位于内核地址空间中。单片内核更大,因为它在同一地址空间中容纳内核和用户服务。
两者之间的通信协议也有所不同,单片内核使用更快的系统调用来执行硬件和软件之间的进程。微内核使用消息传递,将数据包、信号和功能发送到正确的进程。
微内核提供了更大的灵活性;要添加新服务,管理员可以修改用户地址空间。整体内核需要更多工作,因为管理员必须重建整个内核以支持新服务。
由于其隔离特性,微内核更加安全,并且即使地址空间中的一项服务发生故障也不会受到影响。单体内核会给系统带来更大的安全风险,因为如果服务失败,整个系统就会关闭。
整体内核不需要像微内核那样多的源代码,这意味着它们不太容易出现错误。
基于微内核的操作系统的示例是Mac OS X, Windows NT, QNX, L4 and HURD
。整体内核的示例是在Unix and Linux
.
值得注意的是,整体内核比微内核要古老得多,这个想法是在 20 世纪 80 年代末构思的。
是的,每个系统都有它自己独特的核心(即内核),它有不同的方式来处理系统资源和软件/硬件之间的桥接。