五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

簡單分析Linux內(nèi)核基礎(chǔ)篇——initcall

2023-03-21 15:28 作者:補給站Linux內(nèi)核  | 我要投稿


寫過Linux驅(qū)動的人都知道module_init宏,因為它聲明了一個驅(qū)動的入口函數(shù)。

除了module_init宏,你會發(fā)現(xiàn)在Linux內(nèi)核中有許多的驅(qū)動并沒有使用module_init宏來聲明入口函數(shù),而是看到了許多諸如以下的聲明:

上述舉例的兩個驅(qū)動入口分別使用了device_initcall()arch_initcall()來聲明驅(qū)動入口,這些本質(zhì)上都是對initcall的調(diào)用,module_init也如此。

initcall等級

Linux內(nèi)核對initcall進(jìn)行了等級劃分,每一種類型的initcall都有對應(yīng)等級,等級0-7。

路徑:include/init/init.h

id越小等級越高,Linux會按照等級由高到低順序執(zhí)行:

這么做的目的主要是根據(jù)優(yōu)先級依次對設(shè)備進(jìn)行初始化,例如會先初始化與架構(gòu)相關(guān)的,然后再初始化內(nèi)核子系統(tǒng)。


【文章福利】小編推薦自己的Linux內(nèi)核技術(shù)交流群:【749907784】整理了一些個人覺得比較好的學(xué)習(xí)書籍、視頻資料共享在群文件里面,有需要的可以自行添加哦?。。。ê曨l教程、電子書、實戰(zhàn)項目及代碼)? ??


Linux對initcall的調(diào)用

在Linux啟動時,會依次遍歷所有等級的initcall,以完成一系列的初始化。

initcall的調(diào)用流程:

do_initcalls()函數(shù)中,會遍歷所有等級的initcall,完成初始化。

do_initcall_level()會執(zhí)行對應(yīng)等級下的所有函數(shù):

module_init等級

module_init宏使用的是device_initcall,等級為6

在一些內(nèi)核驅(qū)動中,直接使用了device_initcall()來聲明驅(qū)動入口,其效果與使用module_init是一樣的。

原文作者:嵌入式Linux充電站





簡單分析Linux內(nèi)核基礎(chǔ)篇——initcall的評論 (共 條)

分享到微博請遵守國家法律
乾安县| 丰台区| 吐鲁番市| 蕉岭县| 红桥区| 天柱县| 兴业县| 大方县| 景洪市| 巴中市| 开远市| 互助| 塔城市| 达尔| 丽江市| 西乡县| 皋兰县| 景洪市| 绥中县| 兰坪| 宜君县| 四会市| 炎陵县| 开封市| 土默特左旗| 武乡县| 原平市| 社会| 平塘县| 平度市| 邯郸县| 黔西县| 南涧| 若羌县| 仁寿县| 宁波市| 花莲市| 衡东县| 璧山县| 麟游县| 伊吾县|