如何看待Linux操作系统的用户空间和内核空间
作为中央核心处理单元的CPU,除了生产工艺的不断革新进步外,在处理数据和响应速度方面也需要有权衡。稍有微机原理基础的人都知道Intel X86体系的CPU提供了四种特权模式ring0~ring3,其中ring0特权最高,ring3的特权最低,之所以要做这样的区分一个主要目的是保护资源,通俗来讲要保护的资源无非就是“内存、I/O端口以及执行特殊机器指令的能力”。任何一个时刻,x86 CPU都是在一定的特权模式下运行。同样,对于ARM体系的CPU 一共有七种运行模式,分别是:用户模式(usr)、快速中断模式(fiq)、中断模式(irq)、管理模式(svc)、系统模式(sys)、数据访问终止模式(abt)和未定义指令终止模式(und)。除了用户模式外,其他6中工作模式都属于特权模式,而特权模式中除了系统模式外,其他5种模式又称为异常模式。 那么底层硬件CPU的这种特性,跟我们将要讨论的用户模式和内核模式又有什么关系呢?让我们正本溯源来端正一下对操作系统的认识。每位教操作系统课程的老师都会告诉大家:所谓的操作系统呢,就是对硬件资源进行统一管理的系统,并向用户提供业务接口的软件系统。通俗来讲,【...