我想知道Linux内核架构和平台之间的区别。当我下载最新的内核时tarball
,观察到一个以 arch 命名的目录,它包含不同名称的处理器,并且在任何一个处理器目录中又有一个名为 platform 的目录。
例如:-
/arch/powerpc
是 Linux 内核中 arch 下的目录 &/arch/powerpc/platforms
是powerpc
.
那么,这实际上意味着什么呢?
谁能从硬件角度到软件角度详细解释一下?
答案1
架构是处理器类型。架构的数量相对较少。执行相同用户代码的所有处理器类型都被归类为相同的体系结构,即使可能有多种不同的方式来编译内核;例如,x86
它们powerpc
是单一架构,但内核可以使用32位指令集或64位指令集进行编译(32位内核只能执行32位程序,而64位内核可以执行32 位和 64 位程序)。
平台描述了 Linux 关心的硬件的所有其他方面。这包括启动方式的变化、某些外设(例如内存控制器、电源管理协处理器、加密加速器等)的工作方式等。功能是否根据平台进行分类或作为单独的驱动程序或编译选项,部分取决于该功能的基础性(即隔离使用该功能的代码的难度),部分取决于编写支持该功能的代码的人如何决定这样做。