内核应用层---是建立在基础层之上的功能性系统。
在本书中,内核应用层指的是文件系统、设备、驱动以及网络。内核代码虽然庞杂,但是核心的基础层并不庞大,主要是应用层占据了大部分代码。
下图展示了内核各部分的代码统计数据:
TYEP | COUNT | PER CENT |
---|---|---|
Driver | 3301081 | 51.6 |
Architectures | 1258638 | 19.7 |
FileSystems | 544871 | 8.5 |
Networking | 376716 | 5.9 |
Sound | 356180 | 5.6 |
Include | 320078 | 5.0 |
Kernel | 74503 | 1.2 |
Memory Mgmt | 36321 | 0.6 |
Cryptography | 32769 | 0.5 |
Security | 25303 | 0.4 |
Other | 72780 | 1.1 |
可以计算出,驱动、文件系统和网络占了内核代码的绝大部分,而代表基础层的kernel和内存管理实际上只有很少的代码量。 Architecture属于内核的基础层,它是为适配不同的代码,对于某种CPU来说,实际上的代码量也大大减少了。