荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: jjk (Welcome to InstallBBS,Linux!), 信区: Linux
标  题: Kernel Hacking Guide(4)
发信站: 荔园晨风BBS站 (Thu Dec 13 19:52:15 2001), 转信

【 以下文字转载自 jjk 的信箱 】
【 原文由 jjksam@smth.org 所发表 】
发信人: gracewind (和风), 信区: FreeBSD
标  题: Kernel Hacking Guide(4)
发信站: BBS 水木清华站 (Wed Dec 12 09:39:03 2001)

kern/init_main.c
執行 sub-system 的初始.

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

--
             《金陵酒肆留别》

       风吹柳花满店香,吴姬压酒唤客尝。
          金陵子弟来相送,欲行不行各尽觞。
          请君试问东流水,别意与之谁短长。


※ 来源:·BBS 水木清华站 smth.org·[FROM: 210.28.216.9]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.146]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店