在start_kernel()函数中,
对于I386平台
i386平台上的内核启动过程与此基本相同,所不同的主要是实现方式。
对于2.4.x版内核外设初始化--内核引导第二部分init()函数作为核心线程,首先锁定内核(仅对SMP机器有效),然后调用do_basic_setup()完成外设及其驱动程序的加载和初始化。过程如下:
2.4.x中变化比较大,但基本过程没变,变动的是各个数据结构的具体实现,比如Cache。
对于I386平台
基本相同。
对于2.4.x版内核
这一部分的启动过程在2.4.x内核中简化了不少,缺省的独立初始化过程只剩下网络(sock_init())和创建事件管理核心线程,而其他所需要的初始化都使用__initcall()宏包含在do_initcalls()函数中启动执行。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |