系统调用接口:位于最上层,实现了一些基本的功能,如read和write等系统调用。这是用户空间程序与内核交互的接口,提供了对内核功能的访问。
内核代码:位于系统调用接口之下,可以看作是独立于体系结构的通用内核代码。这部分代码是所有处理器体系结构所共用的,与特定的硬件平台无关。
体系结构相关的代码:位于内核代码之下,构成了特定处理器体系结构的处理器和特定平台的代码。这部分通常被称为BSP(Board Support Package),用于支持给定的处理器和硬件平台。
Linux内核同时实现了许多重要的体系结构特性,并划分为多个子系统。整个内核将这些基本服务集成在一起。与微内核不同,微内核只提供基本的服务,如通信、I/O、内存和进程管理,更具体的服务则插入到微内核层中。
Linux内核在内存和CPU使用方面效率高,并且非常稳定。尽管具有复杂性和大小,但仍然具有良好的可移植性。编译后的Linux内核可以在多种处理器和平台上运行,包括具有内存管理单元(MMU)和没有MMU的处理器。
对于没有MMU的处理器,Linux内核的uClinux移植提供了支持。它是针对没有MMU的嵌入式系统的一种特殊版本,可以在资源有限的硬件平台上运行。