计算机内核主要分为 硬件内核和软件内核两种,但通常我们所说的内核指的是 软件内核。软件内核是指操作系统(OS)对各种硬件资源(如CPU、内存、输入输出设备等)的控制和调度,以及对任务的控制和调度。
硬件内核通常指的是CPU的核心(Die),它是由单晶硅以一定的生产工艺制造出来的,包含了CPU所有的计算、接收/存储命令、处理数据的功能。
从更微观的层面来看,计算机内核(无论是软件还是硬件)通常包括以下组成部分:
运算器:
负责执行算术和逻辑运算,如加法、减法、乘法、除法、与、或、非、异或和移位等操作。运算器还包括算术逻辑单元(ALU)和整数执行单元(IEU)。
控制器:
负责控制计算机的指令执行过程,包括指令的读取、译码和执行。控制器还包括指令级单元(ILU)和总线接口等逻辑单元。
内存管理单元 (MMU):负责管理计算机的内存,包括内存的分配、回收、隔离等操作,以及虚拟内存的实现。
进程调度器:
负责控制多个进程对CPU的访问顺序,确保公平和高效的CPU资源利用。
设备管理器:
负责管理输入输出设备,如键盘、鼠标、显示器等,处理来自这些设备的请求并通知相应的程序接收输入。
文件系统:
负责文件的存储和管理,使得应用程序可以方便地读写文件。
系统调用子系统:
提供用户空间程序调用内核功能的接口。
进程间通信(IPC)子系统:
允许不同的进程之间进行通信和同步。
这些组成部分共同协作,使得操作系统能够高效地管理和调度计算机的硬件资源,同时为用户程序提供一个稳定和安全的运行环境。