(27)本條目開始, 開始分析 copy_process () 函數,其又會調用別的函數,故先分析別的函數。 get_free_page () ;
先 介紹匯編指令 scasb :
以及 指令 sstosd :
以及 get_free_page 的源碼注釋:
(28) 接著介紹全局變量,指向當前進程的 task_struct 的指針 current :
(29) 接著介紹另一個全局變量 jiffies , 記錄開機到現在的滴答數,每 10 ms :
(30) 接著介紹另一個函數 sched . h / get_limit ( 段選擇子 ) , 返回選擇子指定的段的段長度:
(31)再給出另一個函數 get_base ( 段描述符) 的源代碼,計算段描述符中的基地址:
(32) 接著介紹生成 新進程的 TCB 中的 LDT 表中的描述符的函數 _set_base ( 描述符地址 , 段的基地址 ) :
(33)接著介紹頁目錄表和頁表的屬性位,這關系到為新進程創建頁目錄結構:
+
(34)
謝謝