操作系统内核其实都是一种特殊的运行时环境,对其上的应用程序而言,它提供很多标准化的接口(类似于动态库),内核还提供了进程管理的支持;此外它封装了底层的很多驱动,使得其上的应用能够通过标准化的接口使用设备。
其中 内核态部分其实就是对底层驱动的封装部分和通用的系统接口,其上的部分就属于用户态。
在大多数情况下用户态和内核态其实都是通过虚拟内存地址空间划分来实现的,比如现在普遍一个用户程序是4GB的虚拟内存空间,0-3GB部分是用户管理的,3GB以上的部分是内核态管理的的。
这些在内核的源码上都有的,只要读一下源码就差不多了解了
内核的本质,个人认为 应该是一个调度器,调试不同的程序不同的线程之间的平衡运行