红联Linux门户
Linux帮助

linux study -kernel bootup

发布时间:2008-03-13 15:58:08来源:红联作者:Whretofi
Linux内核启动流程

系统加电后 : bootloader启动,进行基本的硬件初始化,然后从RAM中解压kernel到flash中执行,启动内核;

调用start_kerne函数,处理任务如下:

设置内存边界(setup_arch),初始化内存界面(setup_arch->paging_int);

分析命令行语法(parse_options);

初始化陷阱,中断通道,和调度;

初始化设备(软中断,控制台);

校对延迟循环等 calibrate_delay;

start_kernel 最后调用rest_init()的作用:

开辟内核线程init (kernel_thread->init);

调用unlock_kernel(unlock_kernel);

建立内核运行的 cpu_idle循环(cpu_idle),如果没有调度就一直死循环;

初始化进程init,是内核的第一个进程。Init进程运行后系统内核就不直接控制程序的运行了,而是为进程提供系统调用和中断处理。
文章评论

共有 0 条评论