日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

FreeBSD 4.0 Kernel Hacking Guide--kern/init_main.c

kern/init_main.c

mi_startup(), 171行. 由 locore 呼叫, locore 為 kernel binary 最先被執(zhí)行
的程式區(qū)段. locore 對機(jī)器環(huán)境進(jìn)行初始, 準(zhǔn)備一個讓 kernel 可以
順利執(zhí)行的環(huán)境, 例如準(zhǔn)備一個可以讓 gcc compile 的式碼執(zhí)行的
環(huán)境. 在 locore 的最後會呼叫, mi_startup(). mi_startup() 利
用 linker 會主動將同一 section 的資料組合成連續(xù)區(qū)塊的特性, 收
集所有 sub-system 的 initial function. 這部分功能由 Macro
SYSINIT(), sys/kernel.h, 225行, 達(dá)成. mi_startup 依據(jù)收集到
的資料, 依其順序執(zhí)行各 sub-system 的 initial function. 各個
sub-system 的執(zhí)行順序定義在 sysinit_sub_id, sys/kernel.h, 107行,
mi_startup 從小到大依序執(zhí)行. 同一 sub-system 若有多個 initial
function, 則由 sysinit_elem_order, sys/kernel.h, 163行, 定
義之次序執(zhí)行.

    推薦閱讀