linux内核initcall放置在各个section中函数执行流程

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享
免费资源网 – https://freexyz.cn/

前言

linux以及嵌入式一些代码,我们看到core_initcall、device_initcall等等需要链接器分配各个section,并且在启动该模块时候执行。下面我们详细追溯一下执行过程。

作者:良知犹存

转载授权以及围观:欢迎关注微信公众号:羽林君

或者添加作者个人微信:become_me

正文

fs_initcall函数介绍:

linux内核initcall放置在各个section中函数执行流程插图

Linux内核中的fs_initcall函数:用于在引导过程中进行文件系统等初始化。

初始化注册:

当文件系统模块被加载时,它使用fs_initcall宏注册其初始化函数。
该宏将初始化函数添加到__initcall_fs部分。

内核引导过程:

在引导过程中,在基本硬件初始化和内存设置之后,内核开始执行初始化函数。

执行fs_initcall函数:

fs_initcall函数按照其注册顺序依次执行。
这些函数初始化各种文件系统并执行必要的设置任务。

文件系统初始化:

每个fs_initcall函数负责设置和初始化特定的内容。
这可能涉及初始化数据结构、注册文件系统类型、准备缓存和其他相关任务。

完成和交接:

一旦所有fs_initcall函数都执行完毕,内核会继续完成引导过程,包括启动用户空间和初始化设备。

下面是一个简单的示例代码,展示了fs_initcall函数的使用和文件系统初始化的过程:

#include


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容