linux内核的中心是文件init/main.c。
在底层架构相关的设置完成之后立刻调用了start_kernel函数。start_kernel函数就位于init/main.c。
kernel代码执行顺序大致如下:
架构相关 ( arch / * /) ---> 函数start_kernel() (init/main.c) ---> 函数init( init/main.c ) ---> 启动用户进程init
架构相关:
-.解压和移动内核代码本身
-.初始化硬件(包括设置底层内存管理)
-.把控制权交给start_kernel
start_kernel():
-.打印内核版本信息,初始化命令行
-.初始化终端输出设备
-.开启中断