内核(Kernel)是操作系统中最重要的组件之一,它直接运行在硬件之上,负责提供内存管理、进程管理、设备管理、文件管理系统、网络通信、系统调用与同步等基础服务。[3][4]主流内核架构可以分为宏内核(Monolithickernel)、微内核(Microkernel)、多内核(Multikernel)、混合内核(Hybridkernel)和外核(Exokernel)以及纳米内核(Nanokernel)等。[1]
操作系统内核的发展历程始于无内核时代,程序直接在硬件上运行,没有统一的资源管理和调度机制,也缺乏对硬件资源的抽象和管理。[5]20世纪60年代,CTSS和Multics等分时操作系统引入宏内核,实现多用户和多任务处理。[5][6]1969年,微内核架构(如Mach和L4)将功能分解为独立组件,提升性能和安全性。[7]1995年,外核架构允许应用程序直接管理硬件,提高性能和定制性。[8]2009年,多内核架构被提出,通过将众核系统视为由多个独立处理器核组成的分布式系统,使用进程间通信代替共享内存交互,提升性能和扩展性。[2]大多数内核是为特定操作系统开发的,通常每个操作系统只有一个内核版本,Microsoft Windows 2000和Windows 98各有独特的内核。相比之下,Linux内核更具灵活性,拥有多个版本,可以由用户进行多种方式的修改。少数内核则设计为与任何操作系统兼容。[1]macOS使用基于Unix的XNU内核,结合了结合了微内核和宏内核的优势。[9] 在保护与安全机制方面,内核通过内存保护、特权级别、进程隔离和访问控制等技术,确保系统的稳定性和安全性。[10]内核模式与用户模式的分离使得系统调用时能够有效管理权限,防止恶意代码对系统核心的破坏。[5]
发展历程
无内核时代