前两篇文章主要简单介绍了操作系统的分类以及基础的操作系统启动相关的知识,总体感觉有很多基础的知识没有讲清楚,后续的几篇会从最基本的操作系统概念开始介绍,让不论有没有足够经验的朋友都能够迅速打好基础,并且让自己后续的连载不那么突兀。
1. 操作系统的用户态和内核态
操作系统之上运行的软件按照运行的特权级来区分,一般分为用户态进程和内核态程序。 例如在X86体系结构的处理器中,Linux的内核运行在Ring0而相应的所有其他的程序均运行在Ring3, 其运行时状态如下图所示:
而对于ARM处理器,则如下图所示: