[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 系統管理 > FreeBSD > 正文
FreeBSD 4.0 Kernel Hacking Guide--kern/init_main.c
http://cnpa.yzu.edu.tw/~thinker :(Thinker; Thinker.bbs@bbs.yzu.edu.tw) (2001-06-02 22:08:00)
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行, 定
義之次序執行.


(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
FreeBSD 4.0 Kernel Hacking Guide--vm/vm_object.c (2001-06-03 09:04:01)
FreeBSD 4.0 Kernel Hacking Guide--vm/vm_page.c (2001-06-03 08:10:00)
FreeBSD 4.0 Kernel Hacking Guide--vm/vm_init.c (2001-06-03 07:00:00)
FreeBSD 4.0 Kernel Hacking Guide--kern/init_main.c (2001-06-02 22:08:00)
FreeBSD 4.0 Kernel Hacking Guide--i386/i386/pmap.c (2001-06-02 21:04:00)
FreeBSD 4.0 Kernel Hacking Guide--i386/i386/machdep.c (2001-06-02 20:10:01)
FreeBSD 4.0 Kernel Hacking Guide--i386/i386/locore.s (2001-06-02 19:00:00)
 

★  樊強制作 歡迎分享  ★