嵌入式系统第二讲研嵌入式Linux开发环境.ppt

嵌入式系统第二讲研嵌入式Linux开发环境

内核启动第2阶段 init_IRQ();//初始化系统IRQ sched_init(); //进程调度机制的初始化 ……. console_init(); //控制台设备的初始化 fork_init(mempages);// 根据系统物理内存的大小计算运行创建线程(包括进程)的数量。 …… 内核启动第2阶段 最后,在rest_init()中调用kernel_thread()产生产生第一个核心线程init(位于linux/init/main.c),然后调用cpu_idle(),等待系统调度init线程,从而完成KERNEL的启动过程。 内核启动第2阶段 — init()函数 init()函数主要完成如下工作: do_basic_setup():完成外设及其驱动程序的加载和初始化。 prepare_namespace:为系统准备好命名空间,并挂载根文件系统。 execve():在/sbin、/etc、/bin目录下查找init程序并执行。 内核启动第2阶段 源代码 内核启动第二阶段源代码位于: linux/init/main.c 内核启动第3阶段 内核启动第二阶段完成后,一般会在/sbin、/etc、/bin等目录下查找init程序并执行,init的执行过程如下: init从配置文件/etc/inittab中获取所有信息; /etc/initta

文档评论(0)

1亿VIP精品文档

相关文档