linux内核入口函数start_kernal

start_kernel函数内容很多,在此只对我比较熟悉的函数进行简要注释

start_kernel
          |...
          |->setup_arch(&command_line) //架构相关的初始化,此函数会解析传递进来的设备树
          |->pidhash_init() //构建 PID 哈希表,通过构建哈希表可以快速搜索进程信息结构体
          |->console_init() //初始化控制台
          |...
          |->vfs_caches_init_early() //预先初始化vfs(虚拟文件系统)的目录项和索引节点缓存
          |...
          |->sched_init() //初始化调度器,主要是初始化一些结构体
          |->rest_init()
                      |...
                      |->kernel_thread(kernel_init, NULL, CLONE_FS);
                      |...
kernel_init
          |...
          |->kernel_init_freeable()         
          |...               |->do_basic_setup()
                                          |->do_initcalls() //大多数设备驱动在此初始化
          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值