我们将计算机系统抽象化,分解成不同组件。这样可以将操作系统划分不同的层次。比如web,客户端等应用处于最高层次,底层则是内存,处理器等硬件系统。操作系统则是处于两者之间。
Linux操作系统又可分为三层,如图。最底层为计算机硬件层。
往上是Linux内核,它是操作系统的核心。内核是操作系统运行在内存中的软件(产生内核级进程),负责处理各种请求,向CPU发出指令。管理者硬件系统,是硬件系统与用户程序交互的接口。
用户进程是最顶层,由内核管理。各种用户程序都以进程的形式在内存运行。
内核级进程与用户进程的区别:内核级进程在核心态运行,可以直接访问CPU,内存等。用户进程运行在用户态,不能直接访问CPU,内存等。内核进程可以访问的空间称为内核空间,通常较大。而用户进程可以访问的空间称为用户空间,通常较小(一般仅限于当前进程在内存中的部分)。