多处理器平台下Linux 2.6启动过程中的位图分析
2010-09-21陈小兰
成都信息工程大学学报 2010年1期
关键词:设置
陈小兰, 杨 斌
(西南交通大学信息科学与技术学院,四川成都 610031)
1 引言
顺应对称多处理器(Symmetric Multi-Processor,SMP)及多核的出现,Linux操作系统经过不断地完善和发展,早就针对SMP体系结构作了很大的改动,实现了对多处理器的支持,但目前针对多处理及多核平台的系统移植及多核平台的应用程序多核化还存大很大的空白,因此有必要深入理解内核级的多处理器支持。位图是内核中进行操作系统资源管理分配的重要手段之一,文中分析的多处理器平台下Linux 2.6启动过程中的位图,就是希望能为多处理及多核平台的系统移植及多核平台的应用程序开发提供一些指导。
分析基于Intel X86 SMP体系结构,Linux操作系统内核为2.6.10。
2 Linux下的位图及类型
2.1 单处理器结构下Linux中的位图及类型
位图是Linux内核中一个32位的全局变量,其中的每一位对应一种状态,在单处理器结构下,位图主要用于调度、内存管理等,以更快地索引当前应投入运行的任务或是查找空闲块等。
2.2 多处理器结构下Linux中的位图及类型
在多处理器结构下也有上述单处理器结构中的位图,但却增加了与多处理器启动过程相关的位图,这些位图是Linux内核中32位的全局CPU变量,其中每一位都与某一个特定的CPU相对应,分别对应0和1两种状态,但所起的作用在多处理器启动过程中的不同阶段却各不相同。随着Linux操作系统对SMP支持的不断完善和发展,2.6版本的内核中还增加了新的和SMP启动相关的位图,所有这些位图都将在下面进行详细分析。……
登录APP查看全文
