Linux启动过程中init/main.c中的start_kernel()函数中的lock_kernel()函数

2014-11-24 12:37:52 · 作者: · 浏览: 2

//判断内核是否支持内核锁
//而s3c2410中arch/arm/configs/s3c2410的Code maturity level options下没有定义,所以lock_kernel()什么也不做


//如果定义了CONFIG_LOCK_KERNEL,则转到下面代码


//判断是使用big kernel semaphore还是big kernel lock
//而s3c2410中arch/arm/configs/s3c2410中没有定义


//使用big kernel lock的情况下,判断内核是否支持抢占式调度,支持则执行下面的代码
//而我们使用的s3c2410是单处理器的,不存在多个CPU竞争资源的情况,所以不需要用大内核锁/信号量来解决资源竞争的问题
//CONFIG_PREEMPT在arch/arm/configs/s3c2410_deconfig中Kernel Features下,在s3c2410中定义为# CONFIG_PREEMPT is not set