一、内核的定义
- 底层驱动
Kernel是整个操作系统的最底层,它负责整个硬件的驱动,以及提供各种系统所需的核心功能,包括防火墙机制、是否支持LVM或Quota等文件系统等,如果内核不认识某个最新的硬件,那么硬件也就无法被驱动,你也就无法使用该硬件。 - 芯片控制
计算机真正工作的东西其实是硬件,例如数值运算要使用到CPU、数据存储要使用到硬盘、图形显示会用到显示适配器、音乐发声要有音效芯片、连接Internet可能需要网卡等等。内核就是控制这些芯片如何工作。
二、 Linux操作系统的三层模型
- 最底层的硬件系统,包括CPU、内存、硬盘、网卡等
- 硬件系统之上是内核,这是操作系统的核心,负责管理硬件系统,同时为上层的应用程序提供操作接口
- 用户进程在这表示计算机中运行的所有程序,他们运行于用户空间,由内核统计管理。
三、Linux内核的任务
- 从技术层面讲,内核是硬件与软件之间的一个中间层。作用是将应用层序的请求传递给硬件,并充当底层驱动程序,对系统中的各种设备和组件进行寻址。
- 从应用程序的层面讲,应用程序与硬件没有联系,只与内核有联系,内核是应用程序知道的层次中的最底层。
- 内核是一个资源管理程序。负责将可用的共享资源(CPU时间、磁盘空间、网络连接等)分配得到各个系统进程。
- 内核就像一个库,提供了一组面向系统的命令。系统调用对于应用程序来说,就像调用普通函数一样。