指令集架构,是 CPU 的一种抽象化,通过这个抽象化,我们把计算机程序的行为理解为执行一个又一个的指令,同一时间只能执行一个指令。但 CPU 内部的硬件工作方式却复杂很多。
在操作系统层面,我们把 I/O 设备抽象化为 files,把程序内存抽象化为虚拟内存,把一个正在运行中的程序抽象为进程。还有一个重要的抽象化概念,叫虚拟机,virtual machine,它包含了 CPU 等硬件、操作系统、程序等。
操作系统内核,是软件和硬件之间的媒介,通过它有了以上的抽象化。