Android培训班(109)start_kernel函数6

setup_command_line(command_line)

这个函数主要作用是保存命令行,以便后面可以使用。



unwind_setup()

这个函数主要作用是对调用栈的调试功能进一步初始化。在ARM系统里是空函数。



setup_per_cpu_areas()

这个函数主要作用是设置SMP体系每个CPU使用的内存空间,同时拷贝初始化段里数据。



setup_nr_cpu_ids()

这个函数主要作用是设置最多有多少个nr_cpu_ids结构。



smp_prepare_boot_cpu()

这个函数主要作用是为SMP系统里引导CPU进行准备工作。在ARM系统单核里是空函数。



sched_init()

这个函数主要作用是对进程调度器进行初始化,比如分配调度器占用的内存,初始化任务队列,设置当前任务的空线程,当前任务的调度策略为CFS调度器。



preempt_disable()

这个函数主要作用是关闭优先级调度。由于每个进程任务都有优先级,目前系统还没有完全初始化,还不能打开优先级调度。



build_all_zonelists()

这个函数主要作用是初始化所有内存管理节点列表,以便后面进行内存管理初始化。



page_alloc_init()

这个函数主要作用是设置内存页分配通知器。



printk(KERN_NOTICE"Kernel command line: %s\n", boot_command_line)

这行代码主要作用是输出命令参数到显示终端。



parse_early_param()

这个函数主要作用是分析命令行最早使用的参数。

你可能感兴趣的:(Android培训班(109)start_kernel函数6)