操作系统的功能就是抽象硬件的详细细节。通过操作系统的应用程序接口API向应用程序的编写者提供系统服务。
内核(kernel)是操作系统的内部核心程序。它向外部提供了对计算机系统资源进行请求和管理的调用接口和服务。

 

内核以外的被称为外部管理程序。

两者共同构成了操作系统。通常,一个程序会跨越两个空间(内核空间和外部空间)。当运行到内核空间的一段代码时,成程序或者cpu处于内核态。运行到外部空间称为处于用户态。